Keras未检测到GPU,但张量流为

时间:2019-09-10 07:34:09

标签: tensorflow machine-learning keras

我正在尝试使我的keras后端正常工作,但是它一直在告诉我没有GPU,但是我的tensorflow却相反。

tensorflow

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

输出

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 7600201089948511065
, name: "/device:XLA_CPU:0"
device_type: "XLA_CPU"
memory_limit: 17179869184
locality {
}
incarnation: 9640434864482537344
physical_device_desc: "device: XLA_CPU device"
, name: "/device:XLA_GPU:0"
device_type: "XLA_GPU"
memory_limit: 17179869184
locality {
}
incarnation: 15836333527683385212
physical_device_desc: "device: XLA_GPU device"
]

keras

from keras import backend as K
K.tensorflow_backend._get_available_gpus()

输出

[]

Tensorflow-gpu可以工作,但是由于某种原因,keras无法看到

Cuda已安装

tensorflow-gpu = 1.14.0
keras = 2.0.8
python = 3.6

2 个答案:

答案 0 :(得分:2)

在此之前您需要确认的几件事,

您使用的是哪个GPU?仅NVIDIA有效。 您是否安装了tensorflow-gpu(keras使用它作为后端)? 您安装了CUDA吗?

由于tensorflow正在检测GPU,因此上述几点中的某一个是问题,或者您可以尝试升级各种软件包。

最后,如果没有其他效果,我建议在tensorflow2中使用与keras相同的高级API。

希望这会有所帮助。

答案 1 :(得分:0)

将ppa添加到ubuntu仓库中,它们具有最新的驱动程序。冒险,但值得!

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

尝试安装最新的cuda驱动程序

sudo ubuntu-drivers autoinstall

如果失败了(就像我的情况一样),请对其抱怨的所有依赖项进行sudo apt install。

就我而言:

sudo apt install libnvidia-gl-435 nvidia-dkms-435 nvidia-kernel-source-435 

再次尝试

sudo ubuntu-drivers autoinstall

重启计算机

创建一个新的conda env

conda create -n tf python=3.7

source activate tf


conda install -c anaconda keras-gpu tensorflow-gpu jupyter pytables pandas seaborn scikit-learn gensim -y