Skip to content

hovernet_fast_monusac_type_tf2pytorch.tar not loading on "Fast" Version #294

@jamesgwen

Description

@jamesgwen

Hello!
I am trying to run inference using the hovernet_fast_monusac_type_tf2pytorch.tar model.

When I use --model_model=fast as described in the README, I get the following error:

Traceback (most recent call last):
  File "/home/jupyter/hover_net/run_infer.py", line 185, in <module>
    infer = InferManager(**method_args)
  File "/home/jupyter/hover_net/infer/base.py", line 27, in __init__
    self.__load_model()
  File "/home/jupyter/hover_net/infer/base.py", line 68, in __load_model
    net.load_state_dict(saved_state_dict, strict=True)
  File "/home/jupyter/micromamba/envs/environment_name/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1671, in load_state_dict
    raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for HoVerNet:
        Unexpected key(s) in state_dict: "decoder.tp.u0.conv.weight", "decoder.tp.u0.conv.bias", "decoder.tp.u0.bn.bias", "decoder.tp.u0.bn.weight", "decoder.tp.u0.bn.running_mean", "decoder.tp.u0.bn.running_var", "decoder.tp.u1.conva.weight", "decoder.tp.u2.conva.weight", "decoder.tp.u2.convf.weight", "decoder.tp.u2.dense.units.0.conv1.weight", "decoder.tp.u2.dense.units.0.conv1/bn.bias", "decoder.tp.u2.dense.units.0.conv1/bn.weight", "decoder.tp.u2.dense.units.0.conv1/bn.running_mean", "decoder.tp.u2.dense.units.0.conv1/bn.running_var", "decoder.tp.u2.dense.units.0.conv2.weight", "decoder.tp.u2.dense.units.0.preact_bna/bn.bias", "decoder.tp.u2.dense.units.0.preact_bna/bn.weight", "decoder.tp.u2.dense.units.0.preact_bna/bn.running_mean", "decoder.tp.u2.dense.units.0.preact_bna/bn.running_var", "decoder.tp.u2.dense.units.1.conv1.weight", "decoder.tp.u2.dense.units.1.conv1/bn.bias", "decoder.tp.u2.dense.units.1.conv1/bn.weight", "decoder.tp.u2.dense.units.1.conv1/bn.running_mean", "decoder.tp.u2.dense.units.1.conv1/bn.running_var", "decoder.tp.u2.dense.units.1.conv2.weight", "decoder.tp.u2.dense.units.1.preact_bna/bn.bias", "decoder.tp.u2.dense.units.1.preact_bna/bn.weight", "decoder.tp.u2.dense.units.1.preact_bna/bn.running_mean", "decoder.tp.u2.dense.units.1.preact_bna/bn.running_var", "decoder.tp.u2.dense.units.2.conv1.weight", "decoder.tp.u2.dense.units.2.conv1/bn.bias", "decoder.tp.u2.dense.units.2.conv1/bn.weight", "decoder.tp.u2.dense.units.2.conv1/bn.running_mean", "decoder.tp.u2.dense.units.2.conv1/bn.running_var", "decoder.tp.u2.dense.units.2.conv2.weight", "decoder.tp.u2.dense.units.2.preact_bna/bn.bias", "decoder.tp.u2.dense.units.2.preact_bna/bn.weight", "decoder.tp.u2.dense.units.2.preact_bna/bn.running_mean", "decoder.tp.u2.dense.units.2.preact_bna/bn.running_var", "decoder.tp.u2.dense.units.3.conv1.weight", "decoder.tp.u2.dense.units.3.conv1/bn.bias", "decoder.tp.u2.dense.units.3.conv1/bn.weight", "decoder.tp.u2.dense.units.3.conv1/bn.running_mean", "decoder.tp.u2.dense.units.3.conv1/bn.running_var", "decoder.tp.u2.dense.units.3.conv2.weight", "decoder.tp.u2.dense.units.3.preact_bna/bn.bias", "decoder.tp.u2.dense.units.3.preact_bna/bn.weight", "decoder.tp.u2.dense.units.3.preact_bna/bn.running_mean", "decoder.tp.u2.dense.units.3.preact_bna/bn.running_var", "decoder.tp.u2.dense.blk_bna.bn.bias", "decoder.tp.u2.dense.blk_bna.bn.weight", "decoder.tp.u2.dense.blk_bna.bn.running_mean", "decoder.tp.u2.dense.blk_bna.bn.running_var", "decoder.tp.u3.conva.weight", "decoder.tp.u3.convf.weight", "decoder.tp.u3.dense.units.0.conv1.weight", "decoder.tp.u3.dense.units.0.conv1/bn.bias", "decoder.tp.u3.dense.units.0.conv1/bn.weight", "decoder.tp.u3.dense.units.0.conv1/bn.running_mean", "decoder.tp.u3.dense.units.0.conv1/bn.running_var", "decoder.tp.u3.dense.units.0.conv2.weight", "decoder.tp.u3.dense.units.0.preact_bna/bn.bias", "decoder.tp.u3.dense.units.0.preact_bna/bn.weight", "decoder.tp.u3.dense.units.0.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.0.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.1.conv1.weight", "decoder.tp.u3.dense.units.1.conv1/bn.bias", "decoder.tp.u3.dense.units.1.conv1/bn.weight", "decoder.tp.u3.dense.units.1.conv1/bn.running_mean", "decoder.tp.u3.dense.units.1.conv1/bn.running_var", "decoder.tp.u3.dense.units.1.conv2.weight", "decoder.tp.u3.dense.units.1.preact_bna/bn.bias", "decoder.tp.u3.dense.units.1.preact_bna/bn.weight", "decoder.tp.u3.dense.units.1.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.1.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.2.conv1.weight", "decoder.tp.u3.dense.units.2.conv1/bn.bias", "decoder.tp.u3.dense.units.2.conv1/bn.weight", "decoder.tp.u3.dense.units.2.conv1/bn.running_mean", "decoder.tp.u3.dense.units.2.conv1/bn.running_var", "decoder.tp.u3.dense.units.2.conv2.weight", "decoder.tp.u3.dense.units.2.preact_bna/bn.bias", "decoder.tp.u3.dense.units.2.preact_bna/bn.weight", "decoder.tp.u3.dense.units.2.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.2.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.3.conv1.weight", "decoder.tp.u3.dense.units.3.conv1/bn.bias", "decoder.tp.u3.dense.units.3.conv1/bn.weight", "decoder.tp.u3.dense.units.3.conv1/bn.running_mean", "decoder.tp.u3.dense.units.3.conv1/bn.running_var", "decoder.tp.u3.dense.units.3.conv2.weight", "decoder.tp.u3.dense.units.3.preact_bna/bn.bias", "decoder.tp.u3.dense.units.3.preact_bna/bn.weight", "decoder.tp.u3.dense.units.3.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.3.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.4.conv1.weight", "decoder.tp.u3.dense.units.4.conv1/bn.bias", "decoder.tp.u3.dense.units.4.conv1/bn.weight", "decoder.tp.u3.dense.units.4.conv1/bn.running_mean", "decoder.tp.u3.dense.units.4.conv1/bn.running_var", "decoder.tp.u3.dense.units.4.conv2.weight", "decoder.tp.u3.dense.units.4.preact_bna/bn.bias", "decoder.tp.u3.dense.units.4.preact_bna/bn.weight", "decoder.tp.u3.dense.units.4.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.4.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.5.conv1.weight", "decoder.tp.u3.dense.units.5.conv1/bn.bias", "decoder.tp.u3.dense.units.5.conv1/bn.weight", "decoder.tp.u3.dense.units.5.conv1/bn.running_mean", "decoder.tp.u3.dense.units.5.conv1/bn.running_var", "decoder.tp.u3.dense.units.5.conv2.weight", "decoder.tp.u3.dense.units.5.preact_bna/bn.bias", "decoder.tp.u3.dense.units.5.preact_bna/bn.weight", "decoder.tp.u3.dense.units.5.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.5.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.6.conv1.weight", "decoder.tp.u3.dense.units.6.conv1/bn.bias", "decoder.tp.u3.dense.units.6.conv1/bn.weight", "decoder.tp.u3.dense.units.6.conv1/bn.running_mean", "decoder.tp.u3.dense.units.6.conv1/bn.running_var", "decoder.tp.u3.dense.units.6.conv2.weight", "decoder.tp.u3.dense.units.6.preact_bna/bn.bias", "decoder.tp.u3.dense.units.6.preact_bna/bn.weight", "decoder.tp.u3.dense.units.6.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.6.preact_bna/bn.running_var", "decoder.tp.u3.dense.units.7.conv1.weight", "decoder.tp.u3.dense.units.7.conv1/bn.bias", "decoder.tp.u3.dense.units.7.conv1/bn.weight", "decoder.tp.u3.dense.units.7.conv1/bn.running_mean", "decoder.tp.u3.dense.units.7.conv1/bn.running_var", "decoder.tp.u3.dense.units.7.conv2.weight", "decoder.tp.u3.dense.units.7.preact_bna/bn.bias", "decoder.tp.u3.dense.units.7.preact_bna/bn.weight", "decoder.tp.u3.dense.units.7.preact_bna/bn.running_mean", "decoder.tp.u3.dense.units.7.preact_bna/bn.running_var", "decoder.tp.u3.dense.blk_bna.bn.bias", "decoder.tp.u3.dense.blk_bna.bn.weight", "decoder.tp.u3.dense.blk_bna.bn.running_mean", "decoder.tp.u3.dense.blk_bna.bn.running_var". 

It looks like in the fast model, these weight names are not in the model. Interestingly, when I switch to original, the weight names are able to return but of course, I get an error saying the dimensions do not match.

Thank you for your assistance!

Edit:
I am now having the opposite problem for hovernet_original_consep_type_tf2pytorch.tar

Edit2:
I believe I fixed the issue but setting net.load_state_dict(saved_state_dict, strict=False) in infer/base.py. No missing_keys were reported either when I did this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions