Project-MONAI / Project-MONAI/model-zoo

brats_mri_segmentation_v0.4.8 run time error

Open
#591 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
338
Forks
106
PR merge metrics
No merged PRs in 30d

Description

When I try to run auto segmentation using Slicer, it shows this error.

[2024-06-05 23:59:28,218] [27056] [MainThread] [ERROR] (uvicorn.error:434) - Exception in ASGI application
Traceback (most recent call last):
File "D:\anaconda3\envs\monailabel\Lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 429, in run_asgi
result = await app( # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\uvicorn\middleware\proxy_headers.py", line 78, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\fastapi\applications.py", line 276, in call
await super().call(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\applications.py", line 122, in call
await self.middleware_stack(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\middleware\errors.py", line 184, in call
raise exc
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\middleware\errors.py", line 162, in call
await self.app(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\middleware\cors.py", line 84, in call
await self.app(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\middleware\exceptions.py", line 79, in call
raise exc
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\middleware\exceptions.py", line 68, in call
await self.app(scope, receive, sender)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 21, in call
raise e
File "D:\anaconda3\envs\monailabel\Lib\site-packages\fastapi\middleware\asyncexitstack.py", line 18, in call
await self.app(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\routing.py", line 718, in call
await route.handle(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\routing.py", line 276, in handle
await self.app(scope, receive, send)
File "D:\anaconda3\envs\monailabel\Lib\site-packages\starlette\routing.py", line 66, in app
response = await func(request)
^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\fastapi\routing.py", line 237, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\fastapi\routing.py", line 163, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monailabel\endpoints\infer.py", line 206, in api_run_inference
return run_inference(background_tasks, model, image, session_id, params, file, label, output)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monailabel\endpoints\infer.py", line 172, in run_inference
result = instance.infer(request)
^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monailabel\interfaces\app.py", line 307, in infer
result_file_name, result_json = task(request)
^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monailabel\tasks\infer\basic_infer.py", line 307, in call
data = self.run_inferer(data, device=device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monailabel\tasks\infer\basic_infer.py", line 514, in run_inferer
outputs = inferer(inputs, network)
^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monai\inferers\inferer.py", line 515, in call
return sliding_window_inference(
^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monai\inferers\utils.py", line 161, in sliding_window_inference
roi_size = fall_back_tuple(roi_size, image_size
)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monai\utils\misc.py", line 279, in fall_back_tuple
user = ensure_tuple_rep(user_provided, ndim)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda3\envs\monailabel\Lib\site-packages\monai\utils\misc.py", line 205, in ensure_tuple_rep
raise ValueError(f"Sequence must have length {dim}, got {len(tup)}.")
ValueError: Sequence must have length 2, got 3.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the brats_mri_segmentation_v0.4.8 auto-segmentation run from Slicer and start at monailabel/endpoints/infer.py, monailabel/tasks/infer/basic_infer.py, and the MONAI sliding_window_inference call shown in the traceback. Inspect the model's inference configuration and input dimensions to identify the mismatch. Done means the reported run completes successfully or the incompatibility is documented with a verified workaround.

Written by the indexing model from the issue text.

Assessment

Tech stack
fastapi, python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.