你好,我在使用mobilevit_xxs进行训练时,除非设置num_classes=16,in_channels=640,否则就会出现类似标题的shape不匹配问题。目前只在mobilevit上遇到,请问是什么原因呢?
具体报错如下:
Traceback (most recent call last):
File "mytools/train.py", line 199, in
main()
File "mytools/train.py", line 192, in main
train(model,runner, lr_update_func, device, epoch, data_cfg.get('train').get('epoches'), meta)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\myutils\train_utils.py", line 251, in train
losses = model(images, targets=targets, return_loss=True)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
return forward_call(*args, kwargs)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\parallel\data_parallel.py", line 169, in forward
return self.module(*inputs[0], *kwargs[0])
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
return forward_call(args, kwargs)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\models\build.py", line 125, in forward
return self.forward_train(x,kwargs)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\models\build.py", line 133, in forward_train
loss = self.head.forward_train(x,targets,kwargs)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\configs\heads\linear_head.py", line 77, in forward_train
cls_score = self.fc(x)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\linear.py", line 114, in forward
return F.linear(input, self.weight, self.bias)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (16x640 and 320x1000)
你好,我在使用mobilevit_xxs进行训练时,除非设置num_classes=16,in_channels=640,否则就会出现类似标题的shape不匹配问题。目前只在mobilevit上遇到,请问是什么原因呢? 具体报错如下: Traceback (most recent call last): File "mytools/train.py", line 199, in
main()
File "mytools/train.py", line 192, in main
train(model,runner, lr_update_func, device, epoch, data_cfg.get('train').get('epoches'), meta)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\myutils\train_utils.py", line 251, in train
losses = model(images, targets=targets, return_loss=True)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
return forward_call(*args, kwargs)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\parallel\data_parallel.py", line 169, in forward
return self.module(*inputs[0], *kwargs[0])
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
return forward_call(args, kwargs)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\models\build.py", line 125, in forward
return self.forward_train(x,kwargs)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\models\build.py", line 133, in forward_train
loss = self.head.forward_train(x,targets,kwargs)
File "E:\BaiduSyncdisk\Project\996-My_DL_Traings\BackbonesForCls\configs\heads\linear_head.py", line 77, in forward_train
cls_score = self.fc(x)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "C:\ProgramData\Anaconda3\envs\pytorch2\lib\site-packages\torch\nn\modules\linear.py", line 114, in forward
return F.linear(input, self.weight, self.bias)
RuntimeError: mat1 and mat2 shapes cannot be multiplied (16x640 and 320x1000)