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 |