在保存了使用CUDA训练的模型后,加载时也一定得保持一致,换句话说,在定义网络的时候需要用
net.to(device)
而且在测试的时候也需要把输入和标签统统转移到cuda上面,即
inputs, labels = inputs.to(device), labels.to(device)
如果你希望加载使用cuda训练的网络,但是在使用的时候并没有将相关项转移到cuda上,则会报错!!!总之一句话,定义一个模型用于加载训练好的参数设置时,模型的设置需要和原始训练模型完全一致,且测试的时候需要区分是否使用了cuda,在涉及到显示imshow异常的时候,不妨尝试暂时转移到cpu上看能否解决问题,即images.cpu()