RuntimeError: Numpy is not available解决方法

问题描述:

今日旧电脑崩(哭),新电脑上手,迫不及待地装好pytorch,查看之前的工程运行情况,结果运行模型训练时出错

究其关键句,是加载模型训练数据的语句

for i, data in enumerate(train_loader):

该语句底层应用到了将tensor变量转换为numpy的操作,即

import numpy
import torch
test_torch = torch.rand(100,1,28,28)
print(test_torch.numpy())
# 将产生同样的错误

问题根源

忽略了Pytorch与Tensorflow的直接关联性。
如果环境中只有torch而没有tensorflow,那么torch使用到的tensor变量将失去tensor相关的操作函数,亦如torch.numpy()

解决方法

在基础环境中安装Tensorflow,无论是CPU版本还是GPU版本皆可。
在Anaconda环境中可以直接

conda install tensorflow

否则pip

pip install --ignore-installed --upgrade tensorflow-gpu

更多推荐

RuntimeError: Numpy is not available(关联Torch或Tensorflow)