关于torch.jit.trace在yolov8中出现的问题

2023-10-31

关于torch.jit.trace在yolov8中出现的问题

疑问:

1)为什么yolov8不能直接torch.jit.trace,需要经过图像检测后才能,且检测后self.net发生变化;而2中的第一版yolov5可以直接torch.jit.trace

2)3中的第二版yolov5初始不能直接torch.jit.trace,用了两种方式后,都能了,但两种方式却不是相同的,那他们哪一点共同点,导致都能转模型了呢

1.yolov8

self.net 

在这里插入图片描述

此时,直接torch.jit.trace会报错

torch.jit.trace(self.net, torch.rand((1, 3, 640, 640)), strict=False)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-z6YmQW7G-1688017560648)(D:\otherdocuments\typora\images\image-20230629132150376.png)]

但增加一步检测图片后,可以实现

self.net(torch.rand((1, 3, 640, 640)))

在这里插入图片描述

torch.jit.trace(self.net, torch.rand((1, 3, 640, 640)), strict=False)

在这里插入图片描述

此时的self.net发生变化,如shape从none变为torch.size([1,128,80,80])

在这里插入图片描述

2.对比yolov5

self.net 

在这里插入图片描述

此时,直接torch.jit.trace不会报错

torch.jit.trace(self.net, torch.rand((1, 3, 640, 640)), strict=False)

在这里插入图片描述

先增加一步检测图片,在看self.net,无变化

在这里插入图片描述
在这里插入图片描述

3.对比另一版yolov5的export

直接torch.jit.trace(model, img)会报错

torch.jit.trace(model, img)

在这里插入图片描述

此时的model

在这里插入图片描述

1)运行一步

model.model[-1].export = True  # set Detect() layer export=True

之后就可以torch.jit.trace

在这里插入图片描述

此时的model.model[-1]中的export有False变为True

在这里插入图片描述

2)或者增加一步检测

model(img)

在这里插入图片描述

接着torch.jit.trace成功

在这里插入图片描述

但此时model.model[-1]中的export还是False

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于torch.jit.trace在yolov8中出现的问题 的相关文章

  • MNIST、torchvision 中的输出和广播形状不匹配

    在 Torchvision 中使用 MNIST 数据集时出现以下错误 RuntimeError output with shape 1 28 28 doesn t match the broadcast shape 3 28 28 这是我的
  • PyTorch 中的截断反向传播(代码检查)

    我正在尝试在 PyTorch 中实现随时间截断的反向传播 对于以下简单情况K1 K2 我下面有一个实现可以产生合理的输出 但我只是想确保它是正确的 当我在网上查找 TBTT 的 PyTorch 示例时 它们在分离隐藏状态 将梯度归零以及这些
  • 推导 pytorch 网络的结构

    对于我的用例 我需要能够采用 pytorch 模块并解释模块中的层序列 以便我可以以某种文件格式在层之间创建 连接 现在假设我有一个简单的模块 如下所示 class mymodel nn Module def init self input
  • 无法将 cuda:0 设备类型张量转换为 numpy。首先使用 Tensor.cpu() 将张量复制到主机内存

    我试图展示 GAN 网络在某些指定时期的结果 打印当前结果的功能之前是在 TF 中使用的 我需要换成pytorch def show result G net z num epoch show False save False path r
  • PyTorch - 参数不变

    为了了解 pytorch 的工作原理 我尝试对多元正态分布中的一些参数进行最大似然估计 然而 它似乎不适用于任何协方差相关的参数 所以我的问题是 为什么这段代码不起作用 import torch def make covariance ma
  • Pytorch:了解 nn.Module 类内部如何工作

    一般来说 一个nn Module可以由子类继承 如下所示 def init weights m if type m nn Linear torch nn init xavier uniform m weight class LinearRe
  • 在pytorch中使用tensorboard,但得到空白页面?

    我在pytorch 1 3 1中使用tensorboard 并且我在张量板的 pytorch 文档 https pytorch org docs stable tensorboard html 运行后tensorboard logdir r
  • 使用 KL 散度时,变分自动编码器为每个输入 mnist 图像提供相同的输出图像

    当不使用 KL 散度项时 VAE 几乎完美地重建 mnist 图像 但在提供随机噪声时无法正确生成新图像 当使用 KL 散度项时 VAE 在重建和生成图像时都会给出相同的奇怪输出 这是损失函数的 pytorch 代码 def loss fu
  • 在pytorch张量中过滤数据

    我有一个张量X like 0 1 0 5 1 0 0 1 2 0 我想实现一个名为的函数filter positive 它可以将正数据过滤成新的张量并返回原始张量的索引 例如 new tensor index filter positive
  • PyTorch 中复数矩阵的行列式

    有没有办法在 PyTorch 中计算复矩阵的行列式 torch det未针对 ComplexFloat 实现 不幸的是 目前尚未实施 一种方法是实现您自己的版本或简单地使用np linalg det 这是一个简短的函数 它计算我使用 LU
  • Blenderbot 微调

    我一直在尝试微调 HuggingFace 的对话模型 Blendebot 我已经尝试过官方拥抱脸网站上给出的传统方法 该方法要求我们使用 trainer train 方法来完成此操作 我使用 compile 方法尝试了它 我尝试过使用 Py
  • Pytorch Tensor 如何获取元素索引? [复制]

    这个问题在这里已经有答案了 我有 2 个名为x and list它们的定义如下 x torch tensor 3 list torch tensor 1 2 3 4 5 现在我想获取元素的索引x from list 预期输出是一个整数 2
  • torch.stack() 和 torch.cat() 函数有什么区别?

    OpenAI 的强化学习 REINFORCE 和 actor critic 示例具有以下代码 加强 https github com pytorch examples blob master reinforcement learning r
  • Pytorch 损失为 nan

    我正在尝试用 pytorch 编写我的第一个神经网络 不幸的是 当我想要得到损失时遇到了问题 出现以下错误信息 RuntimeError Function LogSoftmaxBackward0 returned nan values in
  • Pytorch“展开”等价于 Tensorflow [重复]

    这个问题在这里已经有答案了 假设我有大小为 50 50 的灰度图像 在本例中批量大小为 2 并且我使用 Pytorch Unfold 函数 如下所示 import numpy as np from torch import nn from
  • 如何从已安装的云端硬盘文件夹中永久删除?

    我编写了一个脚本 在每次迭代后将我的模型和训练示例上传到 Google Drive 以防发生崩溃或任何阻止笔记本运行的情况 如下所示 drive path drive My Drive Colab Notebooks models if p
  • 预期设备类型为 cuda 的对象,但在 Pytorch 中获得了设备类型 cpu

    我有以下计算损失函数的代码 class MSE loss nn Module metric L1 L2 norms or cosine similarity mode training or evaluation mode def init
  • PyTorch 中的交叉熵

    交叉熵公式 但为什么下面给出loss 0 7437代替loss 0 since 1 log 1 0 import torch import torch nn as nn from torch autograd import Variable
  • 在 Pytorch 中估计高斯模型的混合

    我实际上想估计一个以高斯混合作为基本分布的归一化流 所以我有点被火炬困住了 但是 您可以通过估计 torch 中高斯模型的混合来在代码中重现我的错误 我的代码如下 import numpy as np import matplotlib p
  • 如何计算cifar10数据的平均值和标准差

    Pytorch 使用以下值作为 cifar10 数据的平均值和标准差 变换 Normalize 0 5 0 5 0 5 0 5 0 5 0 5 我需要理解计算背后的概念 因为这些数据是 3 通道图像 我不明白什么是相加的 什么是除什么的等等

随机推荐

  • mysql数据库管理工具 h_几款桌面MYSQL管理工具

    1 Navicat Navicat是一个强大的MySQL数据库管理和开发工具 Navicat导航为专业开发者提供了一套强大的足够尖端的工具 但它对于新用户仍然 是易于 学习 Navicat 使用了极好的图形用户界面 GUI 可以让你用一种安
  • 数据预处理——数据无量纲化(归一化、标准化)

    文章目录 1 数据归一化 1 1 数据归一化定义 1 2 MinMaxScaler 归一化 1 3 MinMaxScaler 使用样例 2 数据标准化 2 1 数据标准化定义 2 2 StandardScaler 标准化 2 3 Stand
  • python如何求列表的平均值_python如何求列表平均值?

    推荐教程 python视频教程 python如何求列表平均值 python函数求列表平均值的方法 用法 mean matrix axis 0 其中matrix为一个矩阵 axis为参数 以m n矩阵举例 axis不设置值 对 m n 个数求
  • mysql基础命令

    1 常用命令 1 create database db name 创建数据库 2 show databases 显示所有的数据库 3 drop database db name 删除数据库 4 show tables 显示数据表 5 des
  • 三菱j4伺服中文说明书_三菱伺服抱闸伺服的使用方法

    刹车原理 伺服电机的刹车抱闸和普通的电磁抱闸原理是一样的 靠电磁线圈产生磁场吸力 克服机械刹车片的弹簧制动力矩 驱动机械刹车片的分开 释放电机轴 一般三菱伺服的刹车都是直流24V电源 他的刹车是不分正负极 很多初次使用的工控人员都会纠结这个
  • 网站设计之常见简单实用的JavaScript特效总结(上篇)

    这篇主要是总结JavaScript常见简单实用的特效 主要从代码量短 简单实用几个方面进行叙述 其中特效包括 1 鼠标悬停图片切换查看器 2 鼠标移动图片放大 3 鼠标移动切换内容 4 贵财下拉菜单案例 5 JS图片放大镜功能 类似淘宝 6
  • 【无标题】文件查找、运行项目(网站)HTML5(H5)、压缩---解压缩

    一 登录系统 用户名 root 密钥对 安全组 云服务器 来源 0 0 0 0 0 端口 ALL TCP 80 策略 允许 物理服务器 虚拟机 systemctl stop firewalld 关闭防火墙 setenforce 0 关闭se
  • ethers.js 应用(助记词、地址、私钥)

    1 创建助记词 const ethers require ethers let wallet ethers Wallet createRandom let mnemonic wallet mnemonic console log mnemo
  • MybatisPlus整合Flowable出现的坑

    MybatisPlus整合Flowable出现的坑 摘要 现在在项目中使用的MybatisPlus 最近研究了一下流程框架Flowable 看了很多技术文档博客 打算直接整合进去 先记录一下遇到的问题 问题 Description file
  • #define宏定义详解

    define宏定义 1 常规用法 无参宏 define PI 3 1415926 define EN 1e5 定义指数1 10e5 cout lt
  • SpringBoot学习笔记之日志处理

    spring boot内部使用Commons Logging来记录日志 但也保留外部接口可以让一些日志框架来进行实现 例如Java Util Logging Log4J2还有Logback 如果你想用某一种日志框架来进行实现的话 就必须先配
  • vue中使用loading

    因为有很多组件需要loading 所以我们把loading写为组件 在全局中都可以使用 而选择的loading 最好是css3动画写的 如果用图片 图片本身就是需要请求的 在网上找了一个css3动画 如下 loading中的代码
  • osgEarth的Rex引擎原理分析(一一四)rex与mp引擎的关系

    目标 一一三 中的问题201 rex与mp都是osgEarth加载地理高程和影像的引擎 rex比mp新 功能更强大 rex引擎支持随机瓦片加载 地图颜色渐变 更快的添加删除 待继续分析列表 9 earth文件中都有哪些options 九 中
  • wangeditor富文本引用、表格使用问题

    wangeditor富文本组件问题 问题介绍 具体情况 解决方案 css修改 说明 问题介绍 本文记录了wangeditor开发中遇到的一个问题 之前在使用wangeditor的时候因为时间紧张没有过多研究 后续项目测试 测出来发现编辑器中
  • SAP系统权限配置一

    1 系统权限的重要性 2 SAP系统环境 在测试环境做客户化权限的配置测试 开发系统中做对应的开发 不允许直接正式系统环境中做客户化配置以及开发 只能通过传输的形式 3 SAP权限的基本概念 这边后续都是ABAP开发顾问来分配和定义的 4
  • 在项目中,关于前端实现数据可视化的技术选择

    前言 在项目中 数据可视化以图表 报表类型为主 需求背景 技术框架是Vue2 x版本 组件库是Ant Design of Vue 能够支撑足够多的图表类型开发 图表大小 位置能够随意变动 图表样式需要支持丰富多样的用户配置 强大 开放的图表
  • 计算机专业数学建模结课论文,数学建模论文范文2篇

    利用数学知识解决现实生活的具体问题了成为当今数学界普遍关注的内容 利用建立数学模型解决实际问题的数学建模活动也应运而生了 下面是秋天网小编为大家整理的数学建模论文 供大家参考 数学建模论文范文一 初中数学建模教学研究 数学 源于人们对生产与
  • Snapd出错记录

    突然断电导致无法访问所有应用商店安装的应用 即snapd出问题 访问systemctl status snapd service无法访问 如图 查阅了很多资料 有用的只有重新安装 重新安装snapd sudo apt autoremove
  • 常用限流算法的应用场景和实现原理

    在高并发业务场景下 保护系统时 常用的 三板斧 有 熔断 降级和限流 今天和大家谈谈常用的限流算法的几种实现方式 这里所说的限流并非是网关层面的限流 而是业务代码中的逻辑限流 限流算法常用的几种实现方式有如下四种 计数器 滑动窗口 漏桶 令
  • 关于torch.jit.trace在yolov8中出现的问题

    关于torch jit trace在yolov8中出现的问题 疑问 1 为什么yolov8不能直接torch jit trace 需要经过图像检测后才能 且检测后self net发生变化 而2中的第一版yolov5可以直接torch jit