Rapisurazurite / CamoDiffusion

This repository is the official implementation of CamoDiffusion: Camouflaged Object Detection via Conditional Diffusion Models.
46 stars 5 forks source link

请问训练时,cond_uvit模型是如何构建的 #2

Closed Kuzu710 closed 10 months ago

Kuzu710 commented 10 months ago

train.py中通过如下代码构建了模型: cond_uvit = instantiate_from_config(cfg.cond_uvit, conditioning_klass=get_obj_from_str(cfg.cond_uvit.params.conditioning_klass)) model = recurse_instantiate_from_config(cfg.model, unet=cond_uvit) diffusion_model = instantiate_from_config(cfg.diffusion_model, model=model) 其中cond_uvit模块的构建参数都是model.net.EmptyObject这个空函数,是否可以理解为模型并没有用到CondUViT这个类呢?如果我的理解有误请您解答一下这三行代码是如何构建出最终的模型的,感谢。 我的邮箱是1297504392@qq.com,我对您的工作很感兴趣,希望可以与您交流。

Rapisurazurite commented 10 months ago

是的,cond_uvit在最终实现的时候并没有用到,不好意思给你带来困扰,我们的代码将会在之后进行更新和整理

Kuzu710 commented 10 months ago

是的,cond_uvit在最终实现的时候并没有用到,不好意思给你带来困扰,我们的代码将会在之后进行更新和整理

还想请问一下,pvtv2m的预训练权重是如何训练的,我在载入权重和不载入权重的情况下都训练了模型,模型的结果差别较大,如果我要更换上层特征提取的模块是否代表我要对特征提取的部分先进行预训练后再导入预训练权重才能取得理想的效果呢?

Rapisurazurite commented 10 months ago

是的,cond_uvit在最终实现的时候并没有用到,不好意思给你带来困扰,我们的代码将会在之后进行更新和整理

还想请问一下,pvtv2m的预训练权重是如何训练的,我在载入权重和不载入权重的情况下都训练了模型,模型的结果差别较大,如果我要更换上层特征提取的模块是否代表我要对特征提取的部分先进行预训练后再导入预训练权重才能取得理想的效果呢?

是的,pvt模型是在ImageNet上预训练后得到的。不使用预训练模型,效果会有所下降。

Kuzu710 commented 10 months ago

是的,cond_uvit在最终实现的时候并没有用到,不好意思给你带来困扰,我们的代码将会在之后进行更新和整理

还想请问一下,pvtv2m的预训练权重是如何训练的,我在载入权重和不载入权重的情况下都训练了模型,模型的结果差别较大,如果我要更换上层特征提取的模块是否代表我要对特征提取的部分先进行预训练后再导入预训练权重才能取得理想的效果呢?

是的,pvt模型是在ImageNet上预训练后得到的。不使用预训练模型,效果会有所下降。

好的,感谢您的回复!