今の部署の課長に、転職のときはブログ書いといたら有利だよ!といわれたので書いてみることに。
続かないんだよなぁこれ・・・
とりあえず、最近作っていたアプリとかなんやかんやもいったん収束したのでお遊びでTensorflowを導入してみることに。
目標はチュートリアルの実行です。
研修でAWS触ったこともあり、AWSの上に乗っけました。
普通にEC2インスタンスを作成して、Teratarmでログイン。
pipのインストールとかして、以下の方の記事を参考にさぁインストール。
http://yutasugii.hatenablog.com/entry/2015/11/20/131957
※ちょっと前の記事なのでフォルダ構成とか変わってます。
なれないvi使いながらfully_connected_feed.pyを変更していざ実行!
ImportError: fully_connected_feed.so: invalid ELF header
???
ELFエラーって何ぞと調べてみると、wiki様いわく、
「コンパイラが生成する
オブジェクト、および、ライブラリとリンクされた
実行ファイルの
ファイルフォーマットである。」
そしてよく見ると上のURLでインストールしたURLは
pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.5.0-py2-none-any.whl
mac用でござった。
無念。
https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html#using-pip
ここ見てLinux 用に変更。
再度ポチー。
File "fully_connected_feed.py", line 277, in <module>
tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
TypeError: run() got an unexpected keyword argument 'argv'
何だこれは・・・
でgitの中身を見てみるとどうも最近(2016/10月末くらい)fully_connected_feed.pyが更新されたようで。
昔のなら動くかなとr0.8でブランチ切っているものをインストール
git clone -b r0.8 --recurse-submodules
https://github.com/tensorflow/tensorflow
Step 1000: loss = 0.60 (0.010 sec)
Step 1100: loss = 0.54 (0.108 sec)
Step 1200: loss = 0.41 (0.005 sec)
Step 1300: loss = 0.50 (0.005 sec)
Step 1400: loss = 0.36 (0.005 sec)
Step 1500: loss = 0.37 (0.005 sec)
Step 1600: loss = 0.46 (0.005 sec)
Step 1700: loss = 0.40 (0.004 sec)
Step 1800: loss = 0.35 (0.004 sec)
Step 1900: loss = 0.33 (0.005 sec)
Training Data Eval:
Num examples: 55000 Num correct: 49206 Precision @ 1: 0.8947
Validation Data Eval:
Num examples: 5000 Num correct: 4522 Precision @ 1: 0.9044
Test Data Eval:
Num examples: 10000 Num correct: 8994 Precision @ 1: 0.8994
動いたー!
部署でAI使って遊んでみるかという話も持ち上がっているので一応それの予習がてらやりました。
どう使うかはこれから考えます・・・