我想使用该项目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的项目中获得了另一个文件夹,其中包含变量folder和saved_model.pbtxt。
然后我使用了以下命令:
tflite_convert --output_file=test.tflite --saved_model_dir=D:\Praksa-local\tensorflow-pos-tagger-master\export
,我收到以下错误消息:
ValueError:SavedModel的SignatureDef中没有“ serving_default”。可能的值为“。
有人知道这样做的正确方法吗?我很难找到正确的答案。