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行改為