【YOLOv5】使用yolov5训练模型时报错合集

文章目录

    • 前言
    • 问题1 -- VsCode终端无法进入Anaconda创建的虚拟环境
      • 【问题描述】
      • 【问题分析】
      • 【解决方式】
        • 方法一
        • 方法二
    • 问题2 -- 怎么在VsCode中为项目配置Anaconda创建的虚拟环境
      • 【问题描述】
      • 【解决方式】
    • 问题3 -- yolov5训练模型时报错RuntimeError: result type Float can't be cast to the desired output type __int64
      • 【问题描述】
      • 【问题分析】
      • 【解决方式】
    • 问题4 -- yolov5训练模型时出现警告AttributeError: 'FreeTypeFont' object has no attribute 'getsize'
      • 【问题描述】
      • 【问题分析】
      • 【解决方式】
        • 方法一
        • 方法二


前言

这篇文章用来记录在使用yolov5训练模型时报错处理,持续更新······
2024/4/18
【问题一】VsCode终端无法进入Anaconda创建的虚拟环境
【问题二】怎么在VsCode中为项目配置Anaconda创建的虚拟环境
【问题三】yolov5训练模型时报错RuntimeError: result type Float can’t be cast to the desired output type __int64
【问题四】 yolov5训练模型时出现警告AttributeError: ‘FreeTypeFont’ object has no attribute ‘getsize’


问题1 – VsCode终端无法进入Anaconda创建的虚拟环境

【问题描述】

在这里插入图片描述

【问题分析】

VsCode新建终端默认是powershell,需把VsCode终端默认为cmd。

【解决方式】

方法一

在这里插入图片描述

方法二
  • 1、左下角选择设置
    在这里插入图片描述
    2、在搜索框中输入powershell选择Command Prompt
    在这里插入图片描述
  • 3、重启VsCode

问题2 – 怎么在VsCode中为项目配置Anaconda创建的虚拟环境

【问题描述】

假设我们在Anaconda Prompt下创建了一个虚拟环境,我们想要在VsCode中导入创建好的虚拟环境。

【解决方式】

  • 1、在代码空白处同时按下 Ctrl + Shift + P
  • 2、在弹出的搜索框输入“选择解释器”
    在这里插入图片描述
  • 3、点击进入Python: 选择解释器
  • 4、选择你想要的环境
    在这里插入图片描述
  • 5、右下角查看项目的环境
    在这里插入图片描述

问题3 – yolov5训练模型时报错RuntimeError: result type Float can’t be cast to the desired output type __int64

【问题描述】

报错信息如下:
在这里插入图片描述

【问题分析】

PyTorch 的早期版本中,当进行某些运算时,PyTorch 可能会自动对张量的数据类型进行调整以适应操作的需求。然而,在新版本的PyTorch 中,这种自动转换可能不再发生,因此需要显式地进行数据类型的转换。
通过添加 .long() 方法到 torch.ones创建的张量上,可以明确地将该张量的数据类型从默认的浮点数(float)转换为长整型(long)。

【解决方式】

  • 1、找到 loss.py 文件
  • 2、修改loss.py
    将 loss.py 文件中的第173行代码
    gain = torch.ones(7, device=targets.device) # normalized to gridspace gain
    改为
    gain = torch.ones(7, device=targets.device).long()
    在这里插入图片描述
  • 3、按Ctrl + S键对代码进行保存

问题4 – yolov5训练模型时出现警告AttributeError: ‘FreeTypeFont’ object has no attribute ‘getsize’

【问题描述】

报错信息如下:
在这里插入图片描述

【问题分析】

问题出库Pillow中的getsize函数,getsize已弃用,已在Pillow 10(2023-07-01)中删除。

【解决方式】

方法一

1、找到 plots.py 文件
2、在 plots.py 中添加以下代码

import PIL
def check_version(target_version):"""Check if the current PIL version is greater than or equal to the target version.Args:target_version (str): The target version string to compare against (e.g., '9.2.0').Returns:bool: True if the current PIL version is greater than or equal to the target version, False otherwise."""current_version = PIL.__version__current_version_parts = [int(part) for part in current_version.split('.')]target_version_parts = [int(part) for part in target_version.split('.')]# Compare version partsfor cur, tgt in zip(current_version_parts, target_version_parts):if cur > tgt:return Trueelif cur < tgt:return False# If all parts are equal, the versions are equal or current version is shorterreturn True

在这里插入图片描述

3、修改Annotator类的__init__方法
在__init__方法中添加以下代码段:

if check_version('9.2.0'):self.font.getsize = lambda x: self.font.getbbox(x)[2:4]  # text width, height

在这里插入图片描述

4、按Ctrl + S键对代码进行保存

方法二

1、打开Anaconda Prompt

2、进入你为yolov5项目配置的虚拟环境

conda activate yolo_v5

将“yolo_v5”改为你自己创建的虚拟环境名

3、输入以下命令查看安装的pillow版本

pip show pillow

4、使用以下命令卸载pillow

pip uninstall pillow

5、安装版本为9.5.0的pillow(有挂代理/梯子记得关掉)

pip install pillow==9.5.0

如果安装失败或下载速度慢,可改用国内源进行安装,如换清华源:

pip install pillow==9.5.0 -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple --trusted-host=https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/99.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web自动化测试系列-selenium常用方法定位(五)

目录 1.selenium的定位方法 2.操作案例 3.实现代码 前面我们介绍了html页面元素主要是通过标签和属性来进行定位 &#xff0c;只要满足唯一&#xff0c;无论是标签还是属性 &#xff0c;都能进行定位 。当然 &#xff0c;我们要通过selenium来进行定位 &#xff0c;同样还是…

基于SpringBoot的在线五子连珠的设计与实现,前端采用vue框架;后端采用SpringBoot,mybatis

介绍 基于SpringBoot的在线五子连珠的设计与实现&#xff0c;主要是设计一款五子棋游戏&#xff0c;涉及登录注册的功能&#xff0c;人机对战、联机对战和积分排行榜的功能。其中人机对战中&#xff0c;电脑采用的是采用了一种基于局面分析的评分算法来确定机器人的下一步落子…

线程池学习(通俗易懂)

线程池 线程池是什么ThreadPoolExecutor模拟实现线程池结语 线程池是什么 假设我们要频繁的创建线程和销毁线程,但是创建线程和销毁线程是有成本的. 所以我们可以提前创建一批线程,后面需要使用的时候,直接拿就可以了,这就是线程池. 当线程不再使用的时候,就归还到池子里.为什…

图片懒加载

看下tuniu的页面&#xff0c;这有两个属性src和data-src <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><t…

SpringBoot3 + Kotlin + mybatis-plus + Swagger3后端开发样例

前言&#xff1a; Kotlin 是一种在 JVM&#xff08;Java 虚拟机&#xff09;、Android 和浏览器端运行的静态类型编程语言。以下是关于 Kotlin 的总结介绍&#xff1a; 1、语言特性&#xff1a; 简洁性&#xff1a;Kotlin 旨在提供简洁且安全的代码&#xff0c;同时保持与 Jav…

什么是反向 ETL?为什么它很有价值?

提取、转换、加载 &#xff08;ETL&#xff09; 过程已经成熟并被广泛采用。 它只涉及从各种源系统中获取数据&#xff0c;将其转换为标准化数据模型&#xff0c;然后将其加载到数据仓库中。从那里&#xff0c;您的团队使用其商业智能 &#xff08;BI&#xff09; 和分析工具中…

云轴科技ZStack入选中国信通院《高质量数字化转型产品及服务全景图(2023年度)》

近日&#xff0c;由中国互联网协会主办、中国信通院承办的“2024高质量数字化转型创新发展大会”暨“铸基计划”年度会议在北京成功召开。 本次大会发布了2024年度行业数字化转型趋势&#xff0c;总结并展望了“铸基计划”2023年取得的工作成果及2024年的工作规划。同时&#…

谷粒商城实战(013 业务-认证服务-短信验证)

Java项目《谷粒商城》架构师级Java项目实战&#xff0c;对标阿里P6-P7&#xff0c;全网最强 总时长 104:45:00 共408P 此文章包含第211p-第p219的内容 介绍 认证中心要集成 社交登录、OAuth2.0、单点登录 等功能 OAuth 2.0&#xff1a; 问题解决&#xff1a; OAuth 2.0 主要…

10分钟1000台虚机 云安全效能双升 亚信安全新信舱无代理云平台快速适配版正式发布

新信舱 亚信安全新信舱无代理云平台快速适配版正式发布。在云平台依赖性、无代理部署速度、宿主机无代理AV防护和虚拟机缓存扫描性能等方面&#xff0c;新信舱无代理版本提供了无缝的可扩展性、低资源消耗并降低管理复杂性&#xff0c;让安全防护真正做到了 多快好省&#xff…

Linux基本指令(1)

目录 ls指令&#xff1a; pwd命令&#xff1a; cd指令&#xff1a; touch指令&#xff1a; mkdir指令&#xff1a; rmdir指令&&rm指令&#xff1a; man指令&#xff1a; cp指令&#xff1a; ls指令&#xff1a; 语法&#xff1a;ls [选项][目录或者文件] 作用…

突破传统WAF的瓶颈·WAAP平台将是未来发展的必然趋势

近年来&#xff0c;基础组件相继爆出严重的高危漏洞&#xff0c;层出不穷的“核弹级”0-day漏洞事件不断破圈&#xff0c;Web应用已成攻击者首要目标&#xff0c;让整个泛IT行业都难堪其扰&#xff0c;疲于应对。根据Gartner调查显示&#xff0c;信息安全攻击有75%都是发生在We…

【C++庖丁解牛】C++11---统一的列表初始化 | auto | decltype | nullptr | STL中一些变化

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 1. C11简介2. 统一的列表…

【Docker】Linux开放2735端口实现远程访问Docker

【Docker】Linux开放2735端口实现远程访问Docker 大家好 我是寸铁&#x1f44a; 总结了一篇【Docker】Linux开放2735端口实现远程访问Docker ✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 前言 今天需要远程操作Linux服务器的docker&#xff0c;这时就需要开放出docker的端口给我…

建筑企业都在用的工程项目管理系统!企智汇工程项目管理系统

在当今竞争激烈的建筑市场中&#xff0c;工程项目管理的重要性不言而喻。为了提高工程项目质量、降低成本、加快进度&#xff0c;越来越多的建筑企业开始运用工程项目管理系统。建筑企业都在用的工程项目管理系统是企智汇工程项目管理系统。 企智汇工程项目管理系统具备全面的…

axios的封装理解和基本使用

axios的配置 ruoyi的前端对axios进行了封装&#xff0c;让我们发get请求或者是post请求更加方便了。 ruoyi对axios的封装在下面文件中&#xff1a;打开文件&#xff0c;可以看到它有三个显眼的方法&#xff0c;分别是request拦截器、response拦截器和通用下载方法。ruoYi接口地…

L2-2 病毒溯源 坑点

病毒容易发生变异。某种病毒可以通过突变产生若干变异的毒株&#xff0c;而这些变异的病毒又可能被诱发突变产生第二代变异&#xff0c;如此继续不断变化。 现给定一些病毒之间的变异关系&#xff0c;要求你找出其中最长的一条变异链。 在此假设给出的变异都是由突变引起的&a…

Linux_CentOS7/8系统 - 关闭图形界面新增用户机制手册

Linux_CentOS7/8系统 - 关闭图形界面新增用户机制手册 在系统完成图形界面安装后重新启动后第一次登入&#xff0c;在图形界面会有新增用户页面&#xff0c;那如果取消关闭可以按以下操作&#xff1a; CTRLALTF2 root账号登录 yum remove gnome-initial-setup -y init 3 init …

【优质书籍推荐】《Effective Java》是人工智能的基石

大家好&#xff0c;我是爱编程的喵喵。双985硕士毕业&#xff0c;现担任全栈工程师一职&#xff0c;热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。…

Mybatis-plus动态数据源

由于服务没有做微服务部署&#xff0c;需要在后台管理系统访问其他服务的库&#xff0c;所以需要用到动态数据源切换 引入依赖 mybatis-plus动态数据源依赖 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot…

PLSQL的下载与安装

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…