如何轻松让 tensorflow gpu 运行?
答案1
我刚刚在 Ubuntu 18.04 上安装了 Tensorflow GPU。有很多关于它的说明,但是我认为最快和最简单的方法通常不会被使用,我想分享它:
NVIDIA 驱动程序:
ubuntu-drivers devices
sudo ubuntu-drivers autoinstall
nvidia-smi
CUDA:
正常情况下:“sudo apt install nvidia-cuda-toolkit”但是这会安装版本 9.1,目前版本太新,tensorflow 无法运行。请下载 CUDA 9.0:https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1704&target_type=runfilelocal 然后运行(第一行的更多详细信息可以在以下位置找到:如何在 Ubuntu 17.10 上安装 CUDA 9):
sudo sh cuda_9.0.176_384.81_linux.run --override
sudo ln -s /usr/bin/gcc-6 /usr/local/cuda/bin/gcc
sudo ln -s /usr/bin/g++-6 /usr/local/cuda/bin/g++
cd ~
sudo nano .bashrc
add at the end of the file:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
CTL+X to save and exit
CuDNN:
在 nvidia 开发者网站注册https://developer.nvidia.com/cudnn 下载适用于 16.04 的 9.1 运行时和开发库(适用于 Ubuntu16.04 (Deb) 的 cuDNN v7.1.3 运行时库和适用于 Ubuntu16.04 (Deb) 的 cuDNN v7.1.3 开发库)使用软件管理器打开文件并安装它们。检查:
cat /usr/include/x86_64-linux-gnu/cudnn_v*.h | grep CUDNN_MAJOR -A 2
安装库和 tensorflow:
sudo apt-get install libcupti-dev
pip3 install tensorflow-gpu
查看:
in tensorflow check for GPU support
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
注意:从终端启动 tensorflow 或您的开发环境,否则对我来说它不会加载 PATH 变量。
答案2
扩展一下 Jonny 的回答:按照 Jonny 的方法安装 CUDA 时,我必须在“是否安装适用于 Linux-x86_64 384.81 的 NVIDIA 加速图形驱动程序?”中选择“否”(其他选项均为是或默认)。否则 CUDA 驱动程序安装会失败,并显示“错误:您的内核中似乎已加载了 NVIDIA 内核模块‘nvidia-drm’”
然后您可以通过运行示例来测试您的 CUDA 安装。
首先安装它们的依赖项:
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev libglfw3-dev libgles2-mesa-dev
这些无法使用 Ubuntu 18 上的新编译器进行编译,因此您需要降级到 gcc/g++ 6:
sudo apt-get install gcc-6 g++-6
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 10
通过导航至以下位置编译示例:
~/NVIDIA_CUDA-9.0_Samples/bin/x86_64/linux/release
并使用以下方法进行编译:
make -k
运行其中一个示例:
./nbody