LoginSignup
0
0

More than 3 years have passed since last update.

Chainer学習時のCPUネックを減らすメモ

Last updated at Posted at 2019-08-01

Chainer学習時のCPUネックを減らしたい

環境

 Windows10、i7-7700K、GeForce1080Ti

背景

最近少しずつスキルも上がって来たので大量の学習データを扱うことが増えてきました
学習に3日かかるとか、その間何もできない!
もっと早くできないのか?

と言うことで、何がネックなのかを調べたところ、、、
CPUネックでGPUがあまり使われていない!

原因を探してみる

学習自体はGPUを使ってくれているので、きっとそれ以前の学習データのロードまでのどこかではないか?

train_iter = chainer.iterators.SerialIterator(

Serial?
ということは、Multiもあるのか?

はい、ありました
https://docs.chainer.org/en/stable/reference/iterators.html

なんか4つもあります
chainer.iterators.SerialIterator     :シングルスレッドでの逐次処理
chainer.iterators.MultiprocessIterator  :マルチプロセス
chainer.iterators.MultithreadIterator  :マルチスレッド
chainer.iterators.DaliIterator      :Daliパイプライン(何それ?)

やったこと

SerialIterator → MultiprocessIterator

使用率を見た感じだと4コア8スレッドのCPUの場合、こんな感じなのかな
 MultiprocessIterator 4コア8スレッドを使う
 MultithreadIterator  1コア2スレッドを使う

補足

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0