Main Content

ワークフロー

一般的な畳み込みニューラル ネットワーク (CNN) ワークフローでは、まず、Deep Learning Toolbox™ を使用して CNN アーキテクチャを構築し、Parallel Computing Toolbox™ を併用してネットワークに学習させます。または、大規模なデータセットについて既に学習済みの ConvNet をインポートし、学習済みの特徴を転移できます。転移学習は、1 セットの分類問題について学習済みの CNN を利用し、別のクラスのセットを分類するように再学習させることを意味します。ここでは、CNN の最後の数層を再学習させます。再度、学習フェーズで Parallel Computing Toolbox を使用します。学習済みの CNN ネットワークを Caffe や MatConvNet のような他のフレームワークから SeriesNetwork オブジェクトにインポートすることもできます。

学習済みネットワークを取得したら、GPU Coder™ で C++ または CUDA® のコードを生成して、NVIDIA® または ARM® の GPU プロセッサを使用する複数の組み込みプラットフォーム上の CNN に展開できます。生成コードでは、アーキテクチャを使用した CNN、層、および入力オブジェクト (SeriesNetwork (Deep Learning Toolbox) または DAGNetwork (Deep Learning Toolbox)) で指定したパラメーターが実装されます。

コード ジェネレーターは、NVIDIA CUDA 深層ニューラル ネットワーク ライブラリ (cuDNN)、NVIDIA GPU 向けの NVIDIA TensorRT™ の高性能な推論ライブラリ、および ARM Mali GPU 向けのコンピューター ビジョンおよび機械学習用 ARM Compute Library を利用します。

生成されたコードは、ソース コード、スタティック ライブラリまたはダイナミック ライブラリ、あるいは NVIDIA や ARM Mali GPU などのさまざまなプラットフォームに展開できる実行可能ファイルとしてプロジェクトに統合できます。ARM Mali GPU ターゲットで深層学習を実行するために、ホスト開発コンピューターでコードを生成します。次に、実行可能プログラムをビルドして実行するために、生成されたコードを ARM ターゲット プラットフォームに移動します。

参考

関数

オブジェクト

関連するトピック