Skip to content

collate issue for 3d niftis #2560

@neuronflow

Description

@neuronflow

Describe the bug
I am dealing with 3d niftis of different size, I am using DataLoader with co llate_fn=pad_list_data_collate to handle this, however it still crashes :(

my data is bchwd

During handling of the above exception, another exception occurred:                                                
                                                                                                                   
Traceback (most recent call last):                                                                                 
  File "/home/florian/miniconda3/envs/msblob/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line $
98, in _worker_loop                                                                                                
    data = fetcher.fetch(index)                                                                                    
  File "/home/florian/miniconda3/envs/msblob/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 4$
, in fetch                                                                                                         
    return self.collate_fn(data)                                                                                   
  File "/home/florian/miniconda3/envs/msblob/lib/python3.8/site-packages/monai/data/utils.py", line 285, in list_d$
ta_collate                                                                                                         
    raise RuntimeError(re_str)                                                                                     
RuntimeError: stack expects each tensor to be equal size, but got [1, 256, 256, 39] at entry 0 and [1, 512, 512, 1$
2] at entry 4                                                                                                      
                                                                                                                   
MONAI hint: if your transforms intentionally create images of different shapes, creating your `DataLoader` with `co
llate_fn=pad_list_data_collate` might solve this problem (check its documentation).

Expected behavior
collate function should centrally pad the images

Environment


================================
Printing MONAI config...
================================
MONAI version: 0.5.3
Numpy version: 1.19.4
Pytorch version: 1.7.0+cu110
MONAI flags: HAS_EXT = False, USE_COMPILED = False
MONAI rev id: d78c669c67e38ddfbe572f6a0438e9df0b8c65d7

Optional dependencies:
Pytorch Ignite version: NOT INSTALLED or UNKNOWN VERSION.
Nibabel version: 3.2.1
scikit-image version: 0.17.2
Pillow version: 8.0.1
Tensorboard version: 2.4.0
gdown version: 3.12.2
TorchVision version: 0.8.1+cu110
ITK version: NOT INSTALLED or UNKNOWN VERSION.
tqdm version: 4.54.0
lmdb version: NOT INSTALLED or UNKNOWN VERSION.
psutil version: 5.8.0

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: Linux
Linux version: Ubuntu 18.04.4 LTS
Platform: Linux-4.15.0-144-generic-x86_64-with-glibc2.10
Processor: x86_64
Machine: x86_64
Python version: 3.8.5
Process name: python
Command: ['python', '-c', 'import monai; monai.config.print_debug_info()']
Open files: [popenfile(path='/home/florian/.vscode-server/bin/507ce72a4466fbb27b715c3722558bb15afa9f48/vscode-remote-lock.florian.507ce72a4466fbb27b715c3722558bb15afa9f48', fd=99, position=0, mode='w', flags=32769)]
Num physical CPUs: 64
Num logical CPUs: 128
Num usable CPUs: 128
CPU usage (%): [5.9, 2.9, 5.7, 100.0, 100.0, 0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 0.0, 100.0, 0.0, 100.0, 100.0, 100.0, 2.9, 0.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100.0, 34.3, 34.3, 100.0, 100.0, 32.4, 100.0, 32.4, 100.0, 30.3, 73.5, 32.4, 100.0, 34.3, 37.1, 100.0, 100.0, 32.4, 34.3, 32.4, 100.0, 60.0, 32.4, 32.4, 94.4, 33.3, 31.4, 100.0, 32.4, 100.0, 100.0, 32.4, 34.3, 5.7, 100.0, 0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 0.0, 0.0, 100.0, 5.9, 21.9, 100.0, 2.9, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 100.0, 0.0, 2.9, 100.0, 0.0, 0.0, 34.3, 34.3, 34.3, 32.4, 62.9, 32.4, 34.3, 34.3, 31.4, 32.4, 100.0, 34.3, 32.4, 32.4, 33.3, 32.4, 31.4, 34.3, 100.0, 31.4, 77.1, 100.0, 38.2, 34.3, 31.4, 32.4, 32.4, 100.0, 30.3, 34.3, 32.4, 100.0]
CPU freq. (MHz): 2651
Load avg. in last 1, 5, 15 mins (%): [29.6, 30.3, 31.3]
Disk usage (%): 81.5
Avg. sensor temp. (Celsius): UNKNOWN for given OS
Total physical memory (GB): 503.7
Available memory (GB): 371.1
Used memory (GB): 121.4

================================
Printing GPU config...
================================
Num GPUs: 8
Has CUDA: True
CUDA version: 11.0
cuDNN enabled: True
cuDNN version: 8004
Current device: 0
Library compiled for CUDA architectures: ['sm_37', 'sm_50', 'sm_60', 'sm_70', 'sm_75', 'sm_80']
GPU 0 Name: Quadro RTX 8000
GPU 0 Is integrated: False
GPU 0 Is multi GPU board: False
GPU 0 Multi processor count: 72
GPU 0 Total memory (GB): 47.5
GPU 0 CUDA capability (maj.min): 7.5
GPU 1 Name: Quadro RTX 8000
GPU 1 Is integrated: False
GPU 1 Is multi GPU board: False
GPU 1 Multi processor count: 72
GPU 1 Total memory (GB): 47.5
GPU 1 CUDA capability (maj.min): 7.5
GPU 2 Name: Quadro RTX 8000
GPU 2 Is integrated: False
GPU 2 Is multi GPU board: False
GPU 2 Multi processor count: 72
GPU 2 Total memory (GB): 47.5
GPU 2 CUDA capability (maj.min): 7.5
GPU 3 Name: Quadro RTX 8000
GPU 3 Is integrated: False
GPU 3 Is multi GPU board: False
GPU 3 Multi processor count: 72
GPU 3 Total memory (GB): 47.5
GPU 3 CUDA capability (maj.min): 7.5
GPU 4 Name: Quadro RTX 8000
GPU 4 Is integrated: False
GPU 4 Is multi GPU board: False
GPU 4 Multi processor count: 72
GPU 4 Total memory (GB): 47.5
GPU 4 CUDA capability (maj.min): 7.5
GPU 5 Name: Quadro RTX 8000
GPU 5 Is integrated: False
GPU 5 Is multi GPU board: False
GPU 5 Multi processor count: 72
GPU 5 Total memory (GB): 47.5
GPU 5 CUDA capability (maj.min): 7.5
GPU 6 Name: Quadro RTX 6000
GPU 6 Is integrated: False
GPU 6 Is multi GPU board: False
GPU 6 Multi processor count: 72
GPU 6 Total memory (GB): 23.7
GPU 6 CUDA capability (maj.min): 7.5
GPU 7 Name: Quadro RTX 8000
GPU 7 Is integrated: False
GPU 7 Is multi GPU board: False
GPU 7 Multi processor count: 72
GPU 7 Total memory (GB): 47.5
GPU 7 CUDA capability (maj.min): 7.5

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions