赞
踩
参考资料:
https://blog.csdn.net/heiheiya/article/details/91437196
这里首先感谢上面的大佬提供的源码以及转换方法,本文只是搬运总结一下。
最近想把yolov3部署到移动端,然后用android的npu接口加载模型跑下试试性能。但网上大多提供的yolov3都是.weights模型,而最终npu接口所需要的是.tflite。所以我需要先把.weights转成.pb,然后再把.pb通过转换工具转成.tflite。本文先介绍如何将.weights转成.pb。
运行环境
python 3.6.7
tensorflow 1.9.0
按照参考资料中博客所写,即可轻松进行模型转换。
1.首先下载coco.names、yolov3.weights两个文件。
这里方便起见,可以直接新建个coco.names的文件,然后把下面内容复制进去。
person bicycle car motorbike aeroplane bus train truck boat traffic light fire hydrant stop sign parking meter bench bird cat dog horse sheep cow elephant bear zebra giraffe backpack umbrella handbag tie suitcase frisbee skis snowboard sports ball kite baseball bat baseball glove skateboard surfboard tennis racket bottle wine glass cup fork knife spoon bowl banana apple sandwich orange broccoli carrot hot dog pizza donut cake chair sofa pottedplant bed diningtable toilet tvmonitor laptop mouse remote keyboard cell phone microwave oven toaster sink refrigerator book clock vase scissors teddy bear hair drier toothbrush
2.下载https://github.com/mystic123/tensorflow-yolo-v3.git代码到本地。这个大神写的代码还是很好用的,很适合单纯的进行模型转换,没有冗余的东西。
git clone https://github.com/mystic123/tensorflow-yolo-v3.git
下面是成功clone的log。
3.将下载好的coco.names、yolov3.weights放入步骤2的代码同级目录下。如下图所示。
4.开启终端,或pycharm的终端。进入tensorflow-yolo-v3的路径下,运行
python convert_weights_pb.py --class_names coco.names --data_format NHWC --weights_file yolov3.weights
即可得到名为 frozen_darknet_yolov3_model.pb文件。
运行log如下:
5.生成 frozen_darknet_yolov3_model.pb文件后,我们运行下列代码,看下转换后的.pb文件各层的名字是否对应。
import tensorflow as tf import os model_dir = './' model_name = 'frozen_darknet_yolov3_model.pb' def create_graph(): with tf.gfile.FastGFile(os.path.join(model_dir, model_name), 'rb') as f: graph_def = tf.GraphDef() graph_def.ParseFromString(f.read()) tf.import_graph_def(graph_def, name='') create_graph() tensor_name_list = [tensor.name for tensor in tf.get_default_graph().as_graph_def().node] for tensor_name in tensor_name_list: print(tensor_name, '\n')
运行完之后会出现一大坨层的名字,结果如下:
至此,yolov3.weights转成.pb格式完成,希望接下来能坚持把.pb转.tflite的具体过程探索完成,并记录下来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。