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)

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

原文地址:https://www.cnblogs.com/thunder-wu/p/12303460.html

时间: 2024-07-30 21:31:48

YOLOV3——PyTorch训练TensorFlowLite部署模型转换的相关文章

奉献pytorch 搭建 CNN 卷积神经网络训练图像识别的模型,配合numpy 和matplotlib 一起使用调用 cuda GPU进行加速训练

1.Torch构建简单的模型 # coding:utf-8 import torch class Net(torch.nn.Module): def __init__(self,img_rgb=3,img_size=32,img_class=13): super(Net, self).__init__() self.conv1 = torch.nn.Sequential( torch.nn.Conv2d(in_channels=img_rgb, out_channels=img_size, ke

基于文件存储UFS的Pytorch训练IO五倍提升实践

我们在协助某AI客户排查一个UFS文件存储的性能case时发现,其使用的Pytorch训练IO性能和硬件的IO能力有很大的差距(后面内容有具体性能对比数据). 让我们感到困惑的是: UFS文件存储,我们使用fio自测可以达到单实例最低10Gbps带宽.IOPS也可达到2w以上.该AI客户在高IOPS要求的AI单机小模型训练场景下,或者之前使用MXNet.TensorFlow框架时,IO都能跑到UFS理论性能,甚至在大型分布式训练场景中,UFS也可以完全胜任. 于是我们开启了和客户的一次深度联合排

Caffe-python interface 学习|网络训练、部署、测试

继续python接口的学习.剩下还有solver.deploy文件的生成和模型的测试. 网络训练 solver文件生成 其实我觉得用python生成solver并不如直接写个配置文件,它不像net配置一样有很多重复的东西. 对于一下的solver配置文件: base_lr: 0.001 display: 782 gamma: 0.1 lr_policy: "step" max_iter: 78200 #训练样本迭代次数=max_iter/782(训练完一次全部样本的迭代数) momen

Caffe-python interface 学习|网络训练、部署、測试

继续python接口的学习.剩下还有solver.deploy文件的生成和模型的測试. 网络训练 solver文件生成 事实上我认为用python生成solver并不如直接写个配置文件,它不像net配置一样有非常多反复的东西. 对于一下的solver配置文件: base_lr: 0.001 display: 782 gamma: 0.1 lr_policy: "step" max_iter: 78200 #训练样本迭代次数=max_iter/782(训练完一次所有样本的迭代数) mom

【tensorflow2.0】使用tensorflow-serving部署模型

TensorFlow训练好的模型以tensorflow原生方式保存成protobuf文件后可以用许多方式部署运行. 例如:通过 tensorflow-js 可以用javascrip脚本加载模型并在浏览器中运行模型. 通过 tensorflow-lite 可以在移动和嵌入式设备上加载并运行TensorFlow模型. 通过 tensorflow-serving 可以加载模型后提供网络接口API服务,通过任意编程语言发送网络请求都可以获取模型预测结果. 通过 tensorFlow for Java接口

SSIS教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)

在本课中,将修改在第 5 课: 添加包部署模型的包配置中创建的包,以便使用项目部署模型.您将使用一个参数替换该配置值,以便指定示例数据位置.还可以复制本教程附带的已完成的 Lesson 5 包. 使用 Integration Services 项目配置向导,您将该项目转换为项目部署模型,并且使用参数而不是配置值来设置 Directory 属性.本课部分介绍了您将现有 SSIS 包转换为新的项目部署模型时要遵循的步骤. 再次运行包时,Integration Services 服务将使用参数填充该变

SSIS教程:创建简单的ETL包 -- 5. 添加包部署模型的包配置(Adding Package Configurations for the Package Deployment Model)

包配置允许您从开发环境的外部设置运行时属性和变量. 配置允许您开发灵活且易于部署和分发的包.Microsoft Integration Services 提供了以下配置类型: XML 配置文件 环境变量 注册表项 父包变量 SQL Server 表 Step 1: 复制第 4 课包 Step 2: 启用和配置包配置 创建映射到 Directory 属性的新的包级别变量 在 SSIS 设计器中,单击“控制流”选项卡的背景. 这会将要创建的变量的作用域设置为包. 在 SSIS 菜单中,选择“变量”.

使用faster-rcnn.pytorch训练自己数据集

引言 最近在实验室复现faster-rcnn代码,基于此项目jwyang/faster-rcnn.pytorch(目前GitHub上star最多的faster-rcnn实现),成功测试源码数据集后,想使用自己的数据集爽一下. 本文主要介绍如何跑通源代码并“傻瓜式”训练自己的数据集~之前的此类博客都是介绍如何在原作者的caffe源码下进行数据集训练,那么本文针对目前形势一片大好的pytorh版faster-rcnn源码进行训练新的数据集,废话不多说,Lets go! faster-rcnn pyt

OpenVino的MXnet模型转换

[在使用Movidius的模型优化器转换模型之前,需要先用MXNet的deploy.py将模型转换成部署模式,然后才能用movidius的优化器转换] https://github.com/apache/incubator-mxnet/blob/master/example/ssd/deploy.py cd ~git clone https://github.com/apache/incubator-mxnet mv tmp/*-0000.params tmp/ssd_resnet50_512-