针对“解决pytorch-yolov3train报错的问题”的攻略,我将详细介绍以下步骤:
1. 安装依赖库
yolov3train需要依赖一些库,这些库需要先安装好,才能保证程序可运行。可以参考以下命令安装所需的库:
pip install numpy
pip install tqdm
pip install torch==1.1.0 torchvision==0.3.0
pip install opencv-python
pip install scipy
其中,torch
和torchvision
的版本需为1.1.0
和0.3.0
,否则会出现一些奇怪的问题。
2. 修改代码
在使用yolov3train训练yolov3模型过程中,有时会遇到一些报错问题。这些问题大多是由于代码兼容性问题导致的,需要修改代码才能解决。
以下是两条示例说明:
示例1:AttributeError: 'Function' object has no attribute 'apply'
这个问题是由于PyTorch版本升级引起的,需要修改yolov3/models.py
中的代码。将hard_sigmoid
和softmax
的引用由上一个版本的方式修改为新版本的方式。即将torch.nn.functional.hard_sigmoid(self.relu5(x + self.conv6_2(x)))
修改为torch.nn.functional.hard_sigmoid(self.relu5(self.conv6_2(x)))
,将torch.nn.functional.softmax(logits.view(-1, self.C, self.S, self.S), dim=1).view_as(logits)
修改为torch.nn.functional.softmax(logits, dim=1)
。
示例2:TypeError: init() got an unexpected keyword argument 'center_xy'
这个问题是由于yolov3train版本升级引起的,需要修改yolov3/train.py
中的代码。将对YOLOv3模型的初始化方式从yolov3.model.Darknet(cfgfile)
修改为yolov3.model.YOLOv3(cfgfile,center_xy=True)
,其中center_xy
表示使用中心点坐标预测边界框,而非使用左上角坐标预测边界框。
3. 运行程序
修改完代码后,需要重新运行程序,进行训练过程。具体的运行方式可以参考想要使用的模型所附带的README文件或者官方文档。
以上就是“解决pytorch-yolov3train报错的问题”的完整攻略,如果还有其他问题可以继续追问。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决pytorch-yolov3 train 报错的问题 - Python技术站