cswry / SeeSR

[CVPR2024] SeeSR: Towards Semantics-Aware Real-World Image Super-Resolution
Apache License 2.0
380 stars 20 forks source link

Training time and the total number of used datasset #61

Open Renzhihan opened 1 month ago

Renzhihan commented 1 month ago

你好,最近在复现本工作,有以下几个问题想请教一下 1.请问使用论文中所述的8 NVIDIA Tesla 32G-V100 GPUs总共需要多久的训练时间? 2.论文中说batchsize设置为192,iter为150K,那么train_batch_size和gradient_accumulation_steps这两个参数应该如何设置?我的理解是train_batch_sizegradient_accumulation_stepsGPU数量=192,不知道是否正确。另外arxiv上v1版本batchsize为32,v2为192,差异很大,这两个指的是总batchsize还是每张卡的batchsize,应该以哪个为准。 3.请问训练所使用的数据集裁剪之后总共包含多少图像?对数据集中的原始图像是直接裁剪吗,还是resize后再裁剪 4.LSDIR数据集较大,请问有没有在DF2K数据集上做过实验,LSDIR有包含DF2K的内容吗?

望解答疑惑

cswry commented 1 month ago

你好,

  1. 8卡V100,总训练时间1-2天
  2. 你可以根据显卡显存确定train_batch_size,然后让train_batch_size x gradient_accumulation_steps x GPU_num为192即可
  3. 我们对LSDIR和FFHQ 10k进行直接裁剪,训练数据制作请参考make_paired_data.py
  4. 我们第一版结果是在DIV2K, DIV8K, Flickr2K, OST和FFHQ10k上训练的,详情请参考这里
Renzhihan commented 1 month ago

感谢您的解答,还想和您再确认几个细节:

  1. 您在8卡配置下的train_batch_size和gradient_accumulation_steps分别设置为了多少。我使用24G 3090 进行验证时发现bs只能设置为1(图像尺寸512)。
  2. 使用单卡,bs为1时可以正常训练(虽然很慢,但我只是为了验证流程) CUDA_VISIBLE_DEVICES="0," accelerate launch train_seesr.py --enable_xformers_memory_efficient_attention --resolution=512 --train_batch_size=1 --gradient_accumulation_steps=2 --dataloader_num_workers=4 --checkpointing_steps=10000 --output_dir="./experience/seesr_dreal_train" --root_folders '/home/SeeSR/preset/datasets/train_datasets/DReal_SeeSR/' image

当使用双卡或多卡时,会出现内存不足的问题 CUDA_VISIBLE_DEVICES="1,2," accelerate launch train_seesr.py --enable_xformers_memory_efficient_attention --resolution=512 --train_batch_size=1 --gradient_accumulation_steps=2 --dataloader_num_workers=4 --checkpointing_steps=10000 --output_dir="./experience/seesr_dreal_train" --root_folders '/home/SeeSR/preset/datasets/train_datasets/DReal_SeeSR/' image

在这里就会出现报错 3.我看到别的issue里提到了epoch是60,所以最终总训练集的数量是(84991+10000)*60吗

prokaryote-hgy commented 1 month ago

你好,

  1. 8卡V100,总训练时间1-2天
  2. 你可以根据显卡显存确定train_batch_size,然后让train_batch_size x gradient_accumulation_steps x GPU_num为192即可
  3. 我们对LSDIR和FFHQ 10k进行直接裁剪,训练数据制作请参考make_paired_data.py
  4. 我们第一版结果是在DIV2K, DIV8K, Flickr2K, OST和FFHQ10k上训练的,详情请参考这里

您好,请问使用DIV2K, DIV8K, Flickr2K, OST和FFHQ10k制作的数据集大小大概多大呢?我粗略估计了一下,使用make_paired_data.py制作数据集,epoch设置为60,似乎会占用大概4T的存储空间?

cswry commented 1 month ago

你好,

  1. 8卡V100,总训练时间1-2天
  2. 你可以根据显卡显存确定train_batch_size,然后让train_batch_size x gradient_accumulation_steps x GPU_num为192即可
  3. 我们对LSDIR和FFHQ 10k进行直接裁剪,训练数据制作请参考make_paired_data.py
  4. 我们第一版结果是在DIV2K, DIV8K, Flickr2K, OST和FFHQ10k上训练的,详情请参考这里

您好,请问使用DIV2K, DIV8K, Flickr2K, OST和FFHQ10k制作的数据集大小大概多大呢?我粗略估计了一下,使用make_paired_data.py制作数据集,epoch设置为60,似乎会占用大概4T的存储空间?

你好,我这边没有具体统计过。

Renzhihan commented 2 days ago

您好,请问可以开源一下仅在DIV2K, DIV8K, Flickr2K, OST和FFHQ10k数据集上的预训练模型吗