TPUを直に使うとVMから接続して使うことになるので、TPUの料金に加えてVMの料金もかかる。モデルのTPU対応CNNのモデルをTPUEstimatorでTPUに対応させる。いったモデルの学習から保存まで必要な機能を一通り提供する。Algebra)によるコンパイルがうまくいかないなど様々な問題にあたって大変だったので使っておくと良いと思う。それでもトライアンドエラーの繰り返しで、典型的なものはTroubleshootingにあるが、ないものは調べるなりしてなんとかやっていくしかない。TPUのシャード数の8で割り切れる値にする必要がある。APIのdatasetを返せばイテレートしてくれる。sambaiz-netbatch()でdrop_remainderをTrueにして端数を切り捨てないと、shapeが確定せずコンパイルできない。TPUからも読み書きできるようにする。gs://<bucket_name>モデルの作成Estimatorには次のシグネチャのmodel_fnを渡す。paramsはEstimator生成時に渡せるパラメータ。optimizerはCrossShardOptimizerでwrapする。TPUに対応しているopで作る必要がある。tf.train.get_or_create_global_step()))TPUEstimatorの生成TPUのアドレスが環境変数COLAB_TPU_ADDRに入るのでこれをmasterとする。trained'.format(epoch+1))ColabでTensorBoardを開くこのスクリプトを実行するとTensorBoardを立ち上げてngrokで外に開いてくれる。学習させて実行時間を計測する。計測はセルの頭に%%timeを付けるとできる。33sGPUランタイムからアクセラレータをGPUに設定。