我正在尝试使我的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
答案 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