RCAN復現
摘要:RCAN是一種很深的卷積神經網絡,其包含 RIR(Residual In Residual)架構,加快了網絡的訓練速度,還包含通道注意力(Channel Attention)機制,通過對特征通道之間的相互依賴性建模來自適應地重新縮放每個通道的特征。本文通過下載的RCAN源代碼,搭建了相應的環境對其進行復現,並對復現過程相應的步驟進行了詳細介紹。
關鍵字:RCAN,RIR,CA
1.環境搭建
1.1 Anaconda安裝
https://blog.csdn.net/u012308586/article/details/89447372
1.2 Pycharm安裝
下載地址:
https://blog.csdn.net/pdcfighting/article/details/80297499
在這里注冊碼有問題,有效注冊碼見附件或下面的網址:
https://www.lagou.com/lgeduarticle/34004.html
安裝完成后要更改解釋器:
https://blog.csdn.net/Jon2os0on/article/details/81989685
1.3 安裝CUDA8.1
下載地址:
安裝方式:
https://blog.csdn.net/qq_33993942/article/details/79149669
1.4 安裝cudnn 9.0
下載地址:
https://developer.nvidia.com/cudnn
安裝方式:
https://blog.csdn.net/qq_33993942/article/details/79149669
1.5 安裝Pytorch 0.4.0
由於國內的鏡像源在Anaconda中無法使用因此采用了在cmd中用pip安裝:
pip install http://download.pytorch.org/whl/cu91/torch-0.4.0-cp36-cp36m-win_amd64.whl
1.6 安裝torchvision
pip install torchvision-0.2.1-py2.py3-none-any.whl
2 詳細步驟
2.1 下載RCAN源代碼並在pycharm中打開
下載地址:
https://github.com/yulunzhang/RCAN
2.2 查看Readme下載相應的數據集和模型等文件並放到相應的文件夾
1)DIV2K
https://cv.snu.ac.kr/research/EDSR/DIV2K.tar
2)下載模型放到/RCAN_TrainCode/experiment/model
https://www.dropbox.com/s/qm9vc0p0w9i4s0n/models_ECCV2018RCAN.zip?dl=0
3)下載除Set5外的其他測試數據集並放到
下載地址
https://drive.google.com/drive/folders/1xyiuTr6ga6ni-yfTP7kyPHRmfBakWovo?usp=sharing
4)在MATLAB中運行Prepare_TestData_HR_LR.m生成不同退化模型的測試數據集
2.3 檢查需要的包是否完全
1)缺少tqdm,進行安裝
pip install tqdm -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
2)相同文件夾下導入出現錯誤
選擇對應文件夾右鍵--->設置文件夾為----->根目錄
3)更改numpy 版本到1.6
4) 根據TrainRCAN_scripts.sh 和TestRCAN_scripts.sh文件進行參數的更改
在Run/Debug Configuratios——>Parameters中寫入需要更改的參數
5) 在option.py 中進行參數的更改
4. 實驗結果及分析
4.1 實驗細節
訓練數據集:DIV2K
測試數據集:Set5
損失函數:L1損失函數
--n_resgroups(RG數量): 10
--n_resblocks (RCAB數量):20
--n_feats 通道數):64
最后的實驗結果跑的還是有問題,暫時就先不發了