一种可以尝试用tensorflow生成tflite的方法

 通过以下代码得到固化后的pb文件

from tensorflow.python.framework import graph_util

···
inputs = tf.placeholder(tf.float32, shape=[None, ···], name='inputs') 
···
prediction = tf.nn.softmax(logits, name='prediction') 
···

with tf.Session() as sess:
    ···    <-- 训练过程
    graph_def = tf.get_default_graph().as_graph_def()
    output_graph_def = graph_util.convert_variables_to_constants(
        sess, 
        graph_def, 
        ['prediction']  <-- 参数:output_node_names,输出节点名
    )
    with tf.gfile.GFile('./xxx/xxx.pb', 'wb') as fid:
        serialized_graph = output_graph_def.SerializeToString()
        fid.write(serialized_graph)

然后安装bazel编译tensorflow,使用tensorflow自带工具对模型进行转换

 

 bazel build tensorflow/tools/graph_transforms:summarize_graph  #bazel编译tensorflow
bazel-bin/tensorflow/tools/graph_transforms/summarize_graph --in_graph=tensorflow_inception_graph.pb

这种方法能够适用与darknet框架种生成的weight和cfg,然后将weight和cfg转换为ckpt和pb文件,然后固化ckpt和pb得到有图和数据的pb文件,最后用pb2tflite脚本转换为可以使用的tflite文件。可以参考和其中的评论https://www.jianshu.com/p/c9fd5c01715e

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值