ハードウェアサポート(CPU / GPU)
CPUの使用
● | ディープラーニングのアルゴリズムは多くの計算を実行し、CPU上でのトレーニングが非常に遅くなる可能性があります。 |
たとえば、シングルスレッドが搭載されたハイエンドなIntel Core i9-7900X CPUの場合、データを拡張することはできません。
□ | トレーニングは、最大0.5メガピクセル/秒まで処理できます。 |
□ | 検証と分類は、1.5メガピクセル/秒まで処理できます。 |
● | EasyDeepLearningライブラリでCPUを使用するには、EClassifier::SetEnableGPU(false)メソッドを使用してください。 |
EasyDeepLearningは、32ビットアプリケーションと64ビットアプリケーションの両方のCPU処理をサポートします。 ただし、32ビットアプリケーションのメモリは2 GBに制限されているため、学習や大きなサイズの画像の識別が遅くなる可能性があります。
NVIDIACUDA® GPUの使用
● | 最近のNVIDIA GPUを使用すると、処理速度が大幅に向上します。 |
NVIDIA GeForce 1080Tiでは、データ拡張なし:
□ | トレーニングは、最大50メガピクセル/秒まで処理できます。 |
□ | 検証は、最大160メガピクセル/秒まで処理できます。 |
□ | 単一画像の分類は、最大55メガピクセル/秒(800×256グレースケール画像/秒以上に相当)を処理できます。 |
実際の速度は、入力画像フォーマット、データ拡張、バッチサイズ、GPUモデルによって異なります。
1. | EasyDeepLearningライブラリでNVIDIA GPUを使用するには、次のNVIDIAライブラリをコンピュータにインストールします。 |
□ | NVIDIA CUDA® Toolkit バージョンv10.0(https://developer.nvidia.com/cuda-toolkit) |
□ | NVIDIACUDA® Deep Neural Network ライブラリ(cuDNN)v7(https://developer.nvidia.com/cudnn) |
2. | インストールの場所に応じて: |
□ | NVIDIACUDA®Toolkitをデフォルトの場所(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0)にインストールすると、EasyDeepLearningライブラリは必要なものを自動的に見つけ出します。 |
□ | それ以外の場合は、DLLcusolver64_100.dll、curand64_100.dll、cufft64_100.dll、cublas64_100.dllをOpen eVisionDLLフォルダにコピーする必要があります(デフォルトの場所はC:\Program Files (x86)\Euresys\Open eVision X.X\Bin64\)。 |
3. | zipアーカイブとして提供されているNVIDIA CUDA® Deep Neural Networkライブラリ(cuDNN)をインストールします。 |
a. | ファイルを解凍します。 |
b. | 解凍したファイルをhttps://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html#installwindowsに示されているNVIDIACUDA®Toolkitインストールディレクトリにコピーします。 |
c. | NVIDIACUDA® Toolkitがデフォルトの場所にインストールされていない場合は、Open eVision DLLフォルダ(デフォルトの場所はC:\Program Files (x86)\Euresys\Open eVision X.X\Bin64\です)にDLLファイルcudnn64_7.dllをコピーします。 |
4. | EasyDeepLearningライブラリでGPUを使用するには、EClassifier::SetEnableGPU(true)メソッドを使用してください。 |
複数のGPUの使用
学習とバッチ識別には複数のGPUを使用できます。
● | APIでGPUのリストを設定するには、EClassifier::SetGPUIndexesメソッドを使用します。 |
複数のGPUを使用すると、これらのGPUがTCCドライバーモデルを含むQuadroまたはTeslaモデルである場合にのみ、学習とバッチ識別の速度が上がります(https://docs.nvidia.com/gameworks/content/developertools/desktop/nsight/tesla_compute_cluster.htmを参照)。
複数のGeForce GPUを使用する方が単一のGPUを使用するより遅くなります。コンピュータに複数のGPUがインストールされている場合は、EClassifier::SetGPUIndexメソッドで使用するGPUのインデックスを設定します。
● | EasyDeepLearning Studioから、処理デバイスを選択するには、実行プロファイルを選択します。 |
好みに合わせてこれらの実行プロファイルを設定できます。
● | GPU処理は32ビットアプリケーションでは使用できません。 |
画像キャッシュ
画像キャッシュは、トレーニング中に画像を保存するために予約されているメモリの一部です。
● | デフォルトのサイズは1 GBです。 |
● | 大規模なデータセットでは、画像キャッシュサイズを大きくするとトレーニング速度が向上する可能性があります。 |
キャッシュサイズをバイト単位で指定するには
● | APIのEClassifier::SetImageCacheSizeメソッドを使用してください。 |
● | EasyDeepLearning Studioから、実行プロファイルコントロールの下にある設定ボタンをクリックし、メニューから画像キャッシュを選択します。 |