自分用メモ

まだいろいろと再構成中。

カテゴリ: ソフトウェア

スクリーンショット (27)


・windowsでtensorflowをやってみようと思う
  ↓
・いろいろあって、ubuntuでやることにする。
  ↓
・ハードウェアも共用ではなく、独立したGPU内蔵ubuntuPCを構築
  ↓
・ubuntuにanacondaを入れてjupyter notebookでやる。
  ↓
・なんかkernelが死んでうまくいかない。
  ↓
・全部クリーンインストールして、anacondaを使わない状態でシステム構築
pycharmでtensorflow / kerasを動かしてみる。

という段階が只今完了!

GPUの負荷を演算中にモニタしてみて、ちゃんとGPUが使われていることを確認。さらに、anacondaを使っていた時は、GPUのメモリがいっぱいいっぱいで、多分それが原因でカーネルが死んでいた?のに、今回はGPUのメモリ使用量は余裕!

Visual Studio Code
VSC
Spyder
Spyder
idle
idle


ようやく、ブレークポイントを設定して、デバッガを動かすところまで来た。

VSC, Spyder, idle 全部やってみた。

うん!いいんではないでしょうか、Sublime Text。

Sublime Text

pythonの開発環境を、まともなエディターをベースに構築したい件。
前回の続きでとりあえず、3つ並べてみた。
3つ出してみた
Atomと、Visual Studio Codeと、Sublime Text。(昔Visual Studioでもpythonやったけど、ちょっとアレなので今回はパス。)

どうも、直感的好みからすると、Sublime Textに決定

こういうのはカンで決めるんだよw。好き嫌いで。

なので、あとは、いろいろ検索して調べてみるかな・・・

さっきの、pipを通した件の続き。jupyter notebookではうまく行ったのに、同じことをpycharmでやると、importが無理な状況。これ。
インポート無理

なので、検索してみた。こちら。同じようなのを出してみたのがこれ。pipは居る。
pipは居る
このサイトによれば、Alt+Shift+EでPythonコンソールから実行だとimportしてくれるようですと書いてあったのでやってみると、

コンソールからもインポート無理
このように、pythonコンソールやっても無理。

なので、結論。

pycharmは糞で使えない。

と、見捨てることにしました。もし、無償バージョンだからできなくて有償ならできる??とか言われても絶対信用できないよねwww(^^♪

なので、お次はこちらこちらを参考に検討してみる。

Anacondaとかインストールして、pythonはできるようになったけど、コマンドプロンプトでpythonと打っても起動しない場合、Windowsの環境変数をいじってPathを通す必要があるが、その次の問題として、

pythonは起動するけどpipが起動しない ということがあった。
その場合次のように、
path
Anacondaがあるフォルダの下の、Scriptのフォルダの中にpipがあるので、そこまでPathを通して初めてpipも動くようになる。

Windowsの環境変数は、実行ファイルの入っているフォルダそのものまで通してやらないとダメ

そして、Pathを通したら、コマンドプロンプトは再起動する必要がある。PCの再起動は必要ない。

次はこれ
とにかく入れてやってみる。
1
なんか、いろいろ怒られるので、頭にこういうのを入れてみた(赤いところ)。

2
いろいろやっても怒られっぱなしで挫折したので、書いておく。とりあえず、ここまで。

次はこちら

ちゃんと全部の構文を理解しないとダメなわけだけど、まずはその前に、とりあえずひととおり動かしてみる作業。

まずは、jupyter notebook上でmodel.pyを作成してsave。inference.pyも作成してsave。
で、お次は、inference.pyを実行するのだが、どうやって実行するんだろう?

1. コマンドプロンプトでCtrl + Cを押してjupyter notebookを終わらせてから、python inference.pyと入れてEnter。
これをやると、このようになる。
1
このように、まずは例によって、沢山SSE命令ダメだよ…うんぬんが出てから、「initialize_all_variablesは古いからtf.global_variables_initializerを使ってね」というのが出る。ここで既にやったとおり。そのあとは、次にように結果が延々と並ぶ。
2
3
このように、130秒かかって全部終わる。SummaryWriterで怒られるのも既にやった通り。

--

2. jupyter notebook上で、!python inference.pyと入れてShift + Enter。
jupyter notebookでは、! の後にコマンドを打てるみたい。
こっちのほうが、なんかカッコイイかもね。
こんなふうになった。
4
全部貼ると、こんなかんじ。

Epoch 1: ./data/data_batch_1.bin
[6]: [array([[-0.00244634, -0.00595317, 0.00198949, -0.00988489, 0.02464342,
0.00959671, -0.01094623, -0.00265316, 0.01137706, 0.00098879]], dtype=float32)]
[9]: [array([[-0.00245464, -0.00595713, 0.00197492, -0.00989039, 0.02463724,
0.00960299, -0.0109346 , -0.00264315, 0.01137412, 0.00097986]], dtype=float32)]
[7]: [array([[-0.00244821, -0.00595995, 0.00198389, -0.00989162, 0.02463682,
0.0096166 , -0.0109265 , -0.0026347 , 0.01137051, 0.00097993]], dtype=float32)]
[3]: [array([[-0.00243875, -0.00595814, 0.00197866, -0.0098967 , 0.02462693,
0.0095787 , -0.01092821, -0.00265507, 0.01135298, 0.00099202]], dtype=float32)]
[5]: [array([[-0.00244741, -0.00594536, 0.0019952 , -0.00987465, 0.02463432,
0.00960753, -0.010921 , -0.00263722, 0.0113809 , 0.00098241]], dtype=float32)]
[6]: [array([[-0.00243351, -0.00595452, 0.00198534, -0.00989072, 0.02463123,
0.00958697, -0.01091246, -0.0026446 , 0.01134686, 0.00099766]], dtype=float32)]
[6]: [array([[-0.00246548, -0.00595936, 0.00198966, -0.00987074, 0.02462012,
0.00962291, -0.01095271, -0.00263457, 0.01137924, 0.00098049]], dtype=float32)]
[5]: [array([[-0.00245922, -0.00595973, 0.00200748, -0.00988819, 0.02463621,
0.009608 , -0.01094383, -0.00265285, 0.01135599, 0.00099217]], dtype=float32)]
[3]: [array([[-0.00243824, -0.00594302, 0.00198244, -0.00988816, 0.02460522,
0.00959729, -0.01094321, -0.00262852, 0.01137923, 0.00095626]], dtype=float32)]
[4]: [array([[-0.00244699, -0.00595367, 0.00199575, -0.00986645, 0.0246434 ,
0.00962721, -0.01093157, -0.00265985, 0.01138323, 0.00099012]], dtype=float32)]
Epoch 1: ./data/data_batch_2.bin
[1]: [array([[-0.00244674, -0.00594459, 0.00199747, -0.00988315, 0.02463545,
0.00961634, -0.01094857, -0.00264649, 0.01133764, 0.00101566]], dtype=float32)]
[1]: [array([[-0.0024461 , -0.00594119, 0.00198696, -0.00989076, 0.0246391 ,
0.0096054 , -0.01092881, -0.00264309, 0.01135787, 0.00097908]], dtype=float32)]
[6]: [array([[-0.00243893, -0.00596225, 0.00196764, -0.00987746, 0.02461455,
0.00961499, -0.01096156, -0.00267245, 0.01136855, 0.00099817]], dtype=float32)]
[9]: [array([[-0.00245094, -0.00594483, 0.00198694, -0.00988459, 0.02462018,
0.0095978 , -0.0109426 , -0.00263638, 0.01135645, 0.0009942 ]], dtype=float32)]
[4]: [array([[-0.00246787, -0.00594623, 0.00199196, -0.00986615, 0.0246327 ,
0.00962686, -0.01095616, -0.00267122, 0.01137435, 0.00100457]], dtype=float32)]
[0]: [array([[-0.00245966, -0.00595205, 0.00200379, -0.00986038, 0.02463473,
0.00963628, -0.01093572, -0.00265075, 0.0113629 , 0.00100174]], dtype=float32)]
[7]: [array([[-0.00244317, -0.00594284, 0.00198607, -0.00988566, 0.02461753,
0.00959724, -0.01091724, -0.00263656, 0.01137326, 0.00097837]], dtype=float32)]
[6]: [array([[-0.00243535, -0.00595829, 0.00197583, -0.00989591, 0.02461889,
0.00958684, -0.01092324, -0.00264586, 0.01136023, 0.00097308]], dtype=float32)]
[9]: [array([[-0.00245309, -0.00596283, 0.00199385, -0.00987581, 0.0246319 ,
0.00961102, -0.01094303, -0.00264824, 0.01137735, 0.00099686]], dtype=float32)]
[6]: [array([[-0.00245881, -0.00594819, 0.00198782, -0.00989483, 0.02462407,
0.00959198, -0.01096453, -0.00267955, 0.0113695 , 0.00097662]], dtype=float32)]
Epoch 1: ./data/data_batch_3.bin
[8]: [array([[-0.00245849, -0.0059495 , 0.00198469, -0.00988716, 0.02462307,
0.00960154, -0.01092682, -0.00264598, 0.01135999, 0.00099896]], dtype=float32)]
[0]: [array([[-0.00243918, -0.00594433, 0.00198455, -0.00988821, 0.02463539,
0.00959167, -0.01092401, -0.00263373, 0.01138591, 0.00096997]], dtype=float32)]
[8]: [array([[-0.00243968, -0.00594105, 0.00198405, -0.00988628, 0.02461338,
0.00959997, -0.01092421, -0.00263379, 0.01136266, 0.000991 ]], dtype=float32)]
[7]: [array([[-0.00246419, -0.0059481 , 0.00199523, -0.00986992, 0.02462882,
0.00963535, -0.01093203, -0.00264535, 0.01137579, 0.0009901 ]], dtype=float32)]
[6]: [array([[-0.00245742, -0.00596399, 0.00198381, -0.00989731, 0.02462786,
0.00963252, -0.01096096, -0.0026654 , 0.01139002, 0.00098597]], dtype=float32)]
[6]: [array([[-0.00244699, -0.00594592, 0.00198501, -0.00987424, 0.024635 ,
0.0095992 , -0.01091726, -0.00264267, 0.01135957, 0.0009888 ]], dtype=float32)]
[0]: [array([[-0.002445 , -0.00594516, 0.00197978, -0.00990169, 0.02463399,
0.00959137, -0.01093544, -0.00263338, 0.01136 , 0.00097993]], dtype=float32)]
[0]: [array([[-0.00243496, -0.0059551 , 0.00199786, -0.00987548, 0.0246502 ,
0.00962376, -0.01092738, -0.00264214, 0.01137307, 0.00098261]], dtype=float32)]
[0]: [array([[-0.00246893, -0.00595838, 0.00200159, -0.00989167, 0.02463274,
0.00962405, -0.01093802, -0.00265352, 0.01137903, 0.00099249]], dtype=float32)]
[9]: [array([[-0.00246255, -0.00595943, 0.001993 , -0.00988155, 0.02462632,
0.00962803, -0.01093849, -0.00264494, 0.01137619, 0.00099348]], dtype=float32)]
Epoch 1: ./data/data_batch_4.bin
[0]: [array([[-0.00244875, -0.00595972, 0.00198785, -0.00990175, 0.02465177,
0.00960661, -0.01093375, -0.00264825, 0.01138575, 0.00099819]], dtype=float32)]
[0]: [array([[-0.00247831, -0.00595357, 0.00198175, -0.00988744, 0.02462455,
0.00962128, -0.0109399 , -0.0026476 , 0.0113797 , 0.00097579]], dtype=float32)]
[7]: [array([[-0.00246578, -0.00595225, 0.00199127, -0.00987221, 0.02462908,
0.00961141, -0.01095871, -0.00265049, 0.01139212, 0.00098407]], dtype=float32)]
[0]: [array([[-0.00244092, -0.00595053, 0.00198721, -0.00989037, 0.02463593,
0.00959741, -0.01092742, -0.00262761, 0.01135004, 0.00100719]], dtype=float32)]
[3]: [array([[-0.00245085, -0.00595968, 0.00198084, -0.00987961, 0.02463653,
0.00960116, -0.01093262, -0.00264816, 0.01135352, 0.00099103]], dtype=float32)]
[5]: [array([[-0.00245706, -0.00596417, 0.00195937, -0.00987887, 0.02463233,
0.00960331, -0.01094326, -0.0026634 , 0.01134896, 0.00099449]], dtype=float32)]
[3]: [array([[-0.00246039, -0.00594421, 0.00198876, -0.00988443, 0.0246324 ,
0.00959582, -0.01093495, -0.00264604, 0.01138042, 0.00097933]], dtype=float32)]
[7]: [array([[-0.00243879, -0.00595246, 0.0019775 , -0.00989782, 0.02462157,
0.00959335, -0.01092475, -0.00264263, 0.01137223, 0.00096684]], dtype=float32)]
[0]: [array([[-0.00245381, -0.00594334, 0.00200437, -0.00987913, 0.02462805,
0.00961802, -0.01092618, -0.00264535, 0.0113663 , 0.00099122]], dtype=float32)]
[6]: [array([[-0.00246168, -0.00594992, 0.00198115, -0.00989264, 0.02461827,
0.00957733, -0.01093835, -0.00265191, 0.01137355, 0.00098113]], dtype=float32)]
Epoch 1: ./data/data_batch_5.bin
[1]: [array([[-0.00245253, -0.00595543, 0.0020078 , -0.00987452, 0.02463531,
0.00960062, -0.01093498, -0.00264423, 0.01137632, 0.0009964 ]], dtype=float32)]
[7]: [array([[-0.00245878, -0.00595623, 0.00199332, -0.00987854, 0.02464578,
0.0095953 , -0.0109324 , -0.0026533 , 0.01137438, 0.00099649]], dtype=float32)]
[9]: [array([[-0.00244727, -0.00595742, 0.00199177, -0.00987431, 0.02465862,
0.00961397, -0.01094106, -0.0026408 , 0.01137439, 0.0009948 ]], dtype=float32)]
[5]: [array([[-0.0024677 , -0.00594921, 0.00199702, -0.00988451, 0.02461458,
0.00961747, -0.0109435 , -0.00265094, 0.01136084, 0.00100084]], dtype=float32)]
[7]: [array([[-0.00247282, -0.00595007, 0.00198305, -0.00986756, 0.02461854,
0.00962661, -0.01095243, -0.00266825, 0.01137566, 0.00096907]], dtype=float32)]
[7]: [array([[-0.00244962, -0.00594537, 0.00199797, -0.00989445, 0.02462613,
0.00959936, -0.01093742, -0.00266662, 0.01135422, 0.00099657]], dtype=float32)]
[2]: [array([[-0.00243884, -0.00595979, 0.00198937, -0.00988127, 0.02461042,
0.00959373, -0.01093943, -0.00264011, 0.01136843, 0.00097741]], dtype=float32)]
[8]: [array([[-0.00247248, -0.00595023, 0.0019895 , -0.00986364, 0.02462752,
0.00960326, -0.01092588, -0.00266116, 0.0113649 , 0.00098528]], dtype=float32)]
[1]: [array([[-0.00245684, -0.00595252, 0.00197753, -0.00988479, 0.02461042,
0.00960124, -0.01093397, -0.00264403, 0.01137122, 0.00099252]], dtype=float32)]
[8]: [array([[-0.00245592, -0.005959 , 0.00198417, -0.00988884, 0.02463468,
0.00962273, -0.01093104, -0.00263899, 0.01137646, 0.00098523]], dtype=float32)]
epoch 1 duration = 128 sec
WARNING:tensorflow:From D:\Users\atatan\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\util\tf_should_use.py:170: initialize_all_variables (from tensorflow.python.ops.variables) is deprecated and will be removed after 2017-03-02.
Instructions for updating:
Use `tf.global_variables_initializer` instead.
Traceback (most recent call last):
File "inference.py", line 71, in
tf.app.run()
File "D:\Users\atatan\Anaconda3\envs\tensorflow\lib\site-packages\tensorflow\python\platform\app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "inference.py", line 66, in main
tf.train.SummaryWriter(FLAGS.checkpoint_dir, sess.graph)
AttributeError: module 'tensorflow.python.training.training' has no attribute 'SummaryWriter'
2017-08-19 17:33:28.271743: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271759: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE2 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271763: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271766: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271769: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271773: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271775: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-08-19 17:33:28.271778: W c:\tf_jenkins\home\workspace\release-win\m\windows\py\36\tensorflow\core\platform\cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
In [ ]:

?
結局内容は、1. の時と同じ。ちゃんと2回怒られるし、SSEコマンドうんぬんも出てくる。

--

せっかく怒られたので、
initialize_all_variables → tf.global_variables_initializer
tf.train.SummaryWriter → tf.summary.FileWriter
を直してみようか。

inference.pyの中の、tf.initialize_all_variablesをtf.global_variables_initializerに、
inference.pyの中の、tf.train.SummaryWriterをtf.summary.FileWriterに変更。

そして、jupyter notebook上で、!python inference.pyと入れてShift + Enterする。
・・・しかし・・・15分、20分位経っても終わらず・・・。何で??

--

結局きりが無いので中断。で、もう一回元の構文にすると、ちゃんと130秒で終わる。なので、実験。

tf.initialize_all_variablesをtf.global_variables_initializerにしない。
tf.train.SummaryWriterをtf.summary.FileWriterにしない。
→ ちゃんと130秒で終わる。

tf.initialize_all_variablesをtf.global_variables_initializerにする。
tf.train.SummaryWriterをtf.summary.FileWriterにしない。
→ ちゃんと134秒で終わる。

tf.initialize_all_variablesをtf.global_variables_initializerにしない。
tf.train.SummaryWriterをtf.summary.FileWriterにする。
→ 延々終わらず、ダメ。

tf.initialize_all_variablesをtf.global_variables_initializerにする。
tf.train.SummaryWriterをtf.summary.FileWriterにする。
→ 延々終わらず、ダメ。

という結果になったので、結論。

tf.summary.FileWriter がガン。

ということみたい。

--

なんか、不良品?改悪?バグ?なの??
っていうか、ハードウェアとか一般の製品 → 不良品が出れば社会問題。そのかわり有料。
ソフト → 動かなくて当たり前、β伴と言えば許される?ww。無料なので文句は言えない。
というわけですね。 これで有料だったら文句タラタラが当然だけど、無料だからありがたく古いバージョンを使い続けるのが正解。ですな。w 

5
前回挫折したので、別の日にゆっくり見直してみる。
すると・・・reader.pyも、convert_cifar10_png.pyもできているのは確認済。と書いたものの、できていたけど中身を見たら、なぜか空だったwww(^◇^)
空な理由は不明だが動かない原因は分かったので、再度、reader.py、convert_cifar10_png.pyを作って、今度は中身があることを確認。

そして、コマンドプロンプト上でCtrl +Cをやって、jupyter notebookを終わらせる。そして、

python convert_cifar10_png.py --file ./data/data_batch_1.bin

と打ってみると・・・おお、ちゃんと反応がありましたよ。以下、次の画像。
0819-01
ModuleNotFoundError : No module named 'PIL'
ときましたよ。
こういうふうに、だんまりじゃなくてなんか文句を言ってくれればありがたいわけで。w

早速検索してこちらのサイト様。

なので、pip install pillowをやると、御覧の通りちゃんと反応して、そしてもう一度
python convert_cifar10_png.py --file ./data/data_batch_1.bin
をやると、ご覧の通り、ちゃんと動きました。 

で、やっぱり、5個あるから5個全部やるんだろうな?と思ったのでやってみた。
0819-02
とりあえず、これで、リベンジ終了のはず。


次はこれ

手順通りにやってみて、tensorflowのディレクトリに、reader.pyも、convert_cifar10_png.pyもできているのは確認済。

しかし、

$ python3 convert_cifar10_png.py --file ./data/data_batch_1.bin
をやるとダメ。

jupyter notebook上ではなく、コマンドプロンプトに行ってjupyter notebookを終了させて、さらにtensorflowもdeactivateして、python3だと怒られるので、

python convert_cifar10_png.py --file ./data/data_batch_1.bin

と打ってみた。なんとかエラーは出ないでコマンドプロンプトに戻るものの・・・
dataディレクトリ内には何も起こらず。

今のところ、ここで挫折中。

↑このページのトップヘ