Help us understand the problem. What is going on with this article?

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

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スレッドを使う

補足

https://www.nvidia.com/content/apac/gtc/ja/pdf/2018/2033.pdf

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした