qianlim / POP

Official implementation of the ICCV 2021 paper: "The Power of Points for Modeling Humans in Clothing".
https://qianlim.github.io/POP
Other
185 stars 20 forks source link

Dimension mismatch of trained weights (ReSynthdata_12outfit) #16

Open SuwoongHeo opened 2 years ago

SuwoongHeo commented 2 years ago

Thanks for sharing the code of the wonderful work!

I had tried to test the code with pre-trained weight for ReSynthedata provided in the link in Readme. With the default configuration setting, there is a dimension mismatch between the pre-trained weight and the defined network. Specifically, for unet_posefeat defined by this module, UnetNoCond7DS the layer upconvC5 should have input channel size as 256. However, in the pre-trained model, its dimension is 384 which yields dimension mismatch error during loading that model like below.

image

Is there any way to fix this?

QUMINGZHEMENAN commented 2 years ago

Has your problem been solve?

fishfishson commented 2 years ago

it seems the author changed the arch of net in his recent commit f865a01d6b9a8c5f8c0412b4d77481265fb2c676. Restore it and the net works well. BTW @qianlim is it a bug?

qianlim commented 2 years ago

Hey guys! @fishfishson is right: my latest commit fixed a bug in the original code (= where all the pre-trained checkpoints are based on, also = the model that are generates the quantitative results in the paper). So this fix makes the architecture not compatible with the previous checkpoints. However I've verified that fixing the bug doesn't significantly change the model's performance (the concrete quantitative results are also slightly subject to the random seeds on each machine). So you can either checkout to an earlier commit e.g. a05404d which is compatible with the pre-trained models; or just use the latest commit and re-train the model.