Fafa-DL / Awesome-Backbones

Integrate deep learning models for image classification | Backbone learning/comparison/magic modification project
1.52k stars 243 forks source link

Mobilevit: RuntimeError: mat1 and mat2 shapes cannot be multiplied (16x640 and 320x1000) #71

Closed SpiceGL closed 1 year ago

SpiceGL commented 1 year ago

你好,我在使用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)

Fafa-DL commented 1 year ago

in channel不要改!改类别数就行了