在改写yolox网络架构过程中出现的问题,错误内容大概就是指输入类型是GPU,而权重类型是CPU。当时一直在找weight的加载方式,根据Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same_input type (torch.floattensor) and weight type (to-CSDN博客
的方法都未能解决。最后发现是本文改写yolox的部分在于yolo_pafpn.py中,对neck部分的卷积方式做了调整,增加了几个自定义的卷积(主要就是Conv2d):
conv_layer1 = nn.Conv2d(in_channels=448, out_channels=128, kernel_size=1)
conv_layer0 = nn.Conv2d(in_channels=448, out_channels=256, kernel_size=1)
改成以下即可:
此处还加上了bias=False,因为跑的时候bias显示也类型不符合,所以就加上了.
,