Skip to content

monailabel with MONAI 1.5.0 does not recognize pytorch 2.7.1 with gpu in Windows #1844

@chz31

Description

@chz31

I installed monailabel today on a Windows 10 and Windows 11 computers with pytorch 2.7.1 (cuda 118 and cuda 126). Monailabel appeared not to be able to recognize cuda during training. It actually printed out pytorch version as 2.6.0 + cpu. In fact, after install monailabel, pytorch also could not recognize GPU. (See "Steps to Reproduce behaveior" below).

(monai_cu26) C:\Users\chi.zhang\Documents>python -c "import monai; monai.config.print_config()"
MONAI version: 1.5.0
Numpy version: 1.26.3
Pytorch version: 2.6.0+cpu

On the other hand, monailable can recognize Pytorch 2.7.1+cu118 in Ubuntu 22.04.

Server logs

(monai_cu26) C:\Users\chi.zhang\Documents>monailabel start_server --app apps/radiology --studies datasets/Task09_Spleen/imagesTr --conf models deepedit
Using PYTHONPATH=C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\SOFA\v24.06.00\plugins\SofaPython3\lib\python3\site-packages;C:\Users\chi.zhang\SOFA\external_plugins\STLIB\build\lib\python3\site-packages;
""
[2025-07-08 14:04:28,299] [7508] [MainThread] [INFO] (__main__:285) - USING:: version = False
[2025-07-08 14:04:28,300] [7508] [MainThread] [INFO] (__main__:285) - USING:: app = C:\Users\chi.zhang\Documents\apps\radiology
[2025-07-08 14:04:28,300] [7508] [MainThread] [INFO] (__main__:285) - USING:: studies = C:\Users\chi.zhang\Documents\datasets\Task09_Spleen\imagesTr
[2025-07-08 14:04:28,300] [7508] [MainThread] [INFO] (__main__:285) - USING:: verbose = INFO
[2025-07-08 14:04:28,301] [7508] [MainThread] [INFO] (__main__:285) - USING:: conf = [['models', 'deepedit']]
[2025-07-08 14:04:28,301] [7508] [MainThread] [INFO] (__main__:285) - USING:: host = 0.0.0.0
[2025-07-08 14:04:28,301] [7508] [MainThread] [INFO] (__main__:285) - USING:: port = 8000
[2025-07-08 14:04:28,302] [7508] [MainThread] [INFO] (__main__:285) - USING:: uvicorn_app = monailabel.app:app
[2025-07-08 14:04:28,302] [7508] [MainThread] [INFO] (__main__:285) - USING:: ssl_keyfile = None
[2025-07-08 14:04:28,302] [7508] [MainThread] [INFO] (__main__:285) - USING:: ssl_certfile = None
[2025-07-08 14:04:28,303] [7508] [MainThread] [INFO] (__main__:285) - USING:: ssl_keyfile_password = None
[2025-07-08 14:04:28,304] [7508] [MainThread] [INFO] (__main__:285) - USING:: ssl_ca_certs = None
[2025-07-08 14:04:28,304] [7508] [MainThread] [INFO] (__main__:285) - USING:: workers = None
[2025-07-08 14:04:28,305] [7508] [MainThread] [INFO] (__main__:285) - USING:: limit_concurrency = None
[2025-07-08 14:04:28,305] [7508] [MainThread] [INFO] (__main__:285) - USING:: access_log = False
[2025-07-08 14:04:28,306] [7508] [MainThread] [INFO] (__main__:285) - USING:: root_path =
[2025-07-08 14:04:28,306] [7508] [MainThread] [INFO] (__main__:285) - USING:: log_level = info
[2025-07-08 14:04:28,307] [7508] [MainThread] [INFO] (__main__:285) - USING:: log_config = None
[2025-07-08 14:04:28,307] [7508] [MainThread] [INFO] (__main__:285) - USING:: dryrun = False
[2025-07-08 14:04:28,307] [7508] [MainThread] [INFO] (__main__:285) - USING:: action = start_server
[2025-07-08 14:04:28,308] [7508] [MainThread] [INFO] (__main__:296) -
pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
Allow Origins: ['*']
[2025-07-08 14:04:29,462] [7508] [MainThread] [INFO] (uvicorn.error:84) - Started server process [7508]
[2025-07-08 14:04:29,462] [7508] [MainThread] [INFO] (uvicorn.error:48) - Waiting for application startup.
App Init...
[2025-07-08 14:04:29,465] [7508] [MainThread] [INFO] (monailabel.interfaces.utils.app:37) - Initializing App from: C:\Users\chi.zhang\Documents\apps\radiology; studies: C:\Users\chi.zhang\Documents\datasets\Task09_Spleen\imagesTr; conf: {'models': 'deepedit'}
[2025-07-08 14:04:29,512] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for MONAILabelApp Found: <class 'main.MyApp'>
[2025-07-08 14:04:29,524] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepedit.DeepEdit'>
[2025-07-08 14:04:29,525] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_2d.Deepgrow2D'>
[2025-07-08 14:04:29,526] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_3d.Deepgrow3D'>
[2025-07-08 14:04:29,528] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_spine.LocalizationSpine'>
[2025-07-08 14:04:29,530] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_vertebra.LocalizationVertebra'>
[2025-07-08 14:04:29,531] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation.Segmentation'>
[2025-07-08 14:04:29,533] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_spleen.SegmentationSpleen'>
[2025-07-08 14:04:29,534] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_vertebra.SegmentationVertebra'>
[2025-07-08 14:04:29,535] [7508] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.sw_fastedit.SWFastEditConfig'>
[2025-07-08 14:04:29,535] [7508] [MainThread] [INFO] (main:95) - +++ Adding Model: deepedit => lib.configs.deepedit.DeepEdit
[2025-07-08 14:04:29,536] [7508] [MainThread] [INFO] (monailabel.utils.others.generic:187) - Downloading resource: C:\Users\chi.zhang\Documents\apps\radiology\model\pretrained_deepedit_dynunet.pt from https://github.com/Project-MONAI/MONAILabel/releases/download/pretrained/radiology_deepedit_dynunet_multilabel.pt
pretrained_deepedit_dynunet.pt: 118MB [00:02, 42.9MB/s]
2025-07-08 14:04:32,437 - INFO - Downloaded: C:\Users\chi.zhang\Documents\apps\radiology\model\pretrained_deepedit_dynunet.pt
2025-07-08 14:04:32,438 - INFO - Expected md5 is None, skip md5 check for file C:\Users\chi.zhang\Documents\apps\radiology\model\pretrained_deepedit_dynunet.pt.
[2025-07-08 14:04:33,877] [7508] [MainThread] [INFO] (lib.configs.deepedit:141) - EPISTEMIC Enabled: False; Samples: 5
[2025-07-08 14:04:33,878] [7508] [MainThread] [INFO] (main:98) - +++ Using Models: ['deepedit']
[2025-07-08 14:04:33,879] [7508] [MainThread] [INFO] (monailabel.interfaces.app:135) - Init Datastore for: C:\Users\chi.zhang\Documents\datasets\Task09_Spleen\imagesTr
[2025-07-08 14:04:33,880] [7508] [MainThread] [INFO] (monailabel.datastore.local:130) - Auto Reload: True; Extensions: ['*.nii.gz', '*.nii', '*.nrrd', '*.jpg', '*.png', '*.tif', '*.svs', '*.xml']
[2025-07-08 14:04:33,893] [7508] [MainThread] [INFO] (monailabel.datastore.local:577) - Invalidate count: 0
[2025-07-08 14:04:33,894] [7508] [MainThread] [INFO] (monailabel.datastore.local:151) - Start observing external modifications on datastore (AUTO RELOAD)
[2025-07-08 14:04:33,897] [7508] [MainThread] [INFO] (main:129) - +++ Adding Inferer:: deepedit => <lib.infers.deepedit.DeepEdit object at 0x0000029764FABE50>
[2025-07-08 14:04:33,898] [7508] [MainThread] [INFO] (main:129) - +++ Adding Inferer:: deepedit_seg => <lib.infers.deepedit.DeepEdit object at 0x0000029765120280>
[2025-07-08 14:04:33,903] [7508] [MainThread] [INFO] (main:206) - {'deepedit': <lib.infers.deepedit.DeepEdit object at 0x0000029764FABE50>, 'deepedit_seg': <lib.infers.deepedit.DeepEdit object at 0x0000029765120280>, 'Histogram+GraphCut': <monailabel.scribbles.infer.HistogramBasedGraphCut object at 0x000002976507EAC0>, 'GMM+GraphCut': <monailabel.scribbles.infer.GMMBasedGraphCut object at 0x00000297651A6100>}
[2025-07-08 14:04:33,904] [7508] [MainThread] [INFO] (main:221) - +++ Adding Trainer:: deepedit => <lib.trainers.deepedit.DeepEdit object at 0x00000297651A6C70>
[2025-07-08 14:04:33,905] [7508] [MainThread] [INFO] (monailabel.utils.sessions:51) - Session Path: C:\Users\chi.zhang\.cache\monailabel\sessions
[2025-07-08 14:04:33,906] [7508] [MainThread] [INFO] (monailabel.utils.sessions:52) - Session Expiry (max): 3600
[2025-07-08 14:04:33,908] [7508] [MainThread] [INFO] (monailabel.interfaces.app:469) - App Init - completed
[2025-07-08 14:04:33,909] [timeloop] [INFO] Starting Timeloop..
[2025-07-08 14:04:33,909] [7508] [MainThread] [INFO] (timeloop:60) - Starting Timeloop..
[2025-07-08 14:04:33,912] [timeloop] [INFO] Registered job <function MONAILabelApp.on_init_complete.<locals>.run_scheduler at 0x00000297651B9F70>
[2025-07-08 14:04:33,912] [7508] [MainThread] [INFO] (timeloop:42) - Registered job <function MONAILabelApp.on_init_complete.<locals>.run_scheduler at 0x00000297651B9F70>
[2025-07-08 14:04:33,912] [timeloop] [INFO] Timeloop now started. Jobs will run based on the interval set
[2025-07-08 14:04:33,912] [7508] [MainThread] [INFO] (timeloop:63) - Timeloop now started. Jobs will run based on the interval set
[2025-07-08 14:04:33,914] [7508] [MainThread] [INFO] (uvicorn.error:62) - Application startup complete.
[2025-07-08 14:04:33,915] [7508] [MainThread] [INFO] (uvicorn.error:216) - Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
[2025-07-08 14:05:45,536] [7508] [MainThread] [INFO] (monailabel.utils.async_tasks.task:41) - Train request: {'model': 'deepedit', 'name': 'train_01', 'pretrained': True, 'device': 'cpu', 'max_epochs': 50, 'early_stop_patience': -1, 'val_split': 0.2, 'train_batch_size': 1, 'val_batch_size': 1, 'multi_gpu': True, 'gpus': 'all', 'dataset': 'SmartCacheDataset', 'dataloader': 'ThreadDataLoader', 'tracking': 'mlflow', 'tracking_uri': '', 'tracking_experiment_name': '', 'client_id': 'user-xyz'}
[2025-07-08 14:05:45,538] [7508] [ThreadPoolExecutor-0_0] [INFO] (monailabel.utils.async_tasks.utils:49) - Before:: C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\SOFA\v24.06.00\plugins\SofaPython3\lib\python3\site-packages;C:\Users\chi.zhang\SOFA\external_plugins\STLIB\build\lib\python3\site-packages;;C:\Users\chi.zhang\Documents\apps\radiology
[2025-07-08 14:05:45,540] [7508] [ThreadPoolExecutor-0_0] [INFO] (monailabel.utils.async_tasks.utils:53) - After:: C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\AppData\Local\anaconda3\envs;C:\Users\chi.zhang\SOFA\v24.06.00\plugins\SofaPython3\lib\python3\site-packages;C:\Users\chi.zhang\SOFA\external_plugins\STLIB\build\lib\python3\site-packages;;C:\Users\chi.zhang\Documents\apps\radiology
[2025-07-08 14:05:45,540] [7508] [ThreadPoolExecutor-0_0] [INFO] (monailabel.utils.async_tasks.utils:65) - COMMAND:: C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\python.exe -m monailabel.interfaces.utils.app -m train -r {"model":"deepedit","name":"train_01","pretrained":true,"device":"cpu","max_epochs":50,"early_stop_patience":-1,"val_split":0.2,"train_batch_size":1,"val_batch_size":1,"multi_gpu":true,"gpus":"all","dataset":"SmartCacheDataset","dataloader":"ThreadDataLoader","tracking":"mlflow","tracking_uri":"","tracking_experiment_name":"","client_id":"user-xyz"}
[2025-07-08 14:05:46,058] [3064] [MainThread] [INFO] (__main__:37) - Initializing App from: C:\Users\chi.zhang\Documents\apps\radiology; studies: C:\Users\chi.zhang\Documents\datasets\Task09_Spleen\imagesTr; conf: {'models': 'deepedit'}
pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
[2025-07-08 14:05:51,588] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for MONAILabelApp Found: <class 'main.MyApp'>
[2025-07-08 14:05:51,597] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepedit.DeepEdit'>
[2025-07-08 14:05:51,598] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_2d.Deepgrow2D'>
[2025-07-08 14:05:51,599] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.deepgrow_3d.Deepgrow3D'>
[2025-07-08 14:05:51,599] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_spine.LocalizationSpine'>
[2025-07-08 14:05:51,601] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.localization_vertebra.LocalizationVertebra'>
[2025-07-08 14:05:51,602] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation.Segmentation'>
[2025-07-08 14:05:51,602] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_spleen.SegmentationSpleen'>
[2025-07-08 14:05:51,603] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.segmentation_vertebra.SegmentationVertebra'>
[2025-07-08 14:05:51,603] [3064] [MainThread] [INFO] (monailabel.utils.others.class_utils:57) - Subclass for TaskConfig Found: <class 'lib.configs.sw_fastedit.SWFastEditConfig'>
[2025-07-08 14:05:51,603] [3064] [MainThread] [INFO] (main:95) - +++ Adding Model: deepedit => lib.configs.deepedit.DeepEdit
[2025-07-08 14:05:52,059] [3064] [MainThread] [INFO] (lib.configs.deepedit:141) - EPISTEMIC Enabled: False; Samples: 5
[2025-07-08 14:05:52,059] [3064] [MainThread] [INFO] (main:98) - +++ Using Models: ['deepedit']
[2025-07-08 14:05:52,059] [3064] [MainThread] [INFO] (monailabel.interfaces.app:135) - Init Datastore for: C:\Users\chi.zhang\Documents\datasets\Task09_Spleen\imagesTr
[2025-07-08 14:05:52,059] [3064] [MainThread] [INFO] (monailabel.datastore.local:130) - Auto Reload: False; Extensions: ['*.nii.gz', '*.nii', '*.nrrd', '*.jpg', '*.png', '*.tif', '*.svs', '*.xml']
[2025-07-08 14:05:52,076] [3064] [MainThread] [INFO] (monailabel.datastore.local:577) - Invalidate count: 0
[2025-07-08 14:05:52,077] [3064] [MainThread] [INFO] (main:129) - +++ Adding Inferer:: deepedit => <lib.infers.deepedit.DeepEdit object at 0x00000180EDF1C790>
[2025-07-08 14:05:52,077] [3064] [MainThread] [INFO] (main:129) - +++ Adding Inferer:: deepedit_seg => <lib.infers.deepedit.DeepEdit object at 0x00000180EDFCEF10>
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (main:206) - {'deepedit': <lib.infers.deepedit.DeepEdit object at 0x00000180EDF1C790>, 'deepedit_seg': <lib.infers.deepedit.DeepEdit object at 0x00000180EDFCEF10>, 'Histogram+GraphCut': <monailabel.scribbles.infer.HistogramBasedGraphCut object at 0x00000180EE0646D0>, 'GMM+GraphCut': <monailabel.scribbles.infer.GMMBasedGraphCut object at 0x00000180EE0647C0>}
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (main:221) - +++ Adding Trainer:: deepedit => <lib.trainers.deepedit.DeepEdit object at 0x00000180EE0AEF10>
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (monailabel.utils.sessions:51) - Session Path: C:\Users\chi.zhang\.cache\monailabel\sessions
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (monailabel.utils.sessions:52) - Session Expiry (max): 3600
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:436) - Train Request (input): {'model': 'deepedit', 'name': 'train_01', 'pretrained': True, 'device': 'cpu', 'max_epochs': 50, 'early_stop_patience': -1, 'val_split': 0.2, 'train_batch_size': 1, 'val_batch_size': 1, 'multi_gpu': True, 'gpus': 'all', 'dataset': 'SmartCacheDataset', 'dataloader': 'ThreadDataLoader', 'tracking': 'mlflow', 'tracking_uri': '', 'tracking_experiment_name': '', 'client_id': 'user-xyz', 'local_rank': 0}
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:449) - CUDA_VISIBLE_DEVICES: None
[2025-07-08 14:05:52,081] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:454) - Distributed/Multi GPU is limited
[2025-07-08 14:05:52,082] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:469) - Distributed Training = FALSE
[2025-07-08 14:05:52,082] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:496) - 0 - Train Request (final): {'name': 'train_01', 'pretrained': True, 'device': 'cpu', 'max_epochs': 50, 'early_stop_patience': -1, 'val_split': 0.2, 'train_batch_size': 1, 'val_batch_size': 1, 'multi_gpu': False, 'gpus': 'all', 'dataset': 'SmartCacheDataset', 'dataloader': 'ThreadDataLoader', 'tracking': 'mlflow', 'tracking_uri': '', 'tracking_experiment_name': '', 'model': 'deepedit', 'client_id': 'user-xyz', 'local_rank': 0, 'run_id': '20250708_140552'}
[2025-07-08 14:05:52,082] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:629) - 0 - Using Device: cpu; IDX: None
[2025-07-08 14:05:52,082] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:522) - Run/Output Path: C:\Users\chi.zhang\Documents\apps\radiology\model\deepedit_dynunet\train_01
[2025-07-08 14:05:52,082] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:538) - Tracking: mlflow
[2025-07-08 14:05:52,083] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:539) - Tracking URI: file:///C:/Users/chi.zhang/Documents/apps/radiology/model/deepedit_dynunet/train_01/mlruns;
[2025-07-08 14:05:52,083] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:540) - Tracking Experiment Name: deepedit; Run Name: run_20250708_140552
[2025-07-08 14:05:52,083] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:414) - Total Records for Training: 1
[2025-07-08 14:05:52,083] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:415) - Total Records for Validation: 0
[2025-07-08 14:05:52,100] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:717) - 0 - Load Path C:\Users\chi.zhang\Documents\apps\radiology\model\pretrained_deepedit_dynunet.pt
Loading dataset:   0%|          | 0/1 [00:00<?, ?it/s]
Loading dataset: 100%|##########| 1/1 [00:02<00:00,  2.45s/it]
Loading dataset: 100%|##########| 1/1 [00:02<00:00,  2.45s/it]
cache_num is greater or equal than dataset length, fall back to regular monai.data.CacheDataset.
[2025-07-08 14:05:54,573] [3064] [MainThread] [INFO] (monailabel.tasks.train.basic_train:268) - 0 - Records for Training: 1
`torch.cuda.amp.GradScaler(args...)` is deprecated. Please use `torch.amp.GradScaler('cuda', args...)` instead.
torch.cuda.amp.GradScaler is enabled, but CUDA is not available.  Disabling.
[2025-07-08 14:05:54,576] [3064] [MainThread] [INFO] (ignite.engine.engine.SupervisedTrainer:876) - Engine run resuming from iteration 0, epoch 0 until 50 epochs
[2025-07-08 14:05:54,605] [3064] [MainThread] [ERROR] (ignite.engine.engine.SupervisedTrainer:992) - Engine run is terminating due to exception: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
2025-07-08 14:05:54,605 - ERROR - Exception: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
Traceback (most recent call last):
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 946, in _internal_run_as_gen
    self._fire_event(Events.STARTED)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 425, in _fire_event
    func(*first, *(event_args + others), **kwargs)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\handlers\checkpoint_loader.py", line 125, in __call__
    checkpoint = torch.load(self.load_path, map_location=self.map_location, weights_only=False)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1471, in load
    return _load(
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1964, in _load
    result = unpickler.load()
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1928, in persistent_load
    typed_storage = load_tensor(
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1900, in load_tensor
    wrap_storage=restore_location(storage, location),
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 693, in default_restore_location
    result = fn(storage, location)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 631, in _deserialize
    device = _validate_device(location, backend_name)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 600, in _validate_device
    raise RuntimeError(
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
Traceback (most recent call last):
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monailabel\interfaces\utils\app.py", line 128, in <module>
    run_main()
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monailabel\interfaces\utils\app.py", line 113, in run_main
    result = a.train(request)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monailabel\interfaces\app.py", line 423, in train
    result = task(request, self.datastore())
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monailabel\tasks\train\basic_train.py", line 470, in __call__
    res = self.train(0, world_size, req, datalist)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monailabel\tasks\train\basic_train.py", line 559, in train
    context.trainer.run()
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\engines\trainer.py", line 55, in run
    super().run()
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\engines\workflow.py", line 282, in run
    super().run(data=self.data_loader, max_epochs=self.state.max_epochs)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 892, in run
    return self._internal_run()
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 935, in _internal_run
    return next(self._internal_run_generator)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 993, in _internal_run_as_gen
    self._handle_exception(e)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 636, in _handle_exception
    self._fire_event(Events.EXCEPTION_RAISED, e)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 425, in _fire_event
    func(*first, *(event_args + others), **kwargs)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\handlers\stats_handler.py", line 201, in exception_raised
    raise e
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 946, in _internal_run_as_gen
    self._fire_event(Events.STARTED)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\ignite\engine\engine.py", line 425, in _fire_event
    func(*first, *(event_args + others), **kwargs)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\handlers\checkpoint_loader.py", line 125, in __call__
    checkpoint = torch.load(self.load_path, map_location=self.map_location, weights_only=False)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1471, in load
    return _load(
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1964, in _load
    result = unpickler.load()
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1928, in persistent_load
    typed_storage = load_tensor(
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 1900, in load_tensor
    wrap_storage=restore_location(storage, location),
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 693, in default_restore_location
    result = fn(storage, location)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 631, in _deserialize
    device = _validate_device(location, backend_name)
  File "C:\Users\chi.zhang\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\torch\serialization.py", line 600, in _validate_device
    raise RuntimeError(
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
[2025-07-08 14:05:55,574] [7508] [ThreadPoolExecutor-0_0] [INFO] (monailabel.utils.async_tasks.utils:83) - Return code: 1

Steps to reproduce the behavior

conda create -n monai python = 3.9
conda activate monai
python -m pip install --upgrade pip setuptools wheel
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
python -c "import torch; print(torch.cuda.is_available())"

#printed out "True"

python -c "import torch;print(torch.__version__)" #printed out "2.7.1+cu118"

pip install monailabel or pip install git+https://github.com/Project-MONAI/MONAILabel.git
python -c "import monai; monai.config.print_config()"

Expected behavior
Last line should print out
Pytorch version: 2.6.0+cpu
The server could launch fine. I used the sample data

monailabel apps --download --name radiology --output apps
monailabel datasets --download --name Task09_Spleen --output datasets
monailabel start_server --app apps/radiology --studies datasets/Task09_Spleen/imagesTr --conf models deepedit

For server traceback error during training suggesting torch.cuda.is_available() is False, see above log.

Environment
Windows 10 and 11

Ensuring you use the relevant python executable, please paste the output of:

python -c 'import monai; monai.config.print_debug_info()'
MONAI version: 1.5.0
Numpy version: 1.26.3
Pytorch version: 2.6.0+cpu
MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False
MONAI rev id: d388d1c6fec8cb3a0eebee5b5a0b9776ca59ca83
MONAI __file__: C:\Users\<username>\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\__init__.py

Optional dependencies:
Pytorch Ignite version: 0.4.11
ITK version: 5.4.4
Nibabel version: 5.3.2
scikit-image version: 0.24.0
scipy version: 1.13.1
Pillow version: 11.0.0
Tensorboard version: 2.19.0
gdown version: 5.2.0
TorchVision version: 0.21.0+cpu
tqdm version: 4.67.1
lmdb version: 1.6.2
psutil version: 7.0.0
pandas version: 2.3.1
einops version: 0.8.1
transformers version: NOT INSTALLED or UNKNOWN VERSION.
mlflow version: 3.1.2
pynrrd version: 1.1.3
clearml version: NOT INSTALLED or UNKNOWN VERSION.

For details about installing the optional dependencies, please visit:
    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies


(monai_cu26) C:\Users\chi.zhang\Documents>python -c "import monai; monai.config.print_debug_info()"
================================
Printing MONAI config...
================================
MONAI version: 1.5.0
Numpy version: 1.26.3
Pytorch version: 2.6.0+cpu
MONAI flags: HAS_EXT = False, USE_COMPILED = False, USE_META_DICT = False
MONAI rev id: d388d1c6fec8cb3a0eebee5b5a0b9776ca59ca83
MONAI __file__: C:\Users\<username>\AppData\Local\anaconda3\envs\monai_cu26\lib\site-packages\monai\__init__.py

Optional dependencies:
Pytorch Ignite version: 0.4.11
ITK version: 5.4.4
Nibabel version: 5.3.2
scikit-image version: 0.24.0
scipy version: 1.13.1
Pillow version: 11.0.0
Tensorboard version: 2.19.0
gdown version: 5.2.0
TorchVision version: 0.21.0+cpu
tqdm version: 4.67.1
lmdb version: 1.6.2
psutil version: 7.0.0
pandas version: 2.3.1
einops version: 0.8.1
transformers version: NOT INSTALLED or UNKNOWN VERSION.
mlflow version: 3.1.2
pynrrd version: 1.1.3
clearml version: NOT INSTALLED or UNKNOWN VERSION.

For details about installing the optional dependencies, please visit:
    https://docs.monai.io/en/latest/installation.html#installing-the-recommended-dependencies


================================
Printing system config...
================================
System: Windows
Win32 version: ('10', '10.0.22631', 'SP0', 'Multiprocessor Free')
Win32 edition: Enterprise
Platform: Windows-10-10.0.22631-SP0
Processor: Intel64 Family 6 Model 170 Stepping 4, GenuineIntel
Machine: AMD64
Python version: 3.9.23
Process name: python.exe
Command: ['python', '-c', 'import monai; monai.config.print_debug_info()']
Open files: [popenfile(path='C:\\Windows\\System32\\en-US\\kernel32.dll.mui', fd=-1), popenfile(path='C:\\Windows\\System32\\en-US\\tzres.dll.mui', fd=-1), popenfile(path='C:\\Windows\\Registration\\R000000000006.clb', fd=-1), popenfile(path='C:\\Windows\\System32\\en-US\\KernelBase.dll.mui', fd=-1)]
Num physical CPUs: 16
Num logical CPUs: 22
Num usable CPUs: 22
CPU usage (%): [0.0, 0.0, 3.0, 1.5, 4.0, 4.0, 1.5, 1.0, 2.0, 0.5, 8.5, 1.5, 24.1, 0.0, 13.1, 0.0, 6.5, 0.0, 1.5, 0.0, 0.0, 0.0]
CPU freq. (MHz): 2300
Load avg. in last 1, 5, 15 mins (%): [0.0, 0.0, 0.0]
Disk usage (%): 64.3
Avg. sensor temp. (Celsius): UNKNOWN for given OS
Total physical memory (GB): 63.5
Available memory (GB): 38.1
Used memory (GB): 25.3

================================
Printing GPU config...
================================
Num GPUs: 0
Has CUDA: False
cuDNN enabled: False
NVIDIA_TF32_OVERRIDE: None
TORCH_ALLOW_TF32_CUBLAS_OVERRIDE: None

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions