このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
MATLAB Coder を使用した深層学習の前提条件
MathWorks 製品
MATLAB® Coder™ を使用して深層学習ネットワークのコードを生成するには、次もインストールしなければなりません。
Deep Learning Toolbox™
MATLAB Coder Interface for Deep Learning
サードパーティ ライブラリを使用しないコードの生成
MATLAB Coder を使用して、深層学習ネットワークの汎用 C または C++ コードを生成できます。このような C または C++ コードは、どのサードパーティ ライブラリにも依存しません。詳細については、深層学習ネットワーク向けの汎用 C/C++ コードの生成を参照してください。
MATLAB Coder では、サポートされているインストール済みのコンパイラが検索されて使用されます。サポートされているコンパイラのリストについては、MathWorks® Web サイトのサポートされるコンパイラを参照してください。
mex -setup
を使用して既定のコンパイラを変更できます。既定のコンパイラの変更を参照してください。
C++ コンパイラで C++11 がサポートされていなければなりません。
Windows® で、どのサードパーティ ライブラリも使用しない汎用 C または C++ コードを生成するには、Microsoft® Visual Studio® または MinGW® コンパイラを使用します。
サードパーティ ライブラリを使用するコードの生成
MATLAB Coder を使用して、Intel® または ARM® プロセッサに展開する深層学習ネットワークの C++ コードを生成できます。生成されたコードは、ターゲット CPU 用に最適化された深層学習ライブラリを利用します。ハードウェアとソフトウェアの要件はターゲット プラットフォームによって決まります。
メモ
必要なソフトウェア ライブラリへのパスは、スペースや、かっこなどの特殊文字を含むことはできません。Windows オペレーティング システムでは、特殊文字やスペースは 8.3 ファイル名が有効になっている場合にのみ使用できます。8.3 ファイル名の詳細については、Windows のドキュメントを参照してください。
ハードウェアとソフトウェアの要件
Intel CPU | ARM Cortex-A CPU | ARM Cortex-M CPU | |
---|---|---|---|
ハードウェア要件 | Intel Advanced Vector Extensions 2 (Intel |
| ARM Cortex-M プロセッサ。 |
ソフトウェア ライブラリ | Intel Math Kernel Library for Deep Neural Networks (MKL-DNN), v1.4。https://01.org/onednnを参照してください。 一部の必要なファイルが不足しているため、プリビルド ライブラリは使用しないでください。代わりに、ソース コードからライブラリをビルドします。GitHub® でのライブラリのビルド手順を参照してください。 ビルドの詳細については、MATLAB Answers™: https://www.mathworks.com/matlabcentral/answers/447387-matlab-coder-how-do-i-build-the-intel-mkl-dnn-library-for-deep-learning-c-code-generation-and-depの投稿を参照してください。 使用に関するメモ:
| コンピューター ビジョンと機械学習用の ARM Compute Library、Version 19.05 および 20.02.1。https://developer.arm.com/ip-products/processors/machine-learning/compute-libraryを参照してください。 バージョン番号を ARM ハードウェアではコンパイラとの互換性がない可能性があるため、プリビルド ライブラリは使用しないでください。代わりに、ソース コードからライブラリをビルドします。ホスト マシン上またはターゲット ハードウェア上で直接ライブラリをビルドします。GitHub でのライブラリのビルド手順を参照してください。
ビルドの詳細については、MATLAB Answers: https://www.mathworks.com/matlabcentral/answers/455590-matlab-coder-how-do-i-build-the-arm-compute-library-for-deep-learning-c-code-generation-and-deploの投稿を参照してください。 8 ビット整数で推論の計算を実行する生成コードを ARM プロセッサに展開するには、ARM Compute Library version 20.02.1 を使用しなければなりません。 | CMSIS-NN ライブラリ version 5.7.0。https://developer.arm.com/tools-and-software/embedded/cmsisを参照してください。 以下に記載されているビルド ステップを使用してホスト マシン上でライブラリをビルドします。
|
オペレーティング システムのサポート | Windows、Linux® および macOS。 | Windows および Linux のみ。 | Windows および Linux のみ。 |
サポートされるコンパイラ | MATLAB Coder では、サポートされているインストール済みのコンパイラが検索されて使用されます。サポートされているコンパイラのリストについては、MathWorks Web サイトのサポートされるコンパイラを参照してください。
C++ コンパイラで C++11 がサポートされていなければなりません。 Windows で、 メモ Windows では、Intel MKL-DNN ライブラリを使用する MEX 関数を生成する場合、MinGW コンパイラはサポートされません。 | ||
その他 | ARM Cortex-A ベースの深層学習例には、Open Source Computer Vision Library (OpenCV) v3.1.0 が必要です。 メモ: 例には 詳細については、OpenCV のドキュメントを参照してください。 |
環境変数
MATLAB Coder は、環境変数を使用して深層学習ネットワークのコード生成に必要なライブラリを見つけます。
プラットフォーム | 変数名 | 説明 |
---|---|---|
Windows | INTEL_MKLDNN | Intel MKL-DNN ライブラリ インストールのルート フォルダーへのパス。 以下に例を示します。
|
ARM_COMPUTELIB | ARM ターゲット ハードウェアにインストールされる ARM Compute Library のルート フォルダーへのパス。 以下に例を示します。
ARM ターゲット ハードウェアで | |
CMSISNN_PATH | ARM ターゲット ハードウェアにインストールされる CMSIS-NN ライブラリのルート フォルダーへのパス。 次に例を示します。
ARM ターゲット ハードウェアで | |
PATH | Intel MKL-DNN ライブラリ フォルダーへのパス。 以下に例を示します。
| |
Linux | LD_LIBRARY_PATH | Intel MKL-DNN ライブラリ フォルダーへのパス。 以下に例を示します。
|
ターゲット ハードウェアの ARM Compute Library フォルダーへのパス。 以下に例を示します。
ARM ターゲット ハードウェアで | ||
INTEL_MKLDNN | Intel MKL-DNN ライブラリ インストールのルート フォルダーへのパス。 以下に例を示します。
| |
ARM_COMPUTELIB | ARM ターゲット ハードウェアにインストールされる ARM Compute Library のルート フォルダーへのパス。 以下に例を示します。
ARM ターゲット ハードウェアで | |
CMSISNN_PATH | ARM ターゲット ハードウェアにインストールされる CMSIS-NN ライブラリのルート フォルダーへのパス。 次に例を示します。
ARM ターゲット ハードウェアで | |
macOS | INTEL_MKLDNN | Intel MKL-DNN ライブラリ インストールのルート フォルダーへのパス。 以下に例を示します。
|
ARM Cortex-A ターゲット上の UNIX® ベースの OS | OPENCV_DIR | OpenCV のビルド フォルダーへのパス。OpenCV を使用する深層学習例のために、OpenCV をインストールします。 以下に例を示します。
|
メモ
MATLAB Support Package for Raspberry Pi® Hardware を使用して Raspberry Pi 向けのコードを生成するには、環境変数を非対話型で設定しなければなりません。詳細についてはhttps://www.mathworks.com/matlabcentral/answers/455591-matlab-coder-how-do-i-setup-the-environment-variables-on-arm-targets-to-point-to-the-arm-compute-liを参照してください。
メモ
OpenCV を使用する例を作成して実行するには、ターゲット ボードに OpenCV ライブラリをインストールしなければなりません。Linux に OpenCV をインストールする場合は、ライブラリ ファイルへのパスと、ヘッダー ファイルへのパスがシステム パスにあることを確認してください。既定では、ライブラリ ファイルとヘッダー ファイルは /usr/local/lib/
や /usr/local/include/opencv
などの標準の場所にそれぞれインストールされます。
ターゲット ボードに OpenCV をインストールする場合は、前の表で説明しているように環境変数 OPENCV_DIR
と PATH
を設定します。
メモ
OpenMP スレッドのバインディングを制御する環境変数を物理処理装置に設定することで、Intel CPU 用に生成されたコードのパフォーマンスを改善できる場合があります。たとえば、Linux プラットフォームで、KMP_AFFINITY
環境変数を scatter
に設定します。Intel CPU を使用する他のプラットフォームの場合は、同様の環境変数を使用して、生成されたコードのパフォーマンスを改善できる場合があります。