问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

求助tensorflow下遇到cuda compute capability问题

发布网友 发布时间:2022-04-20 20:01

我来回答

1个回答

热心网友 时间:2022-06-20 07:52

首先需要看你的PC配置是否够,TF的GPU模式只支持N卡,然后计算能力高于3.0,具体可以查:


安装教程可以参考:



Ubuntu16.04上gtx1080的cuda安装
July 17 2016
目前tensorflow是一个非常流行的深度学习计算框架,常规硬件及系统的安装方法官方的doc已经说的很清楚了,但是 因为系统是ubuntu16.04,显卡是GTX1080,所以不可避免的要折腾起来。在上一篇已经在16.04上安装好了驱动。接下来其实 重点安装的是CUDA和cuDNN.
首先说为什么要安装CUDA和cuDNN,关于采用GPU计算比CPU有速度有多少提升的benchmark找找就有,这次重点是怎么让tensorflow充分用的 上GTX1080能力。具体的就是如何把支持GTX1080的CUDA和cuDNN装起来,然后让tensorflow认识我们新装的CUDA和cuDNN。
首先总体说下安装步骤:
1 首先要注册NVIDIA developer的帐号,分别下载CUDA和cuDNN
2 确认准备gcc版本,安装依赖库sudo apt-get install freegl
3 安装CUDA
4 解压cuDNN
5 clone tensorflow源码,configure配置
6 编译安装
7 最后一哆嗦,测试!
准备工作
在正式开始前,需要做几个准备工作,主要是大概先看下文档
cuda FAQ
tensorflow 的安装文档
cuda-gpu的支持列表/计算能力/FAQ
cudnn 5.1有多牛
cuda tookit下载页面
CUDA_Installation_Guide_Linux.pdf
cudnn User Guide
文档看过之后接下来就是实际动手的过程:
1 注册NVIDIA developer的帐号,分别下载CUDA和cuDNN
1.1 下载CUDA 打开cuda toolkit下载页面,GTX1080 要用的是CUDA 8。先点击JOIN,注册帐号。 完了后,再回到cuda toolkit下载页面。选择 linux, x86-64, ubuntu, 16.04, runfile(local)
1.2 下载cuDNN 进入cudnn的下载页,一堆调查,日志写时下载的是[Download cuDNN v5 (May 27, 2016), for CUDA 8.0 RC],点开选linux,不出意外的话这个就是下载地址.
2 确认GCC版本,安装依赖库
确认本机gcc版本,16.04默认的是gcc 5,这里安装需要的最高是gcc 4.9。接下来就安装配置gcc 4.9.
2.1 安装gcc 4.9,并修改系统默认为4.9
sudo apt-get install gcc-4.9 gcc-4.9 g++-4.9 g++-4.9
gcc --version
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 10
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 30
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 30
sudo update-alternatives --set c++ /usr/bin/g++
gcc --version


2.2 一个小依赖
sudo apt-get install freegl


3 安装CUDA
需要注意的是这个地方有个选择安装低版本驱动的地方,选n 大致的安装流程如下:
3.1 安装CUDA
chmod  +x /cuda_8.0.27_linux.run
./cuda_8.0.27_linux.run

....

Do you accept the previously read EULA?
accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.62?
(y)es/(n)o/(q)uit: n

Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:

Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y

Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location
[ default is /home/h ]: /home/h/Documents/cuda_samples

....



3.2 写入环境变量
vim ~/.bashrc
#添加下面变量
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}


3.3 安装好后简单验证
a. 进入刚配置时指定的cuda sample所在文件夹,NVIDIA_CUDA-8.0_Samples/
b. cd 0_Simple/asyncAPI;sudo make
c. NVIDIA_CUDA-8.0_Samples/0_Simple/asyncAPI$ ./asyncAPI [./asyncAPI] - Starting… GPU Device 0: “GeForce GTX 1080” with compute capability 6.1 CUDA device [GeForce GTX 1080] time spent executing by the GPU: 10.94 time spent by CPU in CUDA calls: 0.19 CPU executed 50591 iterations while waiting for GPU to finish
4 安装cuDNN
h@h:~/Downloads$ tar xvzf cudnn-8.0-linux-x64-v5.0-ga.tgz
cuda/include/cudnn.h
cuda/lib64/libcudnn.so
cuda/lib64/libcudnn.so.5
cuda/lib64/libcudnn.so.5.0.5
cuda/lib64/libcudnn_static.a

h@h:~/Downloads$ sudo cp -R cuda/lib64 /usr/local/cuda/lib64
h@h:~/Downloads$ sudo mkdir -p /usr/local/cuda/include
h@h:~/Downloads/cuda$ sudo cp include/cudnn.h /usr/local/cuda/include/
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*



5 clone, configure tensorflow
5.1 clone源码
$ git clone


5.2 configure配置
整个配置流程应该跟下面的基本一样的
h@h:~/Downloads/tensorflow$ cd ./tensorflow/
h@h:~/Downloads/tensorflow$ ./configure
Please specify the location of python. [Default is /usr/bin/python]:
***Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] N***
No Google Cloud Platform support will be enabled for TensorFlow
***Do you wish to build TensorFlow with GPU support? [y/N] y***
GPU support will be enabled for TensorFlow
Please specify which gcc nvcc should use as the host compiler. [Default is /usr/bin/gcc]:
**Please specify the location where CUDA  toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /usr/local/cuda-8.0 **

**Please specify the Cudnn version you want to use. [Leave empty to use system default]: 5.0.5**
**Please specify the location where cuDNN 5.0.5 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda-8.0]: /usr/local/cuda**
Please specify a list of comma-separated Cuda compute capabilities you want to build with.
You can find the compute capability of your device at:
**Please note that each additional compute capability significantly increases your build time and binary size.
[Default is: "3.5,5.2"]: 6.1**
Setting up Cuda include
Setting up Cuda lib64
Setting up Cuda bin
Setting up Cuda nvvm
Setting up CUPTI include
Setting up CUPTI lib64
Configuration finished


6 编译安装
6.1 编译工具Bazel安装配置 
先看一眼文档 然后就执行下面的流程:
#安装java 1.8
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

#安装好后车参考下
java -version

#添加源
echo "deb [arch=amd64] stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl | sudo apt-key add -

#下载
sudo apt-get update && sudo apt-get install bazel

#升级
sudo apt-get upgrade bazel


6.2 编译tensorflow的pip版本并安装
$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package

# To build with GPU support:
$ bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg

# The name of the .whl file will depend on your platform.
#注意编译完成后生成的文件名字和官方doc里面的是不一定一致的

$ sudo pip install /tmp/tensorflow_pkg/tensorflow-0.*-linux_x86_64.whl


i6700k 32g编译时间:

只编译代码不带pip INFO: Elapsed time: 967.271s, Critical Path: 538.38s

bazel-bin/tensorflow/tools/pip_package/build_pip_package INFO: Elapsed time: 65.183s, Critical Path: 48.58
7 最后测试
前面都整完了,现在该测试了,注意前面有两个动态链接库的位置,cuDNN在/usr/local/cuda/lib64, 而cuda在/usr/local/cuda-8.0/lib64,所以这个时候的bashrc应该这么写:
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}



写完后,
source ~/.bashrc
cd tensorflow/tensorflow/models/image/mnist
python convolutional.py


成功的话会出现流畅的跑动:
h@h:~/Downloads/tensorflow/tensorflow/models/image/mnist$ python convolutional.py
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so.5.0.5 locally
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
Extracting data/train-images-idx3-ubyte.gz
Extracting data/train-labels-idx1-ubyte.gz
Extracting data/t10k-images-idx3-ubyte.gz
Extracting data/t10k-labels-idx1-ubyte.gz
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:925] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.8475
pciBusID 0000:01:00.0
Total memory: 7.92GiB
Free memory: 7.41GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
Initialized!
Step 0 (epoch 0.00), 8.4 ms
Minibatch loss: 12.054, learning rate: 0.010000
Minibatch error: 90.6%
Validation error: 84.6%

......

Minibatch error: 0.0%
Validation error: 0.7%
Step 8500 (epoch 9.89), 4.7 ms
Minibatch loss: 1.601, learning rate: 0.006302
Minibatch error: 0.0%
Validation error: 0.9%
Test error: 0.8%

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
先奇XQ-23投影仪-高清画质 商务教学必备 XIANQI 先奇 XQ-68 家用投影机 语音版 白色-超高清4K解码,AI智能语音... 先奇XQ-17投影机-高清投影体验 先奇XQ-17办公投影机-高清投影轻松投屏 XIANQI 先奇 XQ-17 办公投影机 银色 语音版-详细介绍 办公投影仪推荐-XIANQI先奇XQ-23标配版 bootcamp安装win7修复-(bootcamp 安装win7) win7装机鼠标不能用 苹果电脑装win7系统鼠标不动苹果电脑win7系统鼠标不能用 QQ免费主题设置方法 如何在 Linux 中安装漂亮的 GTK+ 扁平化主题 Arc ubuntu 16.04.1 lts 支持嵌入式 freescale imx6吗 ubuntu16.04 tensoflow使用服务器需要支持gpu吗 ubuntu系统怎么安装python版本的opencv 求助,ubuntu16.04安装深度音乐遇到以来关系都问题 Ubuntu 16.04 无法定位软件包 mingw32,换成阿里源... 自己可以编译安卓源码吗? 如何在Linux环境下建立Git Server并设置用户 ubuntu16.04 gerrit安装问题一大堆 ubuntu 16.04上git push 失败,求git大佬!! ubuntu16.04 怎么使用git 客户端 安全模式下怎么修复笔记本电脑 笔记本电脑wⅰndows10系统开机怎样进入安全模式? 联想笔记本电脑如何进入安全模式 笔记本电脑的安全模式怎么进入呢? 笔记本电脑安全模式启动后怎样操作 笔记本电脑打开安全摸式后怎么恢复 笔记本电脑在安... 花呗账单会出错吗 我的花呗账单不对应该怎么办 花呗账单进度是什么意思 倍加福激光雷达如何配置ip地址 harbor 怎么配https tensorflow gpu版本运行时怎么知道有没有调用gpu以... linux php7 安装 memcached 改哪个配置文件 大番茄一键重装系统好用吗,需要清空c盘吗 大番茄一键重装系统怎么用 使用大番茄一键系统重装,重启后进去大番茄出现这... 使用大番茄一键重装系统失败怎么办 请问大佬有大番茄一键重装系统 V2.1.6.413 官方正... 大番茄一键重装系统win7安装方法 大番茄 一键重装系统怎么样 大番茄重装系统,然后出现问题了,大神怎么解决 下载了大番茄重装系统之后,电脑打不开了怎么办? 为什么我家电脑用大番茄一键重装系统怎么没用 大番茄一键重装系统好用吗 大番茄一键重装系统只是重装c盘吗 大番茄重装系统怎么进行磁盘分区 大番茄一键重装系统之后多的那个选项怎么去掉 用完大番茄重装系统 这样子怎么办 大番茄一键重装系统一直卡在正在诊断你的电脑