天天看點

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

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目錄

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

移動到該目錄,執行以下指令進行安裝

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方法安裝

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

先從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是否安裝成功

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

6、在Pytorch1.1+SSD+cuda10環境中訓練VOC資料集

6.1、在相應目錄下克隆項目

git clone https://github.com/amdegroot/ssd.pytorch
           

6.2、下載下傳VOC資料集

分别下載下傳以下資料集

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

下載下傳完後解壓到 ssd.pytorch-master/data/VOCdevkit目錄下

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

6.3、 下載下傳預訓練模型vgg16_reducedfc.pth

模型下載下傳完後放在ssd.pytorch-master/weights/目錄下

6.4、複制coco_labels.txt檔案

在C:\Users\wt\目錄建立data\coco檔案夾,并将coco_labels.txt檔案複制到該路徑,否則會報以下錯誤

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

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])

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

否則會發生以下錯誤

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

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處需要更改

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

6.7、開始訓練

移動到ssd.pytorch-master目錄,在cmd輸入以下指令

python train.py --dataset_root=data/VOCdevkit --batch_size=8 
           

将開始訓練

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

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
           

發生錯誤

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

解決辦法是,在 train.py 中定義一個全局變量viz

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

這樣再次執行訓練指令時,就可以在 http://localhost:8097/檢視訓練過程

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

6.9、訓練出現的問題 must define a window to update

訓練時,當儲存完一次模型後,發生了以下錯誤
           
【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

解決辦法是,在train.py檔案中,将160行epoch += 1移到 update_vis_plot 函數上面

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

6.10、訓練出現的問題 StopIteration

将train.py中167行改為

【PyTorch】Pytorch1.1 + CUDA10.0 + CUDNN7.4 + win10 配置及 VOC 資料集訓練

繼續閱讀