RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.FloatTensor) should be the same
主要是由于训练时采用了cuda对自己定义的网络进行训练,但是后来调整网络又在自定义网络A外部添加了一层:
def conv2x2(in_channel,out_channel):
return nn.Conv2d(in_channel,out_channel,(2,3),(1,1),(0,1),bias=False)
由于定义在了自定义网络A(继承了nn.Module)外部,而训练时使用了A.cuda(),导致上面定义的网络参数类型都为torch.FloatTensor,而网络A中参数为torch.cuda.FloatTensor,运行时就报上面的错误,将添加的网络写在A中就好了