SR_ESRGAN運行指南

介紹

ESRGAN是一個較新的的低分辨率轉高分辨率的GAN模型,在SRGAN的基礎上做了增強怯伊。
其論文在ESRGAN論文
其代碼在ESRGAN倉庫掠械,該倉庫只提供了簡單的demo測試代碼惯豆。完整的訓練和測試代碼在BasicSR倉庫中。
如果要進一步學習,給出2篇論文綜述作為參考:
綜述1
綜述2

初次運行ESRGAN

  1. 安裝環(huán)境
    conda install numpy
    pip install opencv-python==3.4.5.20
    conda install python-lmdb
    pip install tensorboardX
    
    # 進入 https://pytorch.org/get-started/locally/ 找到安裝pytorch合適的指令。我這里原來是Linux conda python3.6 CUDA10
    conda install pytorch torchvision cudatoolkit=10.0 -c pytorch
    # 然而由于conda鏡像沒了,需要用pip了
    pip3 install https://download.pytorch.org/whl/cu100/torch-1.1.0-cp37-cp37m-linux_x86_64.whl
    pip3 install https://download.pytorch.org/whl/cu100/torchvision-0.3.0-cp37-cp37m-linux_x86_64.whl
    
    
  2. 拉代碼git clone https://github.com/xinntao/ESRGAN.git
  1. 下載模型到models中
    https://pan.baidu.com/s/1-Lh6ma-wXzfH8NqeBtPaFQ

  2. 運行下面的代碼贮尉,結果在result中。
    python test.py models/RRDB_ESRGAN_x4.pth
    python test.py models/RRDB_PSNR_x4.pth

初次使用BasicSR測試ESRGAN(SRGAN)模型

  1. 拉代碼 git clone https://github.com/xinntao/BasicSR.git
  2. 進入codes文件夾cd codes
  3. 修改 options/test/test_ESRGAN.json
    1. datasets dataroot_HR 將后面路徑改為自己的訓練數(shù)據(jù)文件夾朴沿,文件夾內存放的是png文件绘盟;或者改為lmdb文件。
    2. path root 改為自己的BasicSR項目路徑
    3. 將剛剛在ESRGAN中用到的model放到pretrain_model_G的目錄下面悯仙。
    4. 其他暫時不用動,我本機配置如下所示吠卷。
    {
        "name": "RRDB_ESRGAN_x4"
        , "suffix": "_ESRGAN"
        , "model": "srragan"
        , "scale": 4
        , "gpu_ids": [0]
    
        , "datasets": {
            "test_1": { // the 1st test dataset
            "name": "set5"
            , "mode": "LRHR"
            , "dataroot_HR": "/root/addition_store/DIV2K_train_HR"
            }
        }
    
        , "path": {
            "root": "/home/student_docker/zlh/BasicSR"
            , "pretrain_model_G": "../experiments/pretrained_models/RRDB_ESRGAN_x4.pth"
        }
    
        , "network_G": {
            "which_model_G": "RRDB_net" // RRDB_net | sr_resnet
            , "norm_type": null
            , "mode": "CNA"
            , "nf": 64
            , "nb": 23
            , "in_nc": 3
            , "out_nc": 3
    
            , "gc": 32
            , "group": 1
        }
    }
    
  4. 運行測試代碼 python test.py -opt options/test/test_ESRGAN.json
  5. 如果需要跑其他的測試代碼锡垄,見其他測試
測試成功

訓練ESRGAN(SRGAN)模型

準備數(shù)據(jù)(DIV2K)

  1. DIV2K official page或者百度云下載
  2. 有幾個方法可以讓IO速度變快
    1. 將HDD改成SSD
    2. 將圖片數(shù)據(jù)集改成更小的子圖切片(sub-images)。見3和4
    3. 將原始數(shù)據(jù)改成lmdb格式祭隔。見5和6
  3. 修改codes/scripts/extract_subimgs_single.py文件的路徑
    input_folder = '/root/addition_store/DIV2K_train_HR' # 輸入圖片路徑
    save_folder = '/root/addition_store/DIV2K_train_HR_sub' # 輸出圖片路徑
    
  4. 運行 python scripts/extract_subimgs_single.py 執(zhí)行切片操作
  5. 修改codes/scripts/create_lmdb.py
    img_folder = '/root/addition_store/DIV2K_train_HR_sub/*'  # glob matching pattern
    lmdb_save_path = '/root/addition_store/DIV2K_train_HR_sub.lmdb'  # must end with .lmdb
    mode = 2
    
  6. 運行 python scripts/create_lmdb.py 將數(shù)據(jù)改成lmdb格式

訓練

  1. 修改options/train/train_ESRGAN.json

    "name": "002_RRDB_ESRGAN_x4_DIV2K"
    "train" "dataroot_HR": "/root/addition_store/DIV2K_train_HR_sub.lmdb"
    "val" "dataroot_HR": "/root/addition_store/DIV2K_valid_HR"
    "path" "root": "/home/student_docker/zlh/BasicSR"
    
  2. 運行 python train.py -opt options/train/train_ESRGAN.json

    運行成功

  3. tensorboard可視化 tensorboard --logdir=../tb_logger
    進入http://localhost.localdomain:6006可看到訓練過程

    tensorboard可視化

參考

ESRGAN倉庫
BasicSR倉庫
代碼結構介紹

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末货岭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子疾渴,更是在濱河造成了極大的恐慌千贯,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搞坝,死亡現(xiàn)場離奇詭異搔谴,居然都是意外死亡,警方通過查閱死者的電腦和手機桩撮,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門敦第,熙熙樓的掌柜王于貴愁眉苦臉地迎上來峰弹,“玉大人,你說我怎么就攤上這事芜果【铣剩” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵右钾,是天一觀的道長蚁吝。 經常有香客問我,道長舀射,這世上最難降的妖魔是什么窘茁? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮后控,結果婚禮上庙曙,老公的妹妹穿的比我還像新娘。我一直安慰自己浩淘,他們只是感情好捌朴,可當我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著张抄,像睡著了一般砂蔽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上署惯,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天左驾,我揣著相機與錄音,去河邊找鬼极谊。 笑死诡右,一個胖子當著我的面吹牛,可吹牛的內容都是我干的轻猖。 我是一名探鬼主播帆吻,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼咙边!你這毒婦竟也來了猜煮?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤败许,失蹤者是張志新(化名)和其女友劉穎王带,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體市殷,經...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡愕撰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盟戏。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡绪妹,死狀恐怖,靈堂內的尸體忽然破棺而出柿究,到底是詐尸還是另有隱情邮旷,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布蝇摸,位于F島的核電站婶肩,受9級特大地震影響,放射性物質發(fā)生泄漏貌夕。R本人自食惡果不足惜律歼,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望啡专。 院中可真熱鬧险毁,春花似錦、人聲如沸们童。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慧库。三九已至跷跪,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間齐板,已是汗流浹背吵瞻。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留甘磨,地道東北人橡羞。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像济舆,于是被迫代替她去往敵國和親尉姨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,781評論 2 354