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
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