linux 下设置 cuda 的默认环境变量

在 linux 下使用 pip 安装 tensorlfow 的时候(官方教程:https://www.tensorflow.org/install/pip), 如果 cuda 的版本不被 tensorflow 支持,安装不会报错,依然会成功。但是实际无法运行程序,利用官方的测试代码检查:

$ python -c "import tensorflow as tf; tf.enable_eager_execution(); print(tf.reduce_sum(tf.random_normal([1000, 1000])))"

便会出现 import error 的错误。

存在使用 源码编译的教程(https://www.tensorflow.org/install/source),可以选择 cuda 版本(例如10.0),但是 过程比较繁琐,消耗时间高达3-4小时。因此我选择改变 cuda 的默认环境变量,非常简单,只需要两行代码,然后轻松使用 pip 安装。

我在 linux 系统下 同时安装了多个版本的 cuda,默认的环境变量指向最新的 cuda 目录(10.0).

在安装 tensorflow 的时候,由于 tensorflow 最高支持 cuda-9.0,需要将莫仍环境变量指向 cuda-9.0 对应的目录。

tensorflow 的安装涉及两个 变量:LD_LIBRARY_PATH 以及 CUDA_HOME.

首先检查环境变量列表:

$ export -p

得到环境列表的输出,如果没有两个变量,使用 declare 新建:

$ declare -x LD_LIBRARY_PATH="/lib64:/extras/CUPTI/lib64"
$ declare -x CUDA_HOME=

如果变量已经存在,使用 export 修改变量到正确的目录(如上):

export ="$:"

然后安装即可成功。

Bingo!

另:

安装 anaconda 之后,运行 conda 可能出现 command not found,需要首先将之添加进系统环境变量中。

$ bash
$ export PATH="/bin:$PATH

你可能感兴趣的:(深度学习)