mnn op name is empty or dup
原因
第一层 的输入x,有两层同时调用就会报错
解决方法:
不ok:
1.clone()
2.nn.Identity()
ok:1*1 或者3*3应该都可以
self.ident=nn.Conv2d(in_channels,in_channels,kernel_size=3,stride=1,padding=0,bias=bias)
反卷积不支持:
nn.ConvTranspose2d(16,num_classes,kernel_size=3,stride=2,padding=1,bias=False)
op name is empty or dup, set to Padding274
临时解决方法,好像效果不好:
import torch.nn.functional as torch_F
torch_F.upsample(x, size=input_size[2:], mode='bilinear')
原因:反卷积不支持padding,卷积核改为2*2可以:
改之前:
# self.transposed_conv = nn.ConvTranspose2d(16,num_classes,kernel_size=3,stride=2,padding=1,bias=False)
改之后:
self.transposed_conv = nn.ConvTranspose2d(16,num_classes,kernel_size=2,stride=2,padding=0,bias=False)
onnx支持任意分辨率,但是mnn不支持任意分辨率,只支持固定分辨率。