Pytorch:GPU版代码改成CPU版(RuntimeError: torch.cuda.FloatTensor is not enabled.)

2022-11-30,,,,

1. 问题:运行代码时出现错误:RuntimeError: torch.cuda.FloatTensor is not enabled.

主要是因为我电脑没有英伟达显卡,不支持GPU加速,所以安装的PyTorch是cpu版本的,不是gpu版本的,不支持cuda。  

但是,这个代码作者说是此代码时专为用cuda运行而设计的,所以此处出错了。

2. 解决:把cpu版本的代码改成cpu版本的。在代码里将.cuda()改成.cpu()即可,问题解决!!!如下图所示:

我的代码终于没有错误了!!!终于跑起来了!!!

再运行没有错误出现了!!! 成功执行,正在训练模型,就是速度太慢,如下图: 

3,参考:https://blog.csdn.net/only520you/article/details/89329512

下载的代码有的需要GPU计算,而电脑又没有GPU,此时可以在代码开头添加如下代码获取当前计算机是否有GPU
# gpu or not
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

然后在代码中 用 .to(device)替换.cuda() 或者.cpu() 即可在有GPU的计算机上通过GPU计算加速,在没有GPU的计算机上用CPU计算,不过速度较慢。