mapbox / robosat

Semantic segmentation on aerial and satellite imagery. Extracts features such as: buildings, parking lots, roads, water, clouds
MIT License
2.01k stars 382 forks source link

checkpoint bavaria-dop80-scse-checkpoint.pth error #198

Closed dorbodwolf closed 4 years ago

dorbodwolf commented 4 years ago

hello, guys

In latest robosat docker-gpu version, I use bavaria-dop80-scse-checkpoint.pth to predict my dataset, but it throw errors.

here's what I have try:

root@deekongone:/app# ls
AUTHORS.md  LICENSE  README.md  assets  config  deps  docker  robosat  rs  tests
root@deekongone:/app# ./rs predict /robosat-taipei/robosat-hainan/tile/shishan_tile /robosat-taipei/robosat-hainan/probabilities --batch_size 16 --checkpoint /robosat-taipei/release-01/bavaria-dop80-scse-checkpoint.pth --overlap 32 --tile_size 256 --workers 8 --model /robosat-taipei/model-unet.toml --dataset /robosat-taipei/building.toml

here is the error:

Traceback (most recent call last):
  File "/usr/lib/python3.5/runpy.py", line 184, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.5/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/app/robosat/tools/__main__.py", line 60, in <module>
    args.func(args)
  File "/app/robosat/tools/predict.py", line 68, in main
    net.load_state_dict(chkpt["state_dict"])
  File "/usr/local/lib/python3.5/dist-packages/torch/nn/modules/module.py", line 719, in load_state_dict
    self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for DataParallel:
    Unexpected key(s) in state_dict: "module.scse0.cse.fc0.weight", "module.scse0.cse.fc1.weight", "module.scse0.sse.conv.weight", "module.scse1.cse.fc0.weight", "module.scse1.cse.fc1.weight", "module.scse1.sse.conv.weight", "module.scse2.cse.fc0.weight", "module.scse2.cse.fc1.weight", "module.scse2.sse.conv.weight", "module.scse3.cse.fc0.weight", "module.scse3.cse.fc1.weight", "module.scse3.sse.conv.weight", "module.scse4.cse.fc0.weight", "module.scse4.cse.fc1.weight", "module.scse4.sse.conv.weight", "module.scse5.cse.fc0.weight", "module.scse5.cse.fc1.weight", "module.scse5.sse.conv.weight", "module.scse6.cse.fc0.weight", "module.scse6.cse.fc1.weight", "module.scse6.sse.conv.weight", "module.scse7.cse.fc0.weight", "module.scse7.cse.fc1.weight", "module.scse7.sse.conv.weight", "module.scse8.cse.fc0.weight", "module.scse8.cse.fc1.weight", "module.scse8.sse.conv.weight", "module.scse9.cse.fc0.weight", "module.scse9.cse.fc1.weight", "module.scse9.sse.conv.weight". 
root@deekongone:/app# 

wish for your reply.

daniel-j-h commented 4 years ago

There are two checkpoints in the released bavaria weights

you are trying to load the scse branch weights into the master model definition.

Try the other pth weights or use the experimental scse branch.