NNabla:索尼開源的一款神經(jīng)網(wǎng)絡框架
NNabla是一款用于研究、開發(fā)和生產(chǎn)的深度學習框架。NNabla的目標是要能在臺式電腦、HPC集群、嵌入式設備和生產(chǎn)服務器上都能運行。
安裝
安裝NNabla很簡單:
這條命令將安裝NNabla的CPU版本。你還可以通過執(zhí)行pip install nnabla-ext-cuda來安裝CUDA擴展以添加GPU加速。
特點
容易、靈活和富有表現(xiàn)力
基于NNabla C++ 11內(nèi)核的Python API為你提供了強大的靈活性和高效的生產(chǎn)力。例如,下面的5行代碼定義了一個具有分類損失的雙層神經(jīng)網(wǎng)絡(超參數(shù)用<>括了起來)。
可以通過以下方式來完成訓練:
動態(tài)計算圖能夠實現(xiàn)靈活的運行時網(wǎng)絡構建。 NNabla可以同時使用靜態(tài)和動態(tài)圖范式,并且兩者使用相同的API。
便攜性和多平臺支持
- Python API可以在Linux和Windows上使用
- 大多數(shù)庫代碼都是用C++ 11編寫的,可以部署到嵌入式設備上
可擴展性
- 可以很容易地添加新的模塊,如神經(jīng)網(wǎng)絡運算符和優(yōu)化器。
- 該庫允許開發(fā)人員添加專門的實現(xiàn)(例如,針對FPGA的實現(xiàn))。例如,我們提供了CUDA后端擴展,它利用GPU加速來提高運算速度。
高效
- 單個CUDA GPU上的高速度
- 內(nèi)存優(yōu)化引擎
- 多GPU支持(即將推出)
文檔
https://nnabla.readthedocs.org
安裝
https://nnabla.readthedocs.io/en/latest/python/installation.html
入門
- 在tutorial目錄中可以找到一些Jupyter Notebook教程。 我們建議從by_examples.ipynb這個實例開始學習。另外,在python_api.ipynb中介紹了NNabla的API。
- 我們還在examples目錄中提供了一些更復雜的例子。