投稿

3月, 2020の投稿を表示しています

TensorFlow2:MNISTやってみる(keras model class)

TensorFlowのチュートリアルにそって、MNIST問題をやってみる。 TensorFlow 2 quickstart for experts 上記のコードをベースに、関数作ったりしながらソースを作成した。 1.xの時との違いとかをメモしながら記載する。といいつつ、1.xの時に近い書き方を選んでいると思う。 ざっくり処理フロー 以下のような流れになる。流れは1.xの時と変わらない。 MNISTデータ読み出し処理の定義 モデルの定義 学習の定義 テストの定義 学習ループの実行 コード 事前に タイピングを減らすために、パッケージ名にエイリアスを付けておく。 import tensorflow as tf # asign aliases tfk = tf . keras tfkl = tf . keras . layers MNISTデータ読み出し処理の定義 def load_dataset ( batch_size = 32 ) : ( x_train , y_train ) , ( x_test , y_test ) = tfk . datasets . mnist . load_data ( ) # normalize 0.0 ~ 1.0 x_train , x_test = x_train / 255.0 , x_test / 255.0 # add newaxis for channel. x_train = x_train [ . . . , tf . newaxis ] x_test = x_test [ . . . , tf . newaxis ] # build pipeline: shuffle -> batch. ds_train = tf . data . Dataset . from_tensor_slices ( ( x_train , y_train ) ) . shuffle ( 10000 ) . batch ( batch_size ) ds_test = tf . data . Dataset . from_tensor_slices

VSCode:ターミナル系keybindingsのカスタマイズ

2回押し系に変更したけど悪くないのでメモ。 表示非表示はctrl+shift+@、移動や切り替え操作をctrl+@をプレフィックスにして以下のように設定した。 ctrl+@ : エディタ↔ターミナルの移動 ※ctrl+@の二回押し c : ターミナル作成 n : 次のターミナル p : 前のターミナル ctrl+, : ターミナルのタイトル設定 設定ファイルはこんな感じ。 既存ショートカットの削除は不要かもしれない。設定がごちゃごちゃするので、うまいやり方があれば知りたい。 // [ctrl+Shift+@] toggle terminal. { "key": "ctrl+shift+[BracketLeft]", "command": "workbench.action.terminal.toggleTerminal", "when": "!terminalIsOpen" }, { "key": "ctrl+shift+[BracketLeft]", "command": "workbench.action.togglePanel", "when": "terminalIsOpen" }, // [ctrl+@ -> ctrl+@] move between editor and terminal. { "key": "ctrl+[BracketLeft] ctrl+[BracketLeft]", "command": "workbench.action.terminal.focus", "when": "!terminalFocus", }, { &qu

TensorFlow2を触ってみる

しょっぱなから補完が効かないとかハマったわけですが、TensorFlowを触り始めました。 過去に使っていたことがあるのですが、1.0より前のころだったので、kerasとかeagerとか戸惑いまくりです。 そんなわけで、しばらくは昔の記憶でTensorFlowを触って試行錯誤したり、VSCodeの設定をいじったり、といったメモ書きが続くと思います。

TensorFlow2.1+VSCodeで補完が効かない件

関数入力中のポップアップでドキュメントが表示されたりする機能も効かない。 暗記するほど使い込んでないのでAPIリファレンスを都度見に行くのも大変だし、困った。 とりあえず解決できたのでメモ。 調べた内容 調べたところ、以下のような回避が出ているが、あまり環境をいじりたくない。 https://qiita.com/artemis5656/items/e8e464510a7d907e1feb もう少し調べたところ、tensorflowのissueは2月末にfixedになっていた。 https://github.com/tensorflow/tensorflow/issues/32982 VSCode側のissueも、TensorFlow側で修正済みになっている。 https://github.com/microsoft/python-language-server/issues/818 3/11に、TensorFlow2.2のrc0が出たので試してみる。 無事動きました。(windows10+VSCode1.43.0+Python3.7+TensorFlow2.2.0rc0) まとめ 本件はTensorFlow側のbugで、TensorFlow2.2で修正される予定。 rc0でも修正されているので、issueに注意して使うのもあり。 正式版までひと月くらいかかるかもなので、breaking-changesに注意しながらrc0で書いて2.1に持ってくのもありか。 rc版はpre-release扱いなので、インストールするときは以下のようにバージョンを指定する必要がある。 –upgrade オプションは適当に。 pip install tensorflow==2.2.0rc0 よかった。