之前自學了有關影像超分辨處理方面的知識,這篇博文參考了這位博主的例子:博客地址,完整地跑了一下代碼,記錄一下自己的學習程序
工程檔案:壓縮包鏈接
提取碼:1111
1.建議新建一個專門的環境,之后的各種配置基于此環境(Python版本選擇3.6)

2.安裝CUDA
安裝之前,我們首先要確定本機是否有獨立顯卡,以win10為例,在控制面板\系統和安全\系統找到設備管理器下的顯示配接器中,查看是否有獨立顯卡,如下圖所示:

接下來就可以開始安裝cuda,打來官網:https://developer.nvidia.com/cuda-toolkit-archive,

由于需要適配Pytorch1.4,因此我們選擇CUDA Toolkit 10.1進行下載,并按以下配置下載到本地

雙擊安裝,可以改變解壓目錄(路徑最好不要有中文名),然后選擇默認安裝方式即
可,
測驗一下cuda是否安裝成功,打開cmd命令終端,然后輸入命令:nvcc -V
如下圖所示,安裝成功,

3.安裝cudnn
cudnn官網下載地址:https://developer.nvidia.com/cudnn
單擊Download Cudnn,注冊賬號后才能開始下載,之后選擇如下版本:

按自己系統選擇,我的是win10,所以選則如下圖:

下載之后,解壓縮,將CUDNN壓縮包里面的bin、clude、lib檔案直接復制到CUDA的安裝目錄下(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1),直接覆寫
安裝即可完成,
添加系統環境變數到path中:
C:\Program Files\NVIDIA Corporation\NVSMI
然后在Windows PowerShell終端中運行命令,可以查看GPU使用情況:
nvidia-smi

4.安裝pytorch
在anaconda中找到之前新建的環境,以環境名sr為例,打開命令列終端,輸入如下指令,開始安裝:

pip install torch===1.4.0 torchvision===0.5.0 -f https://download.pytorch.org/whl/torch_stable.html
后邊加阿里云鏡像源加速:
-i https://mirrors.aliyun.com/pypi/simple/

安裝完成后,驗證是否成功并且能夠成功呼叫cudnn,在該環境下(sr),輸入python進入python環境,輸入命令,如下圖顯示版本號即pytorch安裝成功:
import torch
print(torch.__version__)

接著,驗證pytorch呼叫cuda是否正確,顯示為true即呼叫成功:

- 安裝cpu版tensorflow,利用tensorboard可視化運行結果
pip install tensorflow==2.1.0 -i https://mirrors.aliyun.com/pypi/simple/
- 安裝scikit-image(提供PSNR和SSIM的計算)
pip install scikit-image==0.16.2 -i https://mirrors.aliyun.com/pypi/simple/
至此,專案所需配置基本完成,
7. 下載專案工程檔案(COCO2014資料集因為有18個G左右,所以僅給出部分資料)
下載到本地后,打開Pycharm匯入工程檔案,然后選擇新建的python環境即可,如下圖所示:

- 專案組織架構

8.1專案根目錄下有8個.py檔案和3個檔案夾,下面對各個檔案和檔案夾進行簡單說明,
1) create_data_lists.py:生成資料串列,檢查資料集中的影像檔案尺寸,并將符合的影像檔案名寫入JSON檔案串列供后續Pytorch呼叫;
2) datasets.py:用于構建資料集加載器,主要沿用Pytorch標準資料加載器格式進行封裝;
3) models.py:模型結構檔案,存盤各個模型的結構定義;
4) utils.py:工具函式檔案,所有專案中涉及到的一些自定義函式均放置在該檔案中;
5) train_srresnet.py:用于訓練SRResNet演算法;
6) train_srgan.py:用于訓練SRGAN演算法;
7) eval.py:用于模型評估,主要以計算測驗集的PSNR和SSIM為主;
8) test.py:用于單張樣本測驗,運用訓練好的模型為單張影像進行超分重建;
9) data:用于存放訓練和測驗資料集以及檔案串列;
10) results:用于存放運行結果,包括訓練好的模型以及單張樣本測驗結果;
11) runs: 模型訓練程序中的各項指標記錄,可以作為資料檔案利用tensorboard來查看訓練結果,在程式運行的程序中可以再開一個終端運行下述命令:tensorboard --logdir runs,從而打開tensorboard監視器,打開后可以在瀏覽器中訪問:http://localhost:6006/ 來監視訓練結果,
8.2整個代碼運行順序如下:
1) 運行create_data_lists.py檔案用于為資料集生成檔案串列;
2) 運行train_srresnet.py進行SRResNet演算法訓練,訓練結束后在results檔案夾中會生成checkpoint_srresnet.pth模型檔案;(已經訓練完畢可以直接呼叫)
3) 運行eval.py檔案對測驗集進行評估,計算每個測驗集的平均PSNR、SSIM值;
4) 運行test.py檔案對results檔案夾下名為test.jpg的影像進行超分還原,還原結果存盤在results檔案夾下面;
5) 運行train_srgan.py檔案進行SRGAN演算法訓練,訓練結束后在results檔案夾中會生成checkpoint_srgan.pth模型檔案;(已經訓練完畢可以直接呼叫)
6) 修改并運行eval.py檔案對測驗集進行評估,計算每個測驗集的平均PSNR、SSIM值;·
7) 修改并運行test.py檔案對results檔案夾下名為test.jpg的影像進行超分還原,還原結果存盤在results檔案夾下面;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/335332.html
標籤:其他
上一篇:cNN入門教程
