guided-diffusion icon indicating copy to clipboard operation
guided-diffusion copied to clipboard

how can i train a diffusion model

Open No360201 opened this issue 2 years ago • 18 comments

when i use openai/improved-diffusion train my data to get a diffusion model ,i get three .pt, which one is the diffusion model? when i load the model in andreas128RePaint ,i get Missing key(s) in state_dict: "input_blocks.3.0.in_layers.0.weight", "input_blocks.3.0.in_layers.0.bias", "input_blocks.3.0.in_layers.2.weight", "input_blocks.3.0.in_layers.2.bias", "input_blocks.3.0.emb_layers.1.weight", "input_blocks.3.0.emb_layers.1.bias", "input_blocks.3.0.out_layers.0.weight", "input_blocks.3.0.out_layers.0.bias", "input_blocks.3.0.out_layers.3.weight", "input_blocks.3.0.out_layers.3.bias", "input_blocks.6.0.in_layers.0.weight", "input_blocks.6.0.in_layers.0.bias", "input_blocks.6.0.in_layers.2.weight", "input_blocks.6.0.in_layers.2.bias", "input_blocks.6.0.emb_layers.1.weight", "input_blocks.6.0.emb_layers.1.bias", "input_blocks.6.0.out_layers.0.weight", "input_blocks.6.0.out_layers.0.bias", "input_blocks.6.0.out_layers.3.weight", "input_blocks.6.0.out_layers.3.bias", "input_blocks.9.0.in_layers.0.weight", "input_blocks.9.0.in_layers.0.bias", "input_blocks.9.0.in_layers.2.weight", "input_blocks.9.0.in_layers.2.bias", "input_blocks.9.0.emb_layers.1.weight", "input_blocks.9.0.emb_layers.1.bias", "input_blocks.9.0.out_layers.0.weight", "input_blocks.9.0.out_layers.0.bias", "input_blocks.9.0.out_layers.3.weight", "input_blocks.9.0.out_layers.3.bias", "input_blocks.12.0.in_layers.0.weight", "input_blocks.12.0.in_layers.0.bias", "input_blocks.12.0.in_layers.2.weight", "input_blocks.12.0.in_layers.2.bias", "input_blocks.12.0.emb_layers.1.weight", "input_blocks.12.0.emb_layers.1.bias", "input_blocks.12.0.out_layers.0.weight", "input_blocks.12.0.out_layers.0.bias", "input_blocks.12.0.out_layers.3.weight", "input_blocks.12.0.out_layers.3.bias", "input_blocks.15.0.in_layers.0.weight", "input_blocks.15.0.in_layers.0.bias", "input_blocks.15.0.in_layers.2.weight", "input_blocks.15.0.in_layers.2.bias", "input_blocks.15.0.emb_layers.1.weight", "input_blocks.15.0.emb_layers.1.bias", "input_blocks.15.0.out_layers.0.weight", "input_blocks.15.0.out_layers.0.bias", "input_blocks.15.0.out_layers.3.weight", "input_blocks.15.0.out_layers.3.bias", "output_blocks.2.2.in_layers.0.weight", "output_blocks.2.2.in_layers.0.bias", "output_blocks.2.2.in_layers.2.weight", "output_blocks.2.2.in_layers.2.bias", "output_blocks.2.2.emb_layers.1.weight", "output_blocks.2.2.emb_layers.1.bias", "output_blocks.2.2.out_layers.0.weight", "output_blocks.2.2.out_layers.0.bias", "output_blocks.2.2.out_layers.3.weight", "output_blocks.2.2.out_layers.3.bias", "output_blocks.5.2.in_layers.0.weight", "output_blocks.5.2.in_layers.0.bias", "output_blocks.5.2.in_layers.2.weight", "output_blocks.5.2.in_layers.2.bias", "output_blocks.5.2.emb_layers.1.weight", "output_blocks.5.2.emb_layers.1.bias", "output_blocks.5.2.out_layers.0.weight", "output_blocks.5.2.out_layers.0.bias", "output_blocks.5.2.out_layers.3.weight", "output_blocks.5.2.out_layers.3.bias", "output_blocks.8.2.in_layers.0.weight", "output_blocks.8.2.in_layers.0.bias", "output_blocks.8.2.in_layers.2.weight", "output_blocks.8.2.in_layers.2.bias", "output_blocks.8.2.emb_layers.1.weight", "output_blocks.8.2.emb_layers.1.bias", "output_blocks.8.2.out_layers.0.weight", "output_blocks.8.2.out_layers.0.bias", "output_blocks.8.2.out_layers.3.weight", "output_blocks.8.2.out_layers.3.bias", "output_blocks.11.1.in_layers.0.weight", "output_blocks.11.1.in_layers.0.bias", "output_blocks.11.1.in_layers.2.weight", "output_blocks.11.1.in_layers.2.bias", "output_blocks.11.1.emb_layers.1.weight", "output_blocks.11.1.emb_layers.1.bias", "output_blocks.11.1.out_layers.0.weight", "output_blocks.11.1.out_layers.0.bias", "output_blocks.11.1.out_layers.3.weight", "output_blocks.11.1.out_layers.3.bias", "output_blocks.14.1.in_layers.0.weight", "output_blocks.14.1.in_layers.0.bias", "output_blocks.14.1.in_layers.2.weight", "output_blocks.14.1.in_layers.2.bias", "output_blocks.14.1.emb_layers.1.weight", "output_blocks.14.1.emb_layers.1.bias", "output_blocks.14.1.out_layers.0.weight", "output_blocks.14.1.out_layers.0.bias", "output_blocks.14.1.out_layers.3.weight", "output_blocks.14.1.out_layers.3.bias". Unexpected key(s) in state_dict: "input_blocks.3.0.op.weight", "input_blocks.3.0.op.bias", "input_blocks.6.0.op.weight", "input_blocks.6.0.op.bias", "input_blocks.9.0.op.weight", "input_blocks.9.0.op.bias", "input_blocks.12.0.op.weight", "input_blocks.12.0.op.bias", "input_blocks.15.0.op.weight", "input_blocks.15.0.op.bias", "output_blocks.2.2.conv.weight", "output_blocks.2.2.conv.bias", "output_blocks.5.2.conv.weight", "output_blocks.5.2.conv.bias", "output_blocks.8.2.conv.weight", "output_blocks.8.2.conv.bias", "output_blocks.11.1.conv.weight", "output_blocks.11.1.conv.bias", "output_blocks.14.1.conv.weight", "output_blocks.14.1.conv.bias".

No360201 avatar Aug 08 '22 11:08 No360201

@adam-openai @aluo-openai

No360201 avatar Aug 08 '22 11:08 No360201

hi have you solved this problem? I meet this problem too!!! @No360201

pokameng avatar Oct 09 '22 13:10 pokameng

hi have you solved this problem? I meet this problem too!!! @No360201 i can train now , do you have wechat

No360201 avatar Oct 10 '22 06:10 No360201

My we chat NLG-wsm @No360201

pokameng avatar Oct 10 '22 07:10 pokameng

We can chat with each other in wechat and my wechat is NLG-wsm

pokameng avatar Oct 10 '22 07:10 pokameng

Hey guys! I am now encountering the same problem. Can you share the solution with me? @pokameng @No360201

lin-tianyu avatar Jan 17 '23 16:01 lin-tianyu

I am encountering the same problem. Did you guys find out how to solve this problem?

FrozenSeas avatar Feb 23 '23 07:02 FrozenSeas

I trained a diffusion model base on guided-diffusion, rather than 'improved-diffusion', and this problem was solved. I think this issue might due to the different setting of diffusion model between improved-diffusion and guided-diffusion.

lin-tianyu avatar Feb 23 '23 07:02 lin-tianyu

@lin-tianyu Hello, may I add your contact information and ask some training questions?

ONobody avatar Feb 28 '23 01:02 ONobody

@ONobody Of course, you can contact me via my email: [email protected]

lin-tianyu avatar Feb 28 '23 02:02 lin-tianyu

Hi guys! I am encountering the same problem. Can you share the solution with me? @pokameng @No360201 @lin-tianyu My command for 256X256 dataset is: MODEL_FLAGS="--image_size 256 --num_channels 256 --num_res_blocks 2 --num_heads 4 --learn_sigma True --use_scale_shift_norm true" DIFFUSION_FLAGS="--diffusion_steps 1000 --noise_schedule linear --rescale_learned_sigmas False" TRAIN_FLAGS="--lr 1e-4 --microbatch 4 --dropout 0.1" and the checkpoint of is 1.9G, but i notice that repaint's checkpoint is 2.1G,how shoud i channge it? Can you add my Wechat:SemiMobile?

zhangbaijin avatar Mar 14 '23 07:03 zhangbaijin

The problem is solved, thanks,guys.

zhangbaijin avatar Mar 14 '23 08:03 zhangbaijin

@zhangbaijin excuse me sir, can you tell me how to solve it, because i seem to be having the same problem

octadion avatar Mar 15 '23 12:03 octadion

@zhangbaijin @pokameng @lin-tianyu Hi guys! I am encountering the same problem. Can you share the solution with me? Ask about the weight mismatch and NaN problem during model training.

xyz-xdx avatar Mar 28 '23 13:03 xyz-xdx

I have solved this problem!I need to train guided diffusion for repaint using my own dataset.But I ignored these hyperparameters .All hyperparameters must be consistent with repaint(stored in the YAML file), and you can preliminarily judge whether they are consistent by the size of the checkpoint. If they are inconsistent, load_state_dict will report an error.

daisybby avatar May 07 '23 07:05 daisybby

I have solved this problem!I need to train guided diffusion for repaint using my own dataset.But I ignored these hyperparameters .All hyperparameters must be consistent with repaint(stored in the YAML file), and you can preliminarily judge whether they are consistent by the size of the checkpoint. If they are inconsistent, load_state_dict will report an error.

hello,can you provide the train file and related configs?

hzy-del avatar Feb 01 '24 05:02 hzy-del

@daisybby > I have solved this problem!I need to train guided diffusion for repaint using my own dataset.But I ignored these hyperparameters .All hyperparameters must be consistent with repaint(stored in the YAML file), and you can preliminarily judge whether they are consistent by the size of the checkpoint. If they are inconsistent, load_state_dict will report an error.

Hello can you please help me on how to train guided diffusion for repaint. I'm tryna train with my own data for repaint.

Joseph-Mulenga avatar Feb 21 '24 22:02 Joseph-Mulenga

MODEL_FLAGS="--image_size 256 --attention_resolutions 32,16,8 --num_channels 256 --num_head_channels 64 --num_res_blocks 2 --num_heads 4 --resblock_updown true --learn_sigma True --use_scale_shift_norm true --learn_sigma true --timestep_respacing 250 --use_fp16 false --use_kl false " DIFFUSION_FLAGS="--diffusion_steps 1000 --noise_schedule linear --rescale_learned_sigmas False" TRAIN_FLAGS="--lr 1e-4 --microbatch 4 --dropout 0.0"

zhangbaijin avatar Feb 22 '24 11:02 zhangbaijin