1、安装cuda10.0+cudnn7.4
2、安装anaconda
3、安装opencv
从https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应版本的opencv,如
opencv_python-3.4.6-cp35-cp35m-win_amd64.whl,将其放入anaconda3的site-packages目录
移动到该目录,执行以下命令进行安装
pip install opencv_python-3.4.6-cp35-cp35m-win_amd64.whl
安装完成后在python中 import cv2 不报错,说明安装成功
https://www.cnblogs.com/zlslch/p/8059715.html
4、安装pytorch1.1
通过conda安装,速度太慢,因此用pip方法安装
先从https://download.pytorch.org/whl/cu100/torch-1.1.0-cp35-cp35m-win_amd64.whl
下载对应的pytorch包,然后打开cmd,移动到文件所在目录,执行
pip install torch-1.1.0-cp35-cp35m-win_amd64.whl
pip install torchvision
执行完后即可安装成功
5、验证pytorch1.1是否安装成功
6、在Pytorch1.1+SSD+cuda10环境中训练VOC数据集
6.1、在相应目录下克隆项目
git clone https://github.com/amdegroot/ssd.pytorch
6.2、下载VOC数据集
分别下载以下数据集
下载完后解压到 ssd.pytorch-master/data/VOCdevkit目录下
6.3、 下载预训练模型vgg16_reducedfc.pth
模型下载完后放在ssd.pytorch-master/weights/目录下
6.4、复制coco_labels.txt文件
在C:\Users\wt\目录创建data\coco文件夹,并将coco_labels.txt文件复制到该路径,否则会报以下错误
6.5、修改multibox_loss.py文件
修改 ssd.pytorch-master\layers\modules目录下的multibox_loss.py文件,在97行添加 loss_c = loss_c.view(pos.size()[0], pos.size()[1])
否则会发生以下错误
6.6、修改train.py文件
修改ssd.pytorch-master\目录下的train.py文件,分别将182行至204行中所有的 loss_l.data[0] 改为 loss_l.item() ,loss_c.data[0]改为loss_c.item(),共5处需要更改
6.7、开始训练
移动到ssd.pytorch-master目录,在cmd输入以下命令
python train.py --dataset_root=data/VOCdevkit --batch_size=8
将开始训练
6.8、训练过程可视化
首先安装visdom
pip install visdom
然后开启服务
python -m visdom.server
然后在浏览器打开 http://localhost:8097/
在另一个cmd窗口开启训练
python train.py --dataset_root=data/VOCdevkit --batch_size=8 --visdom=True
发生错误
解决办法是,在 train.py 中定义一个全局变量viz
这样再次执行训练命令时,就可以在 http://localhost:8097/查看训练过程
6.9、训练出现的问题 must define a window to update
训练时,当保存完一次模型后,发生了以下错误
解决办法是,在train.py文件中,将160行epoch += 1移到 update_vis_plot 函数上面
6.10、训练出现的问题 StopIteration
将train.py中167行改为