DeepLearning4J(DL4J)是一套基於Java語言的神經網絡工具包,可以構建、定型和部署神經網絡。DL4J與Hadoop和Spark集成,支持分佈式CPU和GPU,為商業環境(而非研究工具目的)所設計。Skymind是DL4J的商業支持機構。
Deeplearning4j擁有先進的技術,以即插即用為目標,通過更多預設的使用,避免多餘的配置,讓非企業也能夠進行快速的原型製作。DL4J同時可以規模化定製。DL4J遵循Apache 2.0許可協議,一切以其為基礎的衍生作品均屬於衍生作品的作者。
功能介紹
Deeplearning4j包括了分佈式、多線程的深度學習框架,以及普通的單線程深度學習框架。定型過程以集群進行,也就是說,Deeplearning4j可以快速處理大量數據。神經網絡可通過[迭代化簡]平行定型,與 Java、 Scala 和 Clojure 均兼容。Deeplearning4j在開放堆棧中作為模塊組件的功能,使之成為首個為微服務架構打造的深度學習框架。
兼容以下分佈式框架:
- Cloudera CDH
- Hortonworks HDP
- NVIDIA DGXs
- Hadoop
- Hadoop Yarn
- Apache Spark
- Apache Flink
- Apache Storm
- Canonical
- Reacive Platform
支持構建以下神經網絡:
- 受限玻爾茲曼機
- 卷積網絡
- 循環網絡/LSTMs
- 深度置信網絡
- 深度自動編碼器
- 遞歸神經傳感器網絡
- 堆疊式降噪自動編碼器
- 深度強化學習
其他特性:
- 支持分佈式GPUs
- 可通過Keras導入Python模型
- 提供豐富的DL4J示例
核心組件介紹
下圖展示了DL4J各個庫在系統整體中所處的位置:
DATAVEC組件:用於數據的攝取、清理、連接、縮放、標準化和轉換的工具包,數據科學家或者開發人員可通過其中工具將原始圖像、視頻、聲音、文本和時間序列等數據轉換為特徵向量,輸入神經網絡。
DL4J組件:用於設計神經網絡,是DL4J的中心組件。DL4J的JavaDoc可以通過一下命令網址獲取:https://deeplearning4j.org/doc/
ND4J組件:是DL4J的數值處理庫和張量庫,在Jvm中實現Numpy功能。
ND4J 是 Java 科學運算引擎,用來驅動矩陣操作。JavaCPP功能: Java 到 Objective-C 的橋,可像其他 Java 對象一樣來使用 Objective-C 對象。CPU 後瑞:OpenMP、OpenBlas 或 MKL、與SIMD的擴展。GPU 後瑞:最新CUDA 及 CuDNN。ND4J的JavaDoc可在此處(http://nd4j.org/doc/)獲取。ND4J示例請見此處(https://github.com/deeplearning4j/dl4j-examples/tree/master/nd4j-examples)。ARBITER組件:Arbiter幫助您搜索超參數空間,為神經網絡尋找最理想的參數組合及架構:
提供深度學習模型檢測、評估器 能夠調整及優化機器學習模型使用Grid search和Random Search 作超參數尋優開源工具 ASF 2.0許可證:github.com/deeplearning4j/Arbiterarbiter-core:Aribter-core用網格搜索等算法來搜索超參數空間。它會提供一個GUI界面。arbiter-deeplearning4j:Arbiter可以同DL4J模型互動。在進行模型搜索時,您需要能運行模型。這樣可以對模型進行試點,進而找出最佳的模型。其他組件介紹
Keras Model Import(Keras模型導入)幫助用戶將已定型的Python和Keras模型導入DeepLearning4J和Java環境。參考https://deeplearning4j.org/cn/index.html#modelimportDL4J-Examples(DL4J示例)包含圖像、時間序列及文本數據分類與聚類的工作示例。Github 上的DL4J 實例(https://github.com/deeplearning4j/dl4j-examples)ScalNet是受Keras啟發而為Deeplearning4j開發的Scala語言包裝。它通過Spark在多個GPU上運行。ScalNet針對Scala語言開發,功能相當於Keras。它是DeepLearning4J的Scala語言包裝,可以在多個GPU上運行Spark。Github上的ScalNet代碼庫(https://github.com/deeplearning4j/ScalNet) RL4J用於在JVM上實現深度Q學習、A3C及其他強化學習算法。RL4J是在Java中實現深度Q學習、A3C及其他強化學習算法的庫和環境,與DL4J和ND4J相集成。Github代碼庫:RL4J(https://github.com/deeplearning4j/rl4j)Gym集成(https://github.com/deeplearning4j/rl4j/tree/master/rl4j-gym)RL4J玩《Doom》(https://github.com/deeplearning4j/rl4j/tree/master/rl4j-gym)
本節完!
文章參考自:DL4J中文網站:https://deeplearning4j.org/cn/index.html
閱讀更多 從大數據到人工智能
的文章
關鍵字:
Obj
Hadoop
GPU