質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

3601閲覧

tensflowでGPUがうまく使えない

nini43

総合スコア15

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/12/31 02:46

tensflowでGPUを使って機械学習をしているのですが、CPUよりもスピードが出ません
GPU使用率が8%前後しか出なくて困っています
どのようにすればよいでしょうか?
GPUはGTX1080が2つです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

tensorflowをGPUにしたからといって劇的に学習速度が向上するわけではありません。感覚的には10%くらいです。特にちまたに広がっている学習コード(for文て繰り返すタイプ)だと、CPUとGPUの切り替えがオーバーヘッドになるようです。
GPUの使用率が低いのはGPU側の処理が早すぎてCPU側の処理が追いつかないため、アイドル状態が発生しているためと思います。

実際のところは、コードをみないとわからないのですが、参考にしてください。

投稿2018/12/31 12:26

編集2018/12/31 12:37
R.Shigemori

総合スコア3378

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

OOZAWA

2019/01/09 12:18

横から失礼 >tensorflowをGPUにしたからといって劇的に学習速度が向上するわけではありません。感覚的には10%くらいです。 意外で悲しい。。。自分がtensorflowの並列性(GPUを透過的に活せる)に優れる事に期待しておりますが、これじゃだめですね。 :-_-;
R.Shigemori

2019/01/09 18:23

oozawaさん 結構コード依存と思います。 以前、1000万件のnumpyのarrayに対するsigmoid関数の計算を1000件単位で1万回繰り返すケースと1万件を1000回繰り返すケースで、CPU(numpy)とGPU(cupy)で比較実験しました。結果は、後者は圧倒的にGPUが速いのですが前者はCPUが速いというものでした。ここからCPUに展開されているarrayをGPUに引き渡す処理のオーバーヘッドが大きいと推察しました。つまり、GPUの性能を引き出すには1000万件のデータを始めからGPU上に展開する必要がありそうだということです。 加えていうと、pythonのfor文は遅いので、学習回数の制御もtensorflowの関数を使ったほうがいいかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問