プロジェクトの中止。このプロジェクトはインテルによって維持されなくなります。インテルは、メンテナンス、バグ修正、新規リリースまたはアップデートを含むがこれらに限定されない、このプロジェクトの開発またはサポートを提供または保証しません。このプロジェクトへのパッチはインテルによって受け入れられなくなりました。このプロジェクトを継続的に使用する必要がある場合、独自に開発することに興味がある場合、またはコミュニティ向けにパッチを保守したい場合は、プロジェクトの独自のフォークを作成してください。
neon は、すべてのハードウェアで最高のパフォーマンスを提供するインテルのリファレンス深層学習フレームワークです。使いやすさと拡張性を考慮して設計されています。
高速な反復とモデル探索の場合、neon は深層学習ライブラリの中で最も速いパフォーマンスを発揮します (cuDNNv4 の 2 倍の速度、ベンチマークを参照)。
Intel Nervana では、社内でネオンを使用して、多くのドメインにわたるお客様の問題を解決しています。当社では複数の職種にまたがる人材を募集しています。お申込みはこちらから!
最新リリースの新機能をご覧ください。 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 の master ブランチは毎週更新され、次のリリースに向けた進行中の作業が行われます。安定したリリースについては、リリース タグ (「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 ファイルで特定のバックエンドを選択するには、mkl バックエンドを有効にする場合は backend backend: mkl
、cpu バックエンドを有効にする場合はbackend: cpu
を含む行を追加または変更します。 GPU が使用可能な場合、デフォルトで GPU バックエンドが選択されます。
インテル マス カーネル ライブラリは、インテル Xeon および Xeon Phi システムの並列化およびベクトル化機能を利用します。システムでハイパースレッディングが有効になっている場合は、並列スレッドが使用可能な物理コアに 1:1 でマッピングされるように、次の KMP_AFFINITY 設定を推奨します。
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-users Google グループにメッセージを投稿してください。
私たちはオープンソースの Apache 2.0 ライセンスに基づいて neon をリリースしています。ユースケースについてのご連絡をお待ちしております。