PC上でTensorflowを使って学習させて、そのデータを使ってスマホなどで識別だけさせるというときに、データはPythonで通常出力するチェックポイントファイルじゃなくてプロトコルバッファ形式にする必要がある。
TesorFlow: Pythonで学習したデータをAndroidで実行 - Qiitaを参考にして、Variableのevalで値を取り出して、同じ構成なんだけどtf.Variableの代わりにtf.constantを使うようにしたグラフを作成して…ということをやっていたんだけど、面倒だし複雑になってしまう。
TensorFlowで学習済みグラフを保存する方法 | Workpilesに便利な方法が書いてあって、tf. import_graph_defを使う方法と、まさに目的通りのVariableをconstantに置き換える便利関数convert_variables_to_constants を使う方法が書いてあった。
どちらも問題なく動いたけど、convert_variables_to_constantsのほうが簡単なのでそちらを使うことにした。
import tensorflow as tf |