bye111
bye111
Does the code available
我遇到了同样的问题,请问您解决了吗
我遇到了同样的问题,请问您解决了吗 
请问您解决了吗
请问您解决了吗,我遇到训练出来权重不匹配问题。是不是因为guided-diffusion训练用的unet结构和repaint测试的不同。RuntimeError: Error(s) in loading state_dict for UNetModel: Missing key(s) in state_dict: "input_blocks.4.0.in_layers.0.weight", "input_blocks.4.0.in_layers.0.bias", Unexpected key(s) in state_dict: "input_blocks.4.0.op.weight", "input_blocks.4.0.op.bias", "input_blocks.8.0.op.weight", size mismatch for label_emb.weight: copying a param with shape torch.Size([1,...
好的谢谢您,意思是可以通过改参数解决,不必更改结构重训练是吧
好的好的,谢谢您!
> > 好的谢谢您,意思是可以通过改参数解决,不必更改结构重训练是吧 > > 他这个代码挺🐕的,把训练相关的都删了。你要不介意可以在我的代码仓库里找 Recode-RePaint,我重构了config 文件的结构,同时把原本的采样和训练模块也都加回去了。256和128我都跑过了,你可以直接训练和采样试试看。但是参数你得自己调哈,反正训练和采样保证参数的一致性就能跑repaint了。 再者就是,请问当我使用class_conda=True时,是否必须伴有classifier分类器的权重,能否仅用train的权重实现多类别图像修复
> > > 再者就是,请问当我使用class_conda=True时,是否必须伴有classifier分类器的权重,能否仅用train的权重实现多类别图像修复 > > > > > > 我以为你知道的,RePaint它本来就不用分类器,无条件引导,只是保留了一个接口。你把 script_util 中的分类器启动代码注释掉就行。我之前把这个unet单独提取了一个 unet2.py 出来,我上传之前不小心删掉了,你就暂时注释掉用吧,反正也用不上分类器。等我空了再把这个删除的文件补上。 > > 不好意思,没看清楚你的问题。要看你说的多类别图像修复是什么任务了,如果你要专注于某一个东西的修复,那你不但需要分类器,你还需要在此基础上改代码。如果只是类似的,也不需要区分的那么开,比如说同样是人脸,你非要分一个男人和女人,是可以这么训练,但是合一起也没问题,就跟RePaint官方的 CelebA 数据集训练的人脸修复一样。RePaint本身是无条件引导的修复方式,你要实现你所说的多类别修复,你自己研究代码做调整,反正我注释都写得的很清楚了,你现在学也算是事半功倍。但是我要说明的是,如果你的数据集,每个类别的数据量不够多,可能效果不会太好,每个类别至少要小1w才有效果的。 感谢回复,因为我看官方yml中当class_conda=true时,使用到了 classifier_path: ./data/pretrained/256x256_classifier.pt model_path: ./data/pretrained/256x256_diffusion.pt 所以才感到疑惑,那我训练效果不好可能还是数据太少导致,我八个类最多一类才700张