更新 10.1 的安装 UI 已更改。以下作品:
- 取消选择驱动程序安装(按
ENTER就可以了)
- 将
options -> root install path 更改为非sudo 目录。
- 在标有
+ 的行上按A 以访问高级选项。取消选择create symbolic link,并更改toolkit install path。
- 现在可以在没有 root 权限的情况下进行安装
非常感谢您在问题中的提示!我只想用一种对我有用的方法来完成它,也受到this gist 的启发,希望在安装有效驱动程序的情况下有所帮助,并且仍然需要在没有 root 权限的情况下在 Linux 上安装更新的 CUDA 。
TL;DR: 以下是在 Debian 上安装 CUDA9+CUDNN7 的步骤,以及在 Python2.7 上安装 TensorFlow1.4 的预编译版本以测试一切正常的步骤。一切都没有root权限和通过终端。也应该适用于其他 Linux 系统上的其他 CUDA、CUDNN、TensorFlow 和 Python 版本。
安装
访问 NVIDIA 的 CUDA 官方发布网站(截至 2017 年 11 月,CUDA9 已发布):https://developer.nvidia.com/cuda-downloads。
在您的 Linux 发行版下,选择runfile (local)选项。 请注意,安装说明中出现的sudo 指示具有欺骗性,因为可以在没有root 权限的情况下运行此安装程序。在服务器上,一种简单的方法是复制Download 按钮的<LINK>,然后在主目录的任何位置运行wget <LINK>。它将下载<INSTALLER> 文件。
运行chmod +x <INSTALLER>使其可执行,然后执行./<INSTALLER>。
accept EULA,say no to driver 安装,并在您的主目录下输入<CUDA> 位置以安装工具包,并输入<CUDASAMPLES> 用于示例。
此处未询问但推荐:从official web 下载兼容的 CUDNN 文件(您需要登录)。就我而言,我将与 CUDA9 兼容的 cudnn-9.0-linux-x64-v7.tgz 下载到 <CUDNN> 文件夹中。解压:tar -xzvf ...。
可选:编译示例。 cd <CUDASAMPLES> && make。那里有一些很好的例子,也是写一些CUDA scripts of yourself的一个很好的起点。
(如果你做了 5.):将所需文件从 <CUDNN> 复制到 <CUDA>,并授予用户读取权限(不确定是否需要):
cp -P <CUDNN>/cuda/include/cudnn.h <CUDA>/include/
cp -P <CUDNN>/cuda/lib64/libcudnn* <CUDA>/lib64
chmod a+r <CUDA>/include/cudnn.h <CUDA>/lib64/libcudnn*
- 将库添加到您的环境中。这通常是在您的
~/.bashrc 文件中添加以下两行(在此示例中,<CUDA> 目录为 ~/cuda9/:
export PATH=<CUDA>/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<CUDA>/lib64/
用于快速测试或 TensorFlow 用户
获得与 CUDA9 和 CUDNN7 兼容的 TensorFlow 的最快方法(以及一种非常快速的测试方法)是下载预编译的 wheel 文件并使用 pip install <WHEEL> 安装它。您需要的大多数版本都可以在mind's repo 中找到(非常感谢大家)。确认 CUDNN 也正常工作的最小测试涉及使用 tf.nn.conv2d:
import tensorflow as tf
x = tf.nn.conv2d(tf.ones([1,1,10,1]), tf.ones([1,5,1,1]), strides=[1, 1, 1, 1], padding='SAME')
with tf.Session() as sess:
sess.run(x) # this should output a tensor of shape (1,1,10,1) with [3,4,5,5,5,5,5,5,4,3]
在我的例子中,the wheel I installed 需要英特尔的 MKL 库,正如 here 所解释的那样。同样,从终端并且没有 root 用户,这是我安装库并让 TensorFlow 找到它的步骤(reference):
git clone https://github.com/01org/mkl-dnn.git
cd mkl-dnn/scripts && ./prepare_mkl.sh && cd ..
mkdir -p build && cd build
cmake -D CMAKE_INSTALL_PREFIX:PATH=<TARGET_DIR_IN_HOME> ..
-
make # 这需要一段时间
-
make doc # 如果你有doxygen,可以选择这样做
-
make test # 也需要一段时间
make install # installs into <TARGET_DIR_IN_HOME>
- 将以下内容添加到您的
~/.bashrc:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TARGET_DIR_IN_HOME>/lib
希望这会有所帮助!
安德烈斯