Wolfram言語

複数のGPUでネットを訓練する

訓練時間の削減のために,ニューラルネットをCPUではなくGPUで訓練することができる.Wolfram言語は,さらに訓練速度が上げられるように,(同じマシンからの)複数のGPUを使ったニューラルネットの訓練をサポートするようになった.次の例ではT6-CPUの4-NVIDIA Titan X GPUマシンでの訓練を示す.

CIFAR-10訓練データ集合の部分集合をロードする.

Wolfram Neural Net Repositoryから"Wolfram ImageIdentify Net V1"の構造をロードする.

ネットの訓練速度のCPU前処理のボトルネック推定を避けるために,ネットNetEncoderを使って入力データを前処理する.

不要になったNetEncoderを削除し,ネットヘッドと最終のNetDecoderを置き換えて,両者がデータ集合中のクラスと一致するようにする.

6コアCPUを搭載したマシンで訓練を開始する.

この訓練は1秒間に8例の速度で実行される.

単一のGPU(表示を担当するGPUの使用は勧められないので,4番目のもの)で訓練を開始する.

今回の訓練は1秒間に200例の速度で行われた.

次に,4つすべてのGPUで訓練を開始する.

今回の訓練速度は1秒間に約500例である.

測定された3つの訓練速度を可視化する.

関連する例

de en es fr ko pt-br zh