YOLOv5-2.0配置环境步骤以及报错解决措施

本文详细介绍了如何在PyCharm中安装和配置GPU版本的torch、torchaudio和torchvision,以及在环境配置过程中可能遇到的问题及其解决措施,包括网络超时、参数错误、梯度丢失和依赖版本冲突等。
摘要由CSDN通过智能技术生成

一、相应库的安装

1、安装requirements.txt中的库。在PyCharm中打开终端,输入如下代码进行安装:

pip install -U -r requirements.txt

也可以使用国内镜像网站安装,如清华大学开源软件镜像站 ,命令如下:

pip install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

2、安装GPU版本的torch、torchaudio、torchvision 。

鼠标右键单击,NVIDIA控制面板→系统信息→组件,查看CUDA对应的版本,然后选择相应的torch、torchaudio、torchvision版本进行安装,版本号是向下兼容的。

打开pytorch官网,按如下步骤进行安装操作:

确认自己的要安装的版本号,小编这里选择的是 v1.12.0。

 选择Wheel安装,将代码进行复制。

pip install torch==1.12.0+cu116 torchvision==0.13.0+cu116 torchaudio==0.12.0 --extra-index-url https://download.pytorch.org/whl/cu116

 从开始菜单栏打开Anaconda Prompt。

激活创建的虚拟环境,并将代码粘贴下来,回车运行,安装时间可能较久,请耐心等待。

 安装完成后,需要验证是否安装成功。

输入命令查看虚拟环境中所安装的包,如上图所示即表示安装成功。

二、环境配置过程中可能出现的问题及解决措施

1、安装requirements.txt过程中出现响应超时现象,如下图所示,主要是网络问题。

解决措施如下:

方式一:通过pycharm提示直接安装,但可能安装时间较久或者出现安装失败问题。

方式二、换源,即请用清华源等国内源进行安装。

pip install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

2、运行detect.py过程中出现如下报错,主要原因是“recompute_scale_factor”参数问题。

解决措施:鼠标左键单击报错信息进行跳转,修改第152-154行的内容,即将参数“recompute_scale_factor”删除。

    def forward(self, input: Tensor) -> Tensor:
        return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners,
                             recompute_scale_factor=self.recompute_scale_factor)

    def forward(self, input: Tensor) -> Tensor:
        return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners)

3、运行train.py过程中出现如下报错,主要原因是执行in-place操作时,使用了一个需要梯度的叶节点变量视图(view)。在PyTorch中,如果一个变量需要梯度,那么它的视图也会继承这个属性。而in-place操作是对变量进行原地操作,即直接修改变量的值,这样会导致梯度信息的丢失或不一致。

解决措施:鼠标左键单击报错信息进行跳转,修改第129-133行的内容。

 将代码中找到如下代码段:

添加“with torch.no_grad():”,改为:

        for mi, s in zip(m.m, m.stride):  #  from
            b = mi.bias.view(m.na, -1)  # conv.bias(255) to (3,85)
            with torch.no_grad():
                b[:, 4] += math.log(8 / (640 / s) ** 2)  # obj (8 objects per 640 image)
                b[:, 5:] += math.log(0.6 / (m.nc - 0.99)) if cf is None else torch.log(cf / cf.sum())  # cls
            mi.bias = torch.nn.Parameter(b.view(-1), requires_grad=True)

4、在运行train.py过程中,出现如下报错,主要原因是numpy版本过高。

解决措施:降低numpy的版本,在终端中输入以下命令来降低numpy的版本即可。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.22

5、在运行train.py过程中,出现如下报错,主要原因是ANTIALIAS在 Pillow 10.0.0 版本之后被启用了。

解决措施:

方式一:降低pillow版本,在终端输入以下命令来降低pillow的版本即可。

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

方式二:标左键单击报错信息进行跳转,修改第486行的内容。

改为如下代码:

image = image.resize((scaled_width, scaled_height),Image.LANCZOS)

或者

image = image.resize((scaled_width, scaled_height),Image.Resampling.LANCZOS)

6、在运行train.py过程中,出现如下报错,将报错代码self.numpy()改为self.cpu().numpy()即可.

解决措施:标左键单击报错信息进行跳转,修改第757行的内容,将 self.numpy()改为self.cpu().numpy()。

return self.cpu().numpy()

  • 20
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值