我創建了一個生成.pbtxt文件的Tensorflow模型。我可以在構建Android應用程序時使用此文件,通過將其重命名爲.pb文件來使用生成的模型。我們可以在使用張量流模型時使用.pbtxt代替.pb文件
在此先感謝。
我創建了一個生成.pbtxt文件的Tensorflow模型。我可以在構建Android應用程序時使用此文件,通過將其重命名爲.pb文件來使用生成的模型。我們可以在使用張量流模型時使用.pbtxt代替.pb文件
在此先感謝。
如果.pbtxt
文件實際上是TensorFlow圖形的文本表示,那麼否,Android API目前不接受該文件,而是需要圖形的二進制表示。
也就是說,如果你有.pbtxt
文件,你可以很容易地將其轉換爲二進制協議緩衝與Python的幾行:
import tensorflow as tf
from google.protobuf import text_format
with open('/tmp/myfile.pbtxt') as f:
txt = f.read()
gdef = text_format.Parse(txt, tf.GraphDef())
tf.train.write_graph(gdef, '/tmp', 'myfile.pb', as_text=False)
或者,如果您可以控制生成的pbtxt
文件管道首先,也許你可以改變它以二進制格式寫出文件?
希望有所幫助。
看來你可以找到你的答案here,但首先你需要.ckpt文件。
cmd爲模型的自由圖,注意ouput節點名,可以從.pbtxt文件中獲取。
bazel-bin/tensorflow/python/tools/freeze_graph --input_graph=/home/scopeserver/RaidDisk/DeepLearning/resnetv2.pbtxt --input_checkpoint=/home/scopeserver/RaidDisk/DeepLearning/slim/inception_resnet_v2.ckpt --output_graph=./inception_resetv2.pb --output_node_names=InceptionResnetV2/Logits/Predictions
您可以運行此命令在Android應用的gradle一個任務。
謝謝大副。我現在能夠生成.pb文件。但是當我在我的移動應用程序中使用這個.pb文件時,預測會變成零 –