Tensorflow 将使用tf.estimator训练并保存的模型转换为.pb
我有一个用tf.estimator训练的模型,它在训练后导出,如下所示Tensorflow 将使用tf.estimator训练并保存的模型转换为.pb,tensorflow,tensorflow-serving,tensorflow-estimator,Tensorflow,Tensorflow Serving,Tensorflow Estimator,我有一个用tf.estimator训练的模型,它在训练后导出,如下所示 serving_input_fn = tf.estimator.export.build_raw_serving_input_receiver_fn( feature_placeholders) classifier.export_savedmodel( r'./path/to/model/trainedModel', serving_input_fn) 这给了我一个保存的_model.pb和一个文件夹,其中包含作为文
serving_input_fn = tf.estimator.export.build_raw_serving_input_receiver_fn(
feature_placeholders)
classifier.export_savedmodel(
r'./path/to/model/trainedModel', serving_input_fn)
这给了我一个保存的_model.pb
和一个文件夹,其中包含作为文件的权重。我可以使用重新加载保存的模型
predictor = tf.contrib.predictor.from_saved_model(r'./path/to/model/trainedModel')
我想在android上运行这个模型,这要求模型采用.pb
格式。如何冻结此预测器以在android平台上使用?我没有部署到android,因此您可能需要自定义一些步骤,但我就是这样做的:
使用参数运行/python/tools/freeze_-graph.py
,-output_-node_-names=
(您可以从graph.pbtxt
获取输出节点的名称,尽管这不是最合适的方式),-output_-graph=freezed_-model.pb
(可选)使用足够的参数运行/python/tools/optimize\u for_interference.py
。或者,您可以查找并有选择地应用优化
在第1步结束时,您已经有了一个冻结的模型,没有变量了,然后可以部署到Android上