go-nuclear
go-nuclear copied to clipboard
Model not found using demo configuration file
I just tried to run the generic plantseg segmentation with a collaborator using the sample config file, which uses this model:
https://github.com/kreshuklab/go-nuclear/blob/12caacbabca35a3d386fe038afa8fd47cc61f495/plantseg/configs/config_pred_wide_applicability.yaml#L40
but we ran into this error:
(plant-seg) acom0007@MU00158125X ~ % plantseg --config /Users/acom0007/Downloads/config_pred_wide_applicability.yaml
You are using the latest version of PlantSeg: 1.8.1.
/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/models/zoo.py:286: UserWarning: Model generic_plant_nuclei_3D not found in the models zoo configuration.
warn(f"Model {model_name} not found in the models zoo configuration.")
Traceback (most recent call last):
File "/Users/acom0007/micromamba/envs/plant-seg/bin/plantseg", line 10, in <module>
sys.exit(main())
^^^^^^
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/run_plantseg.py", line 83, in main
process_config(args.config)
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/run_plantseg.py", line 64, in process_config
raw2seg(config)
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/raw2seg.py", line 117, in raw2seg
config = config_validation(config)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/config_validation.py", line 263, in config_validation
config = recursive_config_check(config, template)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/config_validation.py", line 191, in recursive_config_check
config[key] = recursive_config_check(config[key], template[key])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/config_validation.py", line 187, in recursive_config_check
config[key] = value(key, config[key])
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/config_validation.py", line 146, in __call__
out = check(key, out, self.fallback)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/config_validation.py", line 100, in model_exist
_error_message(f"value must be one of {_list_models}", key, value, fallback)
File "/Users/acom0007/micromamba/envs/plant-seg/lib/python3.11/site-packages/plantseg/pipeline/config_validation.py", line 29, in _error_message
raise RuntimeError(_error)
RuntimeError: key: model_name has got value: generic_plant_nuclei_3D, but value must be one of ['generic_confocal_3D_unet', 'generic_light_sheet_3D_unet', 'confocal_3D_unet_ovules_ds1x', 'confocal_3D_unet_ovules_ds2x', 'confocal_3D_unet_ovules_ds3x', 'confocal_2D_unet_ovules_ds2x', 'lightsheet_3D_unet_root_ds1x', 'lightsheet_3D_unet_root_ds2x', 'lightsheet_3D_unet_root_ds3x', 'lightsheet_2D_unet_root_ds1x', 'lightsheet_3D_unet_root_nuclei_ds1x', 'lightsheet_2D_unet_root_nuclei_ds1x', 'confocal_2D_unet_sa_meristem_cells', 'confocal_3D_unet_sa_meristem_cells', 'lightsheet_3D_unet_mouse_embryo_cells', 'confocal_3D_unet_mouse_embryo_nuclei', 'PlantSeg_3Dnuc_platinum']
We're not sure if this is a typo in the demo config file, or a placeholder that wasn't meant to be used, or a missing update to plantseg...?
At any rate, the README instructions only specify to change the path
, so we would super appreciate more guidance on how to use the models correctly! 🙏