
读懂 Invertible-Image-Rescaling 的 15 个关键配置项train/test yml 文件完全解读【免费下载链接】Invertible-Image-Rescaling[ECCV 2020, IJCV 2022] Invertible Image Rescaling项目地址: https://gitcode.com/gh_mirrors/in/Invertible-Image-RescalingInvertible-Image-Rescaling 是 ECCV 2020 Oral 论文Invertible Image Rescaling的官方 PyTorch 实现提出用可逆网络 IRN 同时完成图像下采样与上采样。在这个项目里训练与测试行为完全由 yml 配置文件控制改一行配置模型类型、放大倍数、损失函数甚至测试数据集都会随之改变。本文带你逐条读懂codes/options/下 train/test yml 的 15 个关键配置项从此自信地修改任意实验配置。30 秒定位 yml 配置文件项目的配置文件全部集中在codes/options/目录codes/options/train/9 个训练配置覆盖 IRN ×2/3/4/8、IRN ×4、IRN-CRMJPEG 压缩、IRN-Color颜色反转以及 finetune 微调场景codes/options/test/8 个对应的测试配置与训练配置一一对应入口脚本codes/train.py、codes/test.py通过参数加载这些 yml 文件所以看懂 yml就等于看懂了整个项目的驾驶舱。配置项 1-4通用设置训练 yml 的开头部分打开任意训练 yml例如 codes/options/train/train_IRN_x4.yml前 10 行长这样name: 01_IRN_DB_x4_scratch_DIV2K use_tb_logger: true model: IRN distortion: sr scale: 4 gpu_ids: [0]name实验名称决定日志、权重与结果的输出目录。官方命名习惯是「序号_模型_架构_倍数_训练方式_数据集」model模型类型IRN基线、IRN感知损失 GAN、IRN-CRMJPEG 压缩、IRN-Color颜色反转。⚠️必须与入口脚本匹配如train_IRN-Color.py对应model: IRN-Colordistortion固定为sr超分辨率任务一般无需改动scale gpu_ids use_tb_logger放大倍数2/3/4/8、GPU 编号、TensorBoard 开关配置项 5-7数据集设置数据加载与增强datasets:下有train和val两个子块重点看 3 项mode: LQGT dataroot_GT / dataroot_LQ按「低质-真值」图像对加载。dataroot_GT必须填写dataroot_LQ保留~时dataloader 会自动对 HR 降采样生成 LR省去手动准备数据batch_size GT_size官方为 16 和 144即每张图裁出 144×144 的 patch 训练use_flip / use_rot 数据增强随机翻转与旋转IRN-Color 配置额外多了use_grey: True灰度通道数据加载逻辑实现在 codes/data/LQGT_dataset.py。配置项 8-10网络结构train/test 必须完全一致的部分network_G: subnet_type: DBNet可逆缩放网络的子块类型。in_nc / out_nc是输入/输出通道数block_num控制深度——×2 为[8]、×3 为[12]、×4 为[8, 8]、×8 为[8, 8, 8]init: xavier指定参数初始化network_G.scale use_ConvDownsampling必须与顶层scale一致×3 配置额外开启use_ConvDownsampling: True卷积下采样因为 3 倍不能整除扩展网络段各变体自带专属小节——IRN 有network_DVGG 判别器、IRN-CRM 有network_R压缩感知网络、IRN-Color 有network_grey灰度网络。这些段落训练与测试 yml 中必须一字不差地同时声明下图是 IRN 可逆网络的整体架构subnet_type配置的正是图中的核心子网子块的具体实现见 codes/models/modules/Subnet_constructor.py。配置项 11-12学习率与损失训练核心lr_G lr_scheme: MultiStepLR初始学习率一般2e-4finetune 降到1e-5。三个配套项含义是——niter总迭代数、lr_steps何时衰减、lr_gamma: 0.5每次衰减一半pixel_criterion_forw / back 三个 lambdaIRN 是双向网络forw高→低配lambda_fit_forw管拟合back低→高配lambda_rec_back管重建lambda_ce_forw控制可逆子块的正则项。损失函数装配逻辑在 codes/models/modules/loss.py配置项 13特殊训练项按场景出现场景配置项作用微调 finetuneadd_noise_on_y: True、y_noise_prob、y_noise_scale向低质输入随机加噪增强网络逆变换的鲁棒性IRNgan_type: gan、gan_weight、D_init_iters、feature_criterion加 GAN 损失与感知特征损失判别器延后 5000 轮再启动IRN-CRMjpg_quality: 90、lambda_rec_jpeg、only_jpeg_reconstruction针对 JPEG q90 压缩建模训练前可先做 JPEG 重建配置项 14-15path 与 logger加载和保存path 三件套pretrain_model_G预训练权重路径~表示从零训练、strict_load: true权重键名严格匹配、resume_state断点续训。测试 yml 必须在此指定要评估的权重例如../experiments/pretrained_models/IRN_x4.pth。测试 yml 的网络段与训练 yml 不一致时权重会加载失败logger val_freqprint_freq: 100每 100 轮打印日志、save_checkpoint_freq: 5e3每 5000 轮存权重、val_freq: 5e3验证频率测试 yml 的 5 个速读要点codes/options/test/test_IRN_x4.yml 比训练 yml 薄得多重点只有 5 处配置项作用crop_border计算 PSNR/SSIM 前裁剪的边界像素数~表示按 scale 值裁剪suffix输出图像文件名的附加后缀默认空test_1~test_5一次声明 5 个测试集Set5、Set14、B100、Urban100、DIV2K 验证集结果自动汇总path: pretrain_model_G要评估的权重路径test: jpg_quality仅 IRN-CRM 使用测试时的 JPEG 质量因子需与训练一致9015 项配置速查表#配置项出现位置一句话说明1nametrain实验名 输出目录名2modeltrain/testIRN / IRN / IRN-CRM / IRN-Color3scale / distortiontrain/test放大倍数 ×2/3/4/8distortion 固定 sr4gpu_ids / use_tb_loggertrainGPU 与 TensorBoard 开关5mode: LQGT dataroottrain/testHR 必填LR 可自动生成6batch_size / GT_sizetrain官方 16 / 144 patch7use_flip / use_rottrain数据增强8network_Gsubnet_type/block_num/inittrain/test可逆网络的深度与初始化9network_G.scale / use_ConvDownsamplingtrain/test与顶层 scale 呼应×3 特例10network_D / network_R / network_greytrain/test各变体的扩展网络11lr_G / lr_scheme / nitertrain学习率衰减计划12pixel_criterion lambdatrainforw/back 损失函数与权重13噪声 / GAN / JPEG 项train场景化特殊开关14pathtrain/test预训练权重与加载策略15logger / val_freqtrain日志、存档与验证频率建议工作流复制一份最接近的官方 yml → 修改name、scale、dataroot_GT→ 运行对应的train.py/test.py。不要从零手写配置容易漏掉必须成对出现的字段。这套「默认配置」的效果仅几百万参数的 IRN在 5 个基准数据集上的 PSNR/SSIM 全面领先传统降采样-上采样流水线。下面是 4 倍上采样的定性对比结果【免费下载链接】Invertible-Image-Rescaling[ECCV 2020, IJCV 2022] Invertible Image Rescaling项目地址: https://gitcode.com/gh_mirrors/in/Invertible-Image-Rescaling创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考