linghuyuhangyuan / M2S

Official PyTorch Code and Models of "Minutes to Seconds: Speeded-up DDPM-based Image Inpainting with Coarse-to-Fine Sampling", ICME 2024
41 stars 0 forks source link

预训练模型的问题 #1

Open awcea opened 3 days ago

awcea commented 3 days ago

您好!我很希望可以用自己的数据集训练权重,请问在与预训练部分您提供的模型是否是由P2-weighting训练出来的,或是您对其做了何种修改,是否可以提供最终的预训练的代码,如果可以收到您的回复我将感激不尽!

linghuyuhangyuan commented 2 days ago

我们沿用P2-weighting的训练代码,但对相关参数进行了改动。 你需要clone项目的代码,编写可运行的bash脚本文件参考如下: python scripts/image_train.py --data_dir /inputs/celebahq --attention_resolutions 16 --class_cond False --diffusion_steps 1000 --dropout 0.0 --image_size 256 --learn_sigma True --noise_schedule linear --num_channels 128 --num_head_channels 64 --num_res_blocks 1 --resblock_updown True --use_fp16 False --use_scale_shift_norm True --lr 2e-5 --batch_size 4 --rescale_learned_sigmas True --p2_gamma 0.5 --p2_k 1 --log_dir logs

注意:如果你想要自定义相关参数,训练的模型参数需要与M2S项目中的run.sh的MODEL_FLAGS保持一致,确保模型能顺利load。

awcea commented 1 day ago

很激动可以收到您的回复!

  1. 现在我训练了P2-weighting的代码,其中我的参数配置为p2_gamma 1 --p2_k 1 ,其余部分和您的配置一样。现在我使用一块4080训练了三天了,但训练似乎还在不停的继续下去,不知道这是否是正常情况。训练结果如下图,分别得到了命名为“ema model 以及opt”这三种不同的模型,我应该使用其中的哪一个模型作为 M2S 的预训练模型。 56d2b9890543d71ae01b47ebdcc5c5a

  2. 另外,在M2S代码中的run文件里MODEL_PATH=--model_path_64是如何训练出来的。

    MODEL_PATH="--model_path_64 models/celebahq64_500000.pt --model_path_256 models/celebahq256_500000.pt"

linghuyuhangyuan commented 23 hours ago
  1. 如果你需要设置训练停止条件,可以查看p2-weighting项目的guided_diffusion/train_util.py的TrainLoop中的run_loop函数,修改终止条件即可。
  2. 导入模型采用含model名称的。
  3. 分辨率64也是同样的训练方法,训练参数可以参考:python scripts/image_train.py --data_dir inputs/celeba_hq --attention_resolutions 16 --class_cond False --diffusion_steps 1000 --dropout 0.0 --image_size 64 --learn_sigma True --noise_schedule linear --num_channels 128 --num_head_channels 64 --num_res_blocks 1 --resblock_updown True --use_fp16 False --use_scale_shift_norm True --lr 2e-5 --batch_size 16 --rescale_learned_sigmas True --p2_gamma 0.5 --p2_k 1 --log_dir logs_64

很激动可以收到您的回复!

  1. 现在我训练了P2-weighting的代码,其中我的参数配置为p2_gamma 1 --p2_k 1 ,其余部分和您的配置一样。现在我使用一块4080训练了三天了,但训练似乎还在不停的继续下去,不知道这是否是正常情况。训练结果如下图,分别得到了命名为“ema model 以及opt”这三种不同的模型,我应该使用其中的哪一个模型作为 M2S 的预训练模型。 56d2b9890543d71ae01b47ebdcc5c5a
  2. 另外,在M2S代码中的run文件里MODEL_PATH=--model_path_64是如何训练出来的。

MODEL_PATH="--model_path_64 models/celebahq64_500000.pt --model_path_256 models/celebahq256_500000.pt"

awcea commented 23 hours ago

在data_dir inputs/celeba_hq 中,我是否应该准备同样数量的64*64分辨率的数据集

------------------ 原始邮件 ------------------ 发件人: "linghuyuhangyuan/M2S" @.>; 发送时间: 2024年10月10日(星期四) 下午4:09 @.>; @.**@.>; 主题: Re: [linghuyuhangyuan/M2S] 预训练模型的问题 (Issue #1)

如果你需要设置训练停止条件,可以查看p2-weighting项目的guided_diffusion/train_util.py的TrainLoop中的run_loop函数,修改终止条件即可。

导入模型采用含model名称的。

分辨率64也是同样的训练方法,训练参数可以参考:python scripts/image_train.py --data_dir inputs/celeba_hq --attention_resolutions 16 --class_cond False --diffusion_steps 1000 --dropout 0.0 --image_size 64 --learn_sigma True --noise_schedule linear --num_channels 128 --num_head_channels 64 --num_res_blocks 1 --resblock_updown True --use_fp16 False --use_scale_shift_norm True --lr 2e-5 --batch_size 16 --rescale_learned_sigmas True --p2_gamma 0.5 --p2_k 1 --log_dir logs_64

很激动可以收到您的回复!

现在我训练了P2-weighting的代码,其中我的参数配置为p2_gamma 1 --p2_k 1 ,其余部分和您的配置一样。现在我使用一块4080训练了三天了,但训练似乎还在不停的继续下去,不知道这是否是正常情况。训练结果如下图,分别得到了命名为“ema model 以及opt”这三种不同的模型,我应该使用其中的哪一个模型作为 M2S 的预训练模型。

另外,在M2S代码中的run文件里MODEL_PATH=--model_path_64是如何训练出来的。

MODEL_PATH="--model_path_64 models/celebahq64_500000.pt --model_path_256 models/celebahq256_500000.pt"

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

linghuyuhangyuan commented 22 hours ago

不需要,会自动降采样为64x64