工程代码:https://github.com/eriklindernoren/PyTorch-YOLOv3

第一步:下载Darknet 版的yolov3.weights

第二部:使用以上工程代码加载模型:model.load_darknet_weights() 并保存为pytorch模型格式yolov3.pth:

torch.save(model.state_dict(), pytorch_model)

第三步:用 torch.jit.trace   convert  模型为  .pt  格式。 这里注意:参数check_trace=False,不然会报错

traced_script_module = torch.jit.trace(model, example,check_trace=False)

参考:https://github.com/pytorch/pytorch/issues/23993

注意:torch.jit.trace()不支持控制流语句,需将models.py 中 if targets is None 以下语句注释掉,增加

return output,0 因为作为推断,所以注释掉的语句不影响。
import numpy as np
import torch
# import torchsnooper
from models import Darknet
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# with torch.jit.optimized_execution(True):def save_pytorch_model(darknet_model,pytorch_model,config_file):model = Darknet(config_file).to(device)model.load_darknet_weights(darknet_model)torch.save(model.state_dict(), pytorch_model)print('pytorch model saved!')def convert_pytorch_model_to_libtorch(config_file,pytorch_model,libtorch_model):model = Darknet(config_file).to(device)model.load_state_dict(torch.load(pytorch_model))model.eval()example = torch.rand(1,3,416,416).cuda()with torch.jit.optimized_execution(True):print('pp')# example 报错 Expected type 'tuple', got 'Tensor' instead ,可能是input没有放cuda上traced_script_module = torch.jit.trace(model, example,check_trace=False)# save the converted modelprint('oo')traced_script_module.save(libtorch_model)output = traced_script_module(torch.rand(1,3,416,416).cuda())print(output)print('trace model saved!')

PyTorch YOLOV3 模型转换问题相关推荐

  1. 瑞芯微rv1126+yolov3模型转换

    瑞芯微rv1126+yolov3模型转换 文章目录 瑞芯微rv1126+yolov3模型转换 环境准备 一.加载运行docker 1.安装 Docker 2. 加载镜像 二.转换步骤 1.下载yolo ...

  2. 【1】AI模型转换综述

    前言 当用户基于各种原因学习并使用了一种框架的时候,常常会发现应用或者再训练的场景改变了,比如用户用 Caffe 训练好了一个图像识别的模型,但是生产环境是使用 TensorFlow 做预测.再比如某 ...

  3. yolo模型转换:pytorch -> onnx -> caffe

    第一步:pytorch转onnx(pytorch版,yolov3-9.0开始提供脚本export.py) (1)设置onnx算子版本(按需) 修改代码: torch.onnx.export(model ...

  4. Pytorch版本YOLOv3模型转Darknet weights模型然后转caffemodel再转wk模型在nnie上面推理

    Pytorch版本YOLOv3模型转darknet weights模型然后转caffemodel再转wk模型在nnie上面推理 文章目录 Pytorch版本YOLOv3模型转darknet weigh ...

  5. 使用Google云平台实战基于PyTorch的yolo-v3模型

    对于计算机视觉爱好者来说,YOLO (You Only Look Once)是一个非常流行的实时目标检测算法,因为它非常快,同时性能非常好. 在本文中,我将共享一个视频处理的代码,以获取视频中每个对象 ...

  6. OpenCV转换PyTorch分类模型并使用OpenCV C ++启动

    OpenCV转换PyTorch分类模型并使用OpenCV C ++启动 转换PyTorch分类模型并使用OpenCV C ++启动 目标 简介 要求 实践 模型转换管道 推理管道 转换PyTorch分 ...

  7. OpenCV转换PyTorch分类模型并使用OpenCV Python启动

    OpenCV转换PyTorch分类模型并使用OpenCV Python启动 转换PyTorch分类模型并使用OpenCV Python启动 目标 介绍 要求 实践 模型转换管道 模型评估 评估模式 测 ...

  8. linux caffe生成的模型,深度学习之pytorch转caffe转ncnn模型转换(三)

    搭建caffe平台: 先在Linux系统下搭建caffe环境,安装依赖包: sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy- ...

  9. 【地平线开发板 模型转换】将pytorch生成的onnx模型转换成.bin模型

    文章目录 1 获取onnx模型 2 启动docker容器 3 onnx模型检查 3.1 为什么要检查? 3.2 如何操作 4 图像数据预处理 4.1 一些问题的思考 4.2 图片挑选与放置 4.2 使 ...

  10. pytorch模型转ONNX转TensorRT,模型转换和推理部署

    一.pth模型转ONNX import os import sys import torch import numpy as npfrom feat.model import ResNet # 导入自 ...

最新文章

  1. linux下find(文件查找)命令的用法总结
  2. Windows 2008 R2_NLB网络负载均衡(图文详解)(转)
  3. 06Prism WPF 入门实战 - Log控件库
  4. GCD and LCM Aizu - 0005(辗转相除)+GCD LCM Inverse POJ - 2429(java或【Miller Rabin素数測试】+【Pollar Rho整数分解】)
  5. js中的四舍五入函数
  6. perl数组硬引用_Perl 继续前行,Perl 7 将是下一代(硬核老王点评版)
  7. Eclipse集成svn后出现Failed to load JavaHL Library的解决办法
  8. android 中间凹背景_Android实现边缘凹凸的View
  9. mysql 时间小于_删库不必跑路,自己动手MySQL数据恢复,真香~~
  10. 支付业务与技术架构学习总结(3)——账务系统
  11. css3特效-传送带示例
  12. 职业经理人-授权后才是管理的开始
  13. 使用npm uninstall卸载express无效
  14. ylbtech-Unitity-CS:AnonymousDelegates
  15. java地址值是几进制_Java三种进制的数值常量操作代码
  16. php libiconv close_PHP出现undefined reference to `libiconv' 错误的解决方法
  17. 程序员必备的画图工具汇总
  18. 信息技术在园林绿化技师试题测试中的应用
  19. 使用Nuxt.js框架开发(SSR)服务端渲染项目
  20. 优秀互联网面试题总结

热门文章

  1. 485Modbus协议
  2. 在线c语言编程网站_学编程有哪些好的网站推荐?
  3. 计算机考研408复试题汇总
  4. 免费IP切换工具有用吗?
  5. cadence从原理图导出器件库_一种cadence中原理图替换元器件库的方法与流程
  6. 什么是静态代理和动态代理,两者的区别(笔记)
  7. Node.js连接数据库
  8. BOS物流管理系统第一阶段
  9. XX市核酸检测软件开发基本方案
  10. redis java 视频教程_Redis基础与提升视频教程