我有一台配备不错 GPU 的计算机,我尝试让 Tensorflow GPU 工作。首先我要说的是,我是 Arch Linux 的长期用户,对 Ubuntu 还很陌生,但我想在这个例子中尝试一下。
我创建了一个虚拟环境,在其中安装了 tensorflow-gpu 和所有必需的东西。我的代码可以运行,但它没有使用 GPU,所以在检查了一段时间后,我认为问题可能出在 CUDA 上。根据 Tensorflow 文档,Tensorflow 2.0(使用 pip 安装的版本)需要 Cuda 10.0,所以我去安装了它。
我遵循了本教程:https://towardsdatascience.com/how-to-install-tensorflow-gpu-on-ubuntu-18-04-1c1d2d6d6fd2
具体来说,我执行了第 2 步,因为 Nvidia 驱动程序已经可以正常工作。我访问了 Nvidia 网站,下载了 Cuda 10.0,并执行了该教程中的 4 条指令,这些指令与 Nvidia 网站上的指令相同。
wget https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64
sudo dpkg -i cuda-repo-ubuntu1804-10-0-local-10.0.130-410.48_1.0-1_amd64
sudo apt-key add /var/cuda-repo-10-0-local-10.0.130-410.48/7fa2af80.pub
sudo apt-get update
当我这样做时,我意识到它以某种方式决定将我的 nvidia 驱动程序降级到 410.48,并且计算机需要重新启动。
我输入了“nvidia-smi”,它返回“无法初始化 NVML:驱动程序/库版本不匹配”。
这时我慌了,我在 Google 上搜索了这个问题,有人通过删除 cuda 解决了类似的问题,所以我想如果我卸载 Cuda,它就会恢复到原始配置,然后我就这样做了:
“sudo apt-get 删除 cuda”
于是我再次执行了“nvidia-smi”,结果还是出现了和之前一样的错误。这时我决定用“sudo reboot”重启电脑,结果电脑还是没有再启动。