我正在我的ubuntu 16.04机器上安装最新的Tensorflow库 . 为此,我下载并安装了最新的Cuda工具包和Cuda nn库 .
安装完成后,我使用以下命令检查了它 .
(/home/naseer/anaconda2/) naseer@naseer-Virtual-Machine:~/anaconda2$ python
Python 2.7.13 |Anaconda 4.3.1 (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:102] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH: /usr/local/cuda-8.0.61/lib64
I tensorflow/stream_executor/cuda/cuda_dnn.cc:2259] Unable to load cuDNN DSO
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
以上输出是什么意思?这是否意味着Tensorflow将在我的Nvidia GPU系统上正确运行,还是我需要做其他事情?
My local Directory Structure:
我添加了以下屏幕截图,显示了我本地目录中的各种库路径 .
My Understanding
我觉得它正试图在路径/usr/local/cuda-8.0.61/lib64中打开CUDA库,而实际上有/usr/local/cuda-8.0/lib64和/ usr / local / cuda /的路径lib64下 . Itried重命名那条路但仍然无法工作?
Updates (Conflicting Directory Structure)
2 回答
要运行TensorFlow,您必须安装cuDNN . 有两种可能的方法:
1.为所有用户安装cuDNN:
这是official TensorFlow documentation描述的方式 . 这里,cuDNN安装在文件夹
/usr/local/cuda
中 . 这样,cuDNN可以被该计算机上的所有用户使用 . 说明来自TensorFlow文档:下载正确的cuDNN版本 . 对于TensorFlow r1.1,对于CUDA 8.0,这将是cuDNN v5.1 .
解压缩
.tgz
文件 . 打开终端,导航到您下载cuDNN的文件夹,然后打电话注意:这只是一个示例,请在调用之前检查文件名 .
这将创建一个名为
cuda
的新文件夹,其中包含两个子文件夹include
和lib64
,其中包含所有cuDNN文件 ./usr/local/cuda
. 你需要sudo
权利!这已经是它了 . TensorFlow现在应该按预期工作 .
2.在本地安装cuDNN:
如果您没有管理员权限,或者您希望在计算机上安装不同的cuDNN版本,则可以将cuDNN安装到您选择的任何文件夹,然后正确设置路径 . 此方法在this answer on StackOverflow中提出,并在官方NVIDIA安装说明中进行了解释 .
步骤1和2与上述相同 .
将提取的
cuda
文件夹移动到您选择的位置 .将此目录添加到
$LD_LIBRARY_PATH
环境变量中 . 在终端中,您可以通过呼叫来完成此操作其中
/path/to/cudnn
是您在上一步中移动cuDNN的位置 . 注意lib64
在最后!通常,在开始TensorFlow之前,您每次都必须调用它 . 为避免这种情况,您可以编辑文件
~/.bashrc
并在文件底部添加此行 . 每次启动终端窗口时,这都会自动将cuDNN添加到路径中 .有了这个,TensorFlow将能够找到cuDNN并按预期工作 .
要运行支持GPU的TensorFlow 1.4,您应首先安装CUDA 8(补丁2)和cuDNN v6.0,您可能会发现这个step-by-step installation guide很有用 .
安装CUDA 8驱动程序后,您需要安装cuDNN v6.0:
下载cuDNN v6.0驱动程序 . 驱动程序可以从here下载,请注意您需要先注册 .
将驱动程序复制到远程计算机(scp -r -i ...)
解压缩cuDNN文件,将它们复制到目标目录并从.tgz文件中提取文件:
更新您的bash文件
将以下行添加到bash文件的末尾:
安装libcupti-dev库
安装点子
安装TensorFlow
通过在Python命令行中运行以下命令来测试安装:
对于单个GPU,输出应类似于: