# image-super-resolution **Repository Path**: sunziping2016/image-super-resolution ## Basic Information - **Project Name**: image-super-resolution - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-05-11 - **Last Updated**: 2024-06-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 1 获取并预处理数据集 ```bash cd data wget http://images.cocodataset.org/zips/unlabeled2017.zip mv unlabeled2017 coco-unlabeled2017-origin python3 -m venv venv source venv/bin/active # 这个命令需要在之后所有命令运行前运行 pip install -r requirements.txt python preprocessing.py data/coco-unlabeled2017-origin data/coco-unlabeled2017 ``` # 2 训练SRCNN ```bash python main.py --save_path save/SRCNN --gpu 0 ``` - `save_path`:保存model的路径,默认为`save/test`,**强烈建议给定**; - `gpu`:使用哪些GPU,可以给定多个,如`--gpu 0,1`,但多个GPU的速度没有同时跑多个项目那么划算,**不给定会用CPU跑**; - `load`:如果训练中断了,可以通过这个参数指定从哪个epoch开始,默认每10个epoch保存一次模型,可通过`--save_every_epoch`参数修改。 如果显存不够报错就减少batch size,类似`--batch_size 32`,默认是64。 跑实验的的时候可以运行。 ```bash tensorboard --logdir runs ``` 打开浏览器访问服务器的6006号端口,这样可以查看运行的进度,应该能观察到loss下降。PSNR和SSIM越高越好,MSE越低越好。 可以通过下面的命令生成测试图片: ```bash python main.py --save_path save/SRCNN --gpu 0 --task generate --load 200 ``` 这里按照需要修改`load`的值。 # 2 训练ESPCN 训练和生成的方法与SRCNN类似。 ```bash python main.py --save_path save/ESPCN --gpu 0 --model ESPCN python main.py --save_path save/ESPCN --gpu 0 --model ESPCN --task generate --load 200 ``` # 3 训练RCAN RCAN的模型比较大,有两个参数控制了模型的大小,分别是`--n_resgroups`和`--n_resblocks`,默认值为10和20。在我的2GB显存的电脑上,这两个值设置为`4`和`4`,加上`--batch_size 2`才跑得起。 ```bash python main.py --save_path save/RCAN --gpu 0 --batch_size 2 --model RCAN --n_resgroups 10 --n_resblocks 20 python main.py --save_path save/RCAN --gpu 0 --batch_size 2 --model RCAN --n_resgroups 10 --n_resblocks 20 --task generate --load 200 ```