deeplearning4j/deeplearning4j-examples
Deeplearning4j Examples (DL4J, DL4J Spark, DataVec)
本倉儲說明
deeplearning4j-examples 是一系列可直接執行的 Java 程式集合,展示如何使用 Eclipse Deeplearning4J (DL4J) 生態系統。這些範例被組織成小型 Maven 專案,每個專案專注於堆疊的特定部分——高階神經網路 API、資料流程工具、基於 Spark 的分散式訓練、GPU 加速訓練、底層 SameDiff 自動微分函式庫、強化學習(RL4J),甚至包含一個 Android 示範。
適合對象
- 希望不切換語言即可入門深度學習的 Java 開發者。
- 尋找從原始資料到訓練完成模型之完整端對端程式碼的 學生或愛好者。
- 需要參考程式碼處理高階情境(如基於 Spark 的分散式訓練或 GPU 資料平行)的 實務工作者。
專案內容概覽
| 子資料夾 | 重點 | 典型內容 |
|---|---|---|
dl4j-examples |
高階 DL4J API | 從原始資料開始建構並訓練多層感知機、CNN、RNN 等。 |
tensorflow-keras-import-examples |
模型匯入 | 將 Keras 的 .h5 或 TensorFlow 冷凍的 .pb 模型載入到 DL4J 中,進行微調或推論。 |
dl4j-distributed-training-examples |
Spark 結合 | 展示如何使用 DL4J 的混合非同步 SGD 在 Spark 集群上執行訓練、推論與評估。 |
cuda-specific-examples |
多 GPU 訓練 | 展示在一台或多台 CUDA GPU 上進行資料平行訓練以提升速度。 |
samediff-examples |
底層圖 API | 使用 SameDiff(DL4J 對應 TensorFlow 圖模式的實作)建構計算圖。 |
data-pipeline-examples |
DataVec 的 ETL | 加載、分割並預處理影像、CSV、影片等資料,建構可重現的流程。 |
nd4j-ndarray-examples |
NDArray 操作 | 使用 ND4J 的 INDArray 類別展示類似 NumPy 的運算。 |
rl4j-examples |
強化學習 | 使用 RL4J 函式庫建構的簡單強化學習代理。 |
android-examples |
移動端部署 | 一個最小的 Android 應用,可在裝置上執行 DL4J 模型。 |
每個子專案皆包含一個 README,列出各個範例類別,並建議探索順序(由快速入門開始,再進階)。所有範例皆為 Maven 專案;為希望從零開始的新專案使用者提供模板 pom.xml。
如何開始
- 克隆倉儲,並選擇您感興趣的子專案。
- 使用 Maven 建構(
mvn clean compile exec:java或使用您的 IDE)。README 會指向要執行的精確類別。 - 執行程式碼——大多數範例會下載一個小型公開資料集,進行預處理、訓練模型,並列印基本指標。
- 進行實驗——修改超參數、更換資料集或替換層,觀察結果如何變化。
取得協助的途徑
- 官方 DL4J 社群論壇: https://community.konstitut.ai
- 本倉儲的 GitHub 問題(但維護者表示不常監控)。
- 更廣泛的 DL4J 文件網站,用於深入探討每個函式庫元件。
為何重要
DL4J 是在 JVM 上原生執行的最成熟深度學習框架。對於已有 Java/Scala 程式碼庫的組織,或偏好 Java 工具鏈(Maven/Gradle、IDE 支援、靜態類型)的開發者而言,此倉儲提供了在不離開 Java 生態系統的情況下,建構生產級 AI 模型所需的實用「操作指南」。
- 上述所有資訊均直接取自倉儲的 README;未推斷任何額外功能。*
相關
- 專案
- 專案
- 專案
- 專案
- 專案