項目終止。英特爾將不再維護該項目。英特爾不會提供或保證該專案的開發或支持,包括但不限於維護、錯誤修復、新版本或更新。英特爾不再接受該項目的補丁。如果您持續需要使用該項目,有興趣獨立開發它,或想為社區維護補丁,請建立您自己的專案分支。
neon 是英特爾的參考深度學習框架,致力於在所有硬體上實現最佳效能。專為易用性和可擴展性而設計。
對於快速迭代和模型探索,neon 在深度學習庫中具有最快的效能(速度是 cuDNNv4 的 2 倍,請參閱基準測試)。
我們在 Intel Nervana 內部使用 neon 來解決客戶在多個領域的問題。我們正在招募多個職位。在這裡申請!
查看我們最新版本的新功能。我們想強調的是,neon v2.0.0+ 已透過啟用英特爾數學核心函數庫 (MKL) 進行了最佳化,以在 CPU 上實現更好的效能。 neon 使用的 MKL 的 DNN(深度神經網路)元件是免費提供的,並作為 neon 安裝的一部分自動下載。
在 Mac OSX 或 Linux 電腦上,輸入以下命令下載並安裝 neon(conda 使用者請參閱指南),並使用它來訓練您的第一個多層感知器。若要強制安裝 python2 或 python3,請將下面的make
替換為make python2
或make python3
。
git clone https://github.com/NervanaSystems/neon.git
cd neon
make
. .venv/bin/activate
從 neon v2.2.0 之後開始,neon 的主分支將每週更新一次,並為下一個版本進行工作。查看發布標籤(例如,「git checkout v2.2.0」)以獲得穩定版本。或只需查看“最新”版本標籤即可獲取最新的穩定版本(即“git checkout 最新”)
從2.4.0版本開始,我們重新啟用了pip install。 Neon 可以使用套件名稱 nervananeon 進行安裝。
pip install nervananeon
需要注意的是,aeon需要單獨安裝。最新版本v2.6.0使用aeon v1.3.0。
警告
在 neon v2.1.0 和 v2.2.0 之間,aeon 清單檔案格式已更改。從 neon < v2.2.0 更新時,必須使用攝取腳本(在範例資料夾中)重新建立清單或使用此腳本進行更新。
python examples/mnist_mlp.py
預設選擇gpu後端,因此上面的指令相當於在系統上找到相容的GPU資源:
python examples/mnist_mlp.py -b gpu
當沒有 GPU 可用時,從 neon v2.1.0 開始,現在預設選擇最佳化的CPU (MKL) 後端,這意味著上述命令現在相當於:
python examples/mnist_mlp.py -b mkl
如果您有興趣將預設 mkl 後端與未最佳化的 CPU 後端進行比較,請使用下列命令:
python examples/mnist_mlp.py -b cpu
或者,可以使用 yaml 檔案來運行範例。
neon examples/mnist_mlp.yaml
若要在 yaml 檔案中選擇特定後端,請新增或修改包含backend: mkl
行以啟用 mkl 後端,或新增或修改backend: cpu
行以啟用 cpu 後端。如果 GPU 可用,則預設選擇 GPU 後端。
英特爾數學內核庫利用英特爾至強和至強融核系統的平行化和向量化功能。當系統上啟用超線程時,我們建議使用以下 KMP_AFFINITY 設置,以確保並行線程 1:1 映射到可用的實體核心。
export OMP_NUM_THREADS= < Number of Physical Cores >
export KMP_AFFINITY=compact,1,0,granularity=fine
或者
export OMP_NUM_THREADS= < Number of Physical Cores >
export KMP_AFFINITY=verbose,granularity=fine,proclist=[0- < Number of Physical Cores > ],explicit
有關 KMP_AFFINITY 的更多信息,請查看此處。我們鼓勵用戶開始嘗試並建立自己的最佳效能設定。
此處提供了 neon 的完整文件。一些有用的起點是:
對於任何錯誤或功能請求,請:
如有其他問題和討論,請向 neon-user Google 群組發布訊息
我們根據開源 Apache 2.0 許可證發布 neon。我們歡迎您與我們聯繫並提供您的用例。