python - 如何将保存的模型转换为 tflite 文件?
问题描述
我想使用这个项目中的模型https://github.com/mrahtz/tensorflow-pos-tagger并将其转换为 tflite 文件,以便我可以在 Android 应用程序中使用它。
在生成检查点文件(数据、索引和元文件)后,我尝试使用此脚本将它们转换为 .pbtxt 文件。
import tensorflow as tf
from argparse import ArgumentParser
def main():
parser = ArgumentParser()
parser.add_argument('--checkpoint', type=str,
dest='checkpoint',
help='dir or .ckpt file to load checkpoint from',
metavar='CHECKPOINT', required=True)
parser.add_argument('--model', type=str,
dest='model',
help='.meta for your model',
metavar='MODEL', required=True)
parser.add_argument('--out-path', type=str,
dest='out_path',
help='model output directory',
metavar='MODEL_OUT', required=True)
opts = parser.parse_args()
tf.reset_default_graph()
saver = tf.train.import_meta_graph(opts.model)
builder = tf.saved_model.builder.SavedModelBuilder(opts.out_path)
with tf.Session() as sess:
# Restore variables from disk.
saver.restore(sess, opts.checkpoint)
print("Model restored.")
builder.add_meta_graph_and_variables(sess,
[tf.saved_model.tag_constants.SERVING],
strip_default_attrs=False)
builder.save(as_text=True)
if __name__ == '__main__':
main()
在终端中执行此命令后
python export.py --checkpoint model.ckpt --model model.ckpt.meta --out-path ./export
我在名为 export 的项目中有另一个文件夹,其中包含变量文件夹和 saved_model.pbtxt。
然后我使用了这个命令:
tflite_convert --output_file=test.tflite --saved_model_dir=D:\Praksa-local\tensorflow-pos-tagger-master\export
我收到以下错误:
ValueError:SavedModel 的 SignatureDefs 中没有“serving_default”。可能的值为 ''。
有谁知道这样做的正确方法?我很难找到正确的答案。
解决方案
推荐阅读
- airflow - Apache Airflow - 如何在目标 DAG 中使用 TriggerDagRunOperator 设置 execution_date 以使用当前 execution_date
- operating-system - 双分页 - 根/外部页表包含什么?
- javascript - dataItem(element) 在 KendoDraggable 内返回不正确的项目 - KendoUI JQuery
- javascript - react-leaflet-rotatedmarkers: TypeError: Super expression must be null or a function, not object
- r - 向列中的日期列表添加内容
- python - 无法在 Firebase 查询数据中传递变量
- javascript - 如何减少 JavaScript 事件监听器的重复性?
- sql - INNER JOIN 和 ANTI JOIN 有什么区别
- python - 如何仅获取 x 轴的值?
- pandas - 如果 columna A == column B 中的字段,则打印该字段