YOLOV3——PyTorch训练TensorFlowLite部署模型转换

Posted thunder-wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YOLOV3——PyTorch训练TensorFlowLite部署模型转换相关的知识,希望对你有一定的参考价值。

  • 主要思路 

          将训练好的.pt文件转换为keras的.h5文件,再将.h5文件转换为.tflite文件。

 

  • 步骤:

       1.环境:PyTorch1.0以上(其他版本也可以,主要是适配下面的开源代码)

       .pt转weights下载后在文件内添加pt_to_weights.py。

from models import *

model = Darknet("cfg/yolov3-obj.cfg")#你用于训练的cfg文件
load_darknet_weights(model,"weights/latest.pt")
save_weights(model,path=weights/latest.weights,cutoff=-1)

      2.环境:Tensorflow2.0,要安装keras模块

      .weights转.h5

      修改convert.py中

          技术图片

        需要避免[None,None,None,3],设置为input_layer = Input(shape=(229, 229, 3)),tensorflow中为静态图,输入要确定。

        运行

  python convert.py yolov3-obj.cfg latest.weights latest.h5

        3.环境:TensorFlow2.0

import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_keras_model_file(latest.h5)
tflite_model = converter.convert()
open("latest.tflite", "wb").write(tflite_model)

         生成后验证是否正确识别即可

以上是关于YOLOV3——PyTorch训练TensorFlowLite部署模型转换的主要内容,如果未能解决你的问题,请参考以下文章

yolov3模型训练——使用yolov3训练自己的模型

终于搞定PyTorch+YoloV3+TensorRT,在aws上利用G4实例和DLAMI进行迁移训练

深度学习和目标检测系列教程 14-300:训练第一个 YOLOv3 检测器

[深度学习]pytorch yolov3 result.txt里面数字含义

yolov3 MNN框架部署C++版

YOLO v3 包括Tiny-Yolo 训练自己的数据集(Pytorch版本)以及模型评价指标的介绍