トンチンカンなオッサンのプログラミング

TensorFlowのトラブル、一晩か二晩寝かせれば いい感じに事態は好転する… なぁ~んてことはありませんでした ^^;

 
この日記に書いたように、CIFAR-10を使ったTensorFlowのチュートリアルは、(日本語訳された別のホームページを参照して)とりあえずは動いたものの、

  1. TensorFlowのAPIが変更されている
  2. GPUを使ってくれない

という問題があったのよね。
1.については、APIの変更点を修正して動かすことができたけど、2.は一晩寝かせても駄目でした、当たり前ですね ^^;

 

チュートリアルを素直に実行

それがきのうの話。で、きょうは…

そもそも、TensorFlowホームページの最新のソースコードを使わなかったから、1.のように修正しなきゃ動かなかったりしたわけで、2.についてもそうかなと。
ホームページが参照しているソースコードを使ってみたら、あっけなく動いちゃいました。ソースコードを修正する必要もなく(トレーニング時の最大ステップ数は100万回から30万回に変更)、ちゃんとGPUを使って計算してくれました。

最初から、そうすればよかったよ。英語を避けたからこんな遠回りすることになっちゃったんだよなぁ。大反省 ^^;

 

TrainingとEvaluatingの計算結果

Model Training(cifar10_train.py)の計算結果をTensorBoardで表示してみたら、ホームページに掲載されているのと同じようになりました。当たり前ですね ^^;

20180316_cifar10_TensorBoard_Scalars(total_loss_1) total_loss_1
20180316_cifar10_TensorBoard_Scalars(learning_rate) learning_rate
20180316_cifar10_TensorBoard_Scalars(local3_sparsity) local3_sparsity

20180316_cifar10_TensorBoard_Scalars Scalars
20180316_cifar10_TensorBoard_Histograms Histograms

20180316_cifar10_TensorBoard_graph Graphs

Evaluating a Model(cifar10_eval.py)については precision @ 1 = 0.866 となり、これも同じような結果でした。やっぱ当たり前ですかね ^^;

 

Trainingの計算時間

おととい・きのうはGPUを使ってくれなくて すっごく遅かったんだけど、今回はちゃんとGPUを使ってくれました。計算時間がどのくらい違うか比べてみると…

20180315_cifar10_train CPUによる計算
20180316_cifar10_train GPUによる計算

トレーニング時、CPUによる計算では20~30 examples/secなのに対し、GPUによる計算では4,500 examples/sec程度でした。この例(CIFAR-10, CPU: Intel Core i5-4570, GPU: NVIDIA GeForce GTX 750Ti)に限れば、GPUはCPUより約200倍速いってことになるのかな?
これだけ違うと、やっぱりGPUは必須だなぁと実感しますね (^^)

【2018/3/17 追記】
GPUを使った場合はCPUの場合より約200倍速い?と書きましたが…
GPUを使ってくれずに計算したときは何らかのトラブルが発生していたから低速だったとも考えられますね。正常動作のCPUのみの場合はもっと高速かもしれません。私はGPU版のTensorFlowしかインストールしていないので、そのことも関係しているかもしれません m(._.)m

 

 

チュートリアルの例題をやるのに、このドタバタですよ。トンチンカン&すっとこどっこいですよ、私は ^^;
まぁでも、無事計算できて良かったよ。目的はTensorFlowでCIFAR-10の画像分類をやることじゃないからね。それに、タイトルにプログラミングってあるけど、まだ じぇんじぇんプログラミングに至ってないしさ。

とは言え、少し錆を落とせたような感じがして、本当に良かったよ (^^)

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中