一、相应库的安装
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()