【深度学习】浅浅记录卸载旧版本anaconda+安装pytorch环境+跑通YOLOv5源代码所遇到的一系列问题


前言

很久之前安装了anaconda(蛮旧的版本)和python3.10。然后在使用anaconda建立虚拟环境的时候遇到了一系列的问题:
①刚开始使用anaconda建立的环境是3.7,然后安装import cv的时候不知道是不是我系统的环境变量设置的python3.10,终端pip老是安装到python3.10的文件夹下面,压根就不pip到anaconda建立的虚拟环境,而且旧版本的anaconda也蛮多bug的。
②在上一个问题的基础上,东搞西搞好不容易跑通了YOLOv5,安装labelImg的时候显示python3.10不!支!持!PyQt5!

好好好,我直接把python3.10和anaconda旧版本直接全都卸载了,搜罗了很多知识,原来安装了anaconda就不用安装python了,故打算重新安装anaconda
ps:python的卸载很方便,网上很多教程可以参考,由于卸载python很顺利丝滑,此处就不进行记录。


1、卸载旧版本anaconda遇到的问题

1.1问题描述

按照网上的教程说的是安装自带的卸载工具

conda install anaconda-clean

然后,给我报错了·汗颜
在这里插入图片描述
报错:Solving environment:failed InvalidVersionSpecError:Invalid spec:=2.7
搜罗了很多方法,说更新anaconda版本,因为版本太旧,使用update相关指令更新anaconda版本仍然报相同的错误。继续搜罗了很久,终于解决了:

1.2解决方法

此方法转载自麦芽907的文章:Anaconda安装clean卸载工具失败
报错和此文一致
在这里插入图片描述
在这里插入图片描述

我还将anaconda旧版本所在文件夹都删除了以及环境变量与anaconda相关的都删除干净。
此处出自YuPersist的文章:Anaconda的卸载及安装(图文详解)

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

至此,anaconda卸载完成。

2、重新安装anaconda

我重新安装的是Anaconda3-2020.11-Windows-x86_64版本,参考的是zk小帅哥的这篇文章 → \to anaconda+pytorch+yolov5保姆级攻略,个人比较强推的,我后面跟着一步步配置,最后跑通了。

2.1下载anaconda

在清华源:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,下载的Anaconda3-2020.11-Windows-x86_64版本。
下载好以后一路next安装即可,安装路径不要有中文。
在这里插入图片描述
在这里插入图片描述

2.2配置系统环境变量

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

2.3检查是否安装成功

在这里插入图片描述

3、安装pytorch虚拟环境

3.1利用anaconda构建名为pytorch的虚拟环境

使用命令进行pytorch的虚拟环境安装

conda create -n pytorch python=3.8

遇到的问题:某个下载网速太慢导致未下载成功,可以换个时间段进行下载。
进入创建好的ptyorch虚拟环境

conda activate pytorch

3.2下载pytorch

进入官网https://pytorch.org/,选择相应的版本复制命令进行安装。
在这里插入图片描述

在这里插入图片描述
import torch后下一行显示>>>则证明pytorch虚拟环境搭建完成
然后测试cuda
因为我安装的是cpu
故显示false为正确的
在这里插入图片描述

4、YOLOv5安装

去GitHub下载YOLOv5源码压缩包和相关的权重文件,我下载的是预训练好的yolov5s.pt文件。
使用pycharm打开解压后的文件夹,然后点击右下角选择已经安装好pytorch的虚拟环境。
**配图**

然后在下方选择终端,输入

pip install -r requirements.txt

4.1报错gbk

滑倒最后一行看到报错:UnicodeDecodeError:’ gbk’ codec can’t decode byte 0x98 in position 1051: illegal multibyte sequence

在这里插入图片描述
在这里插入图片描述
经过查询得到解决方法

4.2解决方法:

一般是因为读取文件出现编码问题导致没法读取文件,因此可以在报错里面找到出现read(filename)或者open(filename)之类的字段的代码文件中进行修改。此处是在dist.py中需要读取文件,然后出现报错。
亲测可以解决的方法出自初学者5213的文章:UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0x98 in position 1130: illegal multibyte sequence

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

4.3再次运行安装依赖报错

在这里插入图片描述
根据提示在install requirements的命令后面添加了–use-feature=2020-resolver
在这里插入图片描述
解决结果:
在这里插入图片描述

4.4运行detect.py报错ModuleNotFoundError: No module named ‘ultralytics‘+

解决方法参考的是陈子迩的文章YOLOv8常见报错集合(ModuleNotFoundError、NameError、KeyError、nan值及map全为0、​ CUDA out of memory、[WinError 145​)
在detect.py的开头加上

import sys
sys.path.append("路径")
# 即 ultralytics文件夹 所在绝对路径

在这里插入图片描述
在这里插入图片描述
重新运行后
在这里插入图片描述

至此,YOLOv5环境搭建完成。

5、labelImg工具的安装

我是单独创建的一个虚拟环境labelImg
进入anaconda prompt

conda create -n labelImg python=3.8

激活进入虚拟环境

conda activate labelImg

安装库

pip install pyqt5

安装labelimg

pip install labelImg

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

6、批量图片重命名

此处贴一个批量命名的代码,因为自己的数据集是进行筛选过的,故名字有些乱,需要进行重命名

# 批量修改文件名,默认操作为将图片按1,2,3,,,顺序重命名

import os

path_in = "F:/dataset/tomato/test"  # 待批量重命名的文件夹
class_name = ".jpg"  # 重命名后的文件名后缀

file_in = os.listdir(path_in)  # 返回文件夹包含的所有文件名
num_file_in = len(file_in)  # 获取文件数目
print(file_in, num_file_in)  # 输出修改前的文件名

for i in range(0, num_file_in):
    t = str(i + 181)
    new_name = os.rename(path_in + "/" + file_in[i], path_in + "/tomato_" + t + class_name)  # 重命名文件名

file_out = os.listdir(path_in)
print(file_out)  # 输出修改后的结果

结束语

浅浅记录一下搭建YOLOv5项目所需要的环境、卸载旧版本anaconda、安装labelImg工具所遇到的一系列问题以及安装过程。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值