in lib/model/HGPIFuNetwNML.py [0:0]
def loadFromHGHPIFu(self, net):
hgnet = net.image_filter
pretrained_dict = hgnet.state_dict()
model_dict = self.image_filter.state_dict()
pretrained_dict = {k: v for k, v in hgnet.state_dict().items() if k in model_dict}
for k, v in pretrained_dict.items():
if v.size() == model_dict[k].size():
model_dict[k] = v
not_initialized = set()
for k, v in model_dict.items():
if k not in pretrained_dict or v.size() != pretrained_dict[k].size():
not_initialized.add(k.split('.')[0])
print('not initialized', sorted(not_initialized))
self.image_filter.load_state_dict(model_dict)
pretrained_dict = net.mlp.state_dict()
model_dict = self.mlp.state_dict()
pretrained_dict = {k: v for k, v in net.mlp.state_dict().items() if k in model_dict}
for k, v in pretrained_dict.items():
if v.size() == model_dict[k].size():
model_dict[k] = v
not_initialized = set()
for k, v in model_dict.items():
if k not in pretrained_dict or v.size() != pretrained_dict[k].size():
not_initialized.add(k.split('.')[0])
print('not initialized', sorted(not_initialized))
self.mlp.load_state_dict(model_dict)