vit-pytorch icon indicating copy to clipboard operation
vit-pytorch copied to clipboard

training vit with 12channel image

Open sukkyusun1 opened this issue 4 years ago • 1 comments

im training with 12channel(4image stacked)image with vit

model = ViT( dim=128, image_size=224, patch_size=32, num_classes=2, transformer=efficient_transformer, channels=12, ).to(device)

following error occured

Traceback (most recent call last): File "D:/code/pytorch_classification/pytorch_classification_vit_new_12channel.py", line 199, in output = model(data) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl result = self.forward(*input, **kwargs) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\vit_pytorch\efficient.py", line 32, in forward x = self.to_patch_embedding(img) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl result = self.forward(*input, **kwargs) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\nn\modules\container.py", line 117, in forward input = module(input) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl result = self.forward(*input, **kwargs) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\einops\layers\torch.py", line 11, in forward return self.apply_recipe(input) File "C:\ProgramData\Anaconda3\envs\pytorch\lib\site-packages\einops\layers_init.py", line 43, in _apply_recipe raise EinopsError(' Error while computing {!r}\n {}'.format(self, e)) einops.EinopsError: Error while computing Rearrange('b c (h p1) (w p2) -> b (h w) (p1 p2 c)', p1=32, p2=32) Shape mismatch, can't divide axis of length 12 in chunks of 32

sukkyusun1 avatar Aug 02 '21 02:08 sukkyusun1

Shape mismatch, can't divide axis of length 12 in chunks of 32

try making the patch_size 36 and possible the image_size a multiple of 36 so 252 for instance

graphific avatar Aug 29 '21 23:08 graphific