nerfstudio: nerfacto checkpoints render fail with latest

Last Friday, I was able to use ns-render with my trained nerfacto model (with commit with 3933589). This morning the latest gives this error when trying to render

RuntimeError: Error(s) in loading state_dict for NerfactoModel:
        Missing key(s) in state_dict: "field.max_res", "field.num_levels", "field.log2_hashmap_size",
"proposal_networks.0.max_res", "proposal_networks.0.num_levels", "proposal_networks.0.log2_hashmap_size",
"proposal_networks.1.max_res", "proposal_networks.1.num_levels", "proposal_networks.1.log2_hashmap_size".

About this issue

  • Original URL
  • State: open
  • Created a year ago
  • Comments: 15 (15 by maintainers)

Most upvoted comments

I’m conflicted. I am not a fan of the proposal in https://github.com/nerfstudio-project/nerfstudio/issues/1523#issuecomment-1446875464, I want to avoid having logic related to specific models in the base modules such as Pipeline. While it is not ideal that the checkpoints break between different nerfstudio versions, I don’t view it as too much of an issue since training the models is relatively cheap compared to other ml models. Longer term, I don’t think we want this, but since the project is still pretty new evolving quickly, I think it’s fine to have some breaking changes. One thing we could think about is improving the error messaging around failures like this. Ie, if the state doesn’t match we can include a warning “Checkpoint can not be loaded, this could be the result of training with a different version of nerfstudio.”

I completely agree with you @machenmusik. I would like to know the opinion of @tancik. If he agrees I can implement these changes.