スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
【--/--/-- --:--】 | スポンサー広告 | page top↑
theano豆知識
もはやマニアック過ぎて誰にも響かない気がしますが、自分用のメモに。
KerasやPylearn2など、theanoをベースにしているDeep Learningのライブラリを、複数のGPUカードを搭載しているマシンで使おうと思うと、一番簡単なのはプロセスを分けて、それぞれに別のGPUを使ってもらうやり方かと思います。たとえばこんな感じです。

$ THEANO_FLAGS=mode=FAST_RUN,device=gpu0 python my_script.py

これで、gpu1とか名前変えれば、別のGPU使ってくれるので、おお良いじゃんと思っていたら、どうも調子がわるい。

INFO (theano.gof.compilelock): Waiting for existing lock by process '39079' (I am process '39251')

ちょっと調べて見ると、theanoがコンパイルのために使う一時ディレクトリが、プロセス間で共有され、その都度ロックされている模様。これを解決tするには、実行時に以下の様に設定すればOKです。

$ THEANO_FLAGS=mode=FAST_RUN,device=gpu0,base_compiledir=dir0 python my_script.py

GPUごとに名前を変えれば、それぞれのディレクトリを使ってくれます。自動でやってくれてもいいのに・・・とちょっと思いますが、まあ無料で使わせてもらっているので、文句は言えません。
スポンサーサイト
【2015/08/05 11:55】 | Python | トラックバック(0) | コメント(0) | page top↑
<<テクノロジー失業 | ホーム | 主成分分析(PCA)の結果をプロット>>
コメント
コメントの投稿














管理者にだけ表示を許可する

トラックバック
トラックバックURL
→http://tanopy.blog79.fc2.com/tb.php/131-07359313
この記事にトラックバックする(FC2ブログユーザー)
| ホーム |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。