tensorflow cuda8.0支持 cuda9 吗

系统配置:
Ubuntu14.04(x64)
cudnn-8.0-linux-x64-v5.1.tgz(Tensorflow依赖)
1. Torch安装
Torch是深度学习一个非常好的框架,使用人也特别多,之前一直使用caffe进行实验,最近一个实验需要在Torch下面跑,所以借此机会安装一下torch。
Torch的官方文档已经说的非常详细,安装可以直接按照官方文档进行,。
首先从github中down下来torch,放在~/torch文件夹下面:
git clone /torch/distro.git ~/torch --recursive
bash install-
./install.sh
在安装过程中,可能会出现权限问题,如果不行可以直接在命令前加入sudo 来使用管理员权限来进行操作。
在安装过程中,Torch安装程序已经自动将所需的PATH等环境变量写入环境变量配置文件中,我们需要做的就是将新的环境变量执行,使其生效。
# On Linux with bash
source ~/.bashrc
# On Linux with zsh
source ~/.zshrc
# On OSX or in Linux with none of the above.
source ~/.profile
如果没有出现问题,那么Torch已经安装成功。
Torch 的使用和python 非常类似,在命令行中输入 &th ,则会出现下面信息:
此时,Torch已经成功安装。
2. Tensorflow安装
Tensorflow安装官网已经很完善,直接参考官网教程。
因为系统已经安装Torch和caffe,为了不使得自己的环境变量混乱,推荐使用anaconda安装Tensorflow,方便管理,快捷。
Tensorflow-gpu1.2.1
1. 安装Cuda
首先下载Cuda8.0,然后进入下载目录,执行下列命令,即可安装Cuda
  安装完成后,配置环境变量,在home下的.bashrc中加入
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda:$CUDA_HOME
2. 安装Cudnn
Cuda8.0支持Cudnn v5.0和v5.1,但是在安装tensorflow之后其示例代码mnist时,提示该代码基于Cudnn v5.1生成,因此我又改成了v5.1。
下载Cudnn v5.1,进入下载目录,执行下列命令:
tar xvzf cudnn-8.0-Linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn.so* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn.so*
上面第2、3行就是把Cudnn的头文件和库文件复制到Cuda路径下的include和lib目录。
3.使用Anaconda安装tensorflow
首先新建一个conda环境,命名为tensorflow
conda create -n tensorflow Python=2.7
然后激活该环境并在该环境下安装tensorflow
source activate tensorflow
由于使用conda安装的tensorflow,所以我们使用pip安装,
export TF_BINARY_URL=https:///tensorflow/linux/gpu/tensorflow_gpu-1.2.1-cp27-none-linux_x86_64.whl
pip install –ignore-installed –upgrade $TF_BINARY_URL
如此,便完成GPU版本的tensorflow安装。使用完毕后,需要关闭tensorflow环境
source deactivate
可以简单测试一下tensorflow是否安装成功
&&& import tensorflow as tf
&&& hello = tf.constant('Hello, TensorFlow!')
&&& sess = tf.Session() #在该步会显示电脑的显卡信息
&&& print(sess.run(hello))
Hello, TensorFlow!
&&& a = tf.constant(<span style="color: #)
&&& b = tf.constant(<span style="color: #)
&&& print(sess.run(a + b))
测试mnist简单实验。
由于使用anaconda安装的tensorflow并没我model,所以需要从github上面git下来model文件夹。
cd /home/startag/anaconda/envs/tensorflow
git clone /tensorflow/models.git
然后跑MNIST程序测试tensorflow性能:
cd /anaconda/envs/tensorflow/models/tutorials/image/mnist
python convolutional.py
输出实验结果:
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
11:02:25.851275: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
11:02:25.851296: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
11:02:25.851301: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
11:02:25.851304: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
11:02:25.851306: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
11:02:25.945195: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
11:02:25.945405: I tensorflow/core/common_runtime/gpu/gpu_device.cc:887] Found device 0 with properties:
name: GeForce GTX TITAN X
major: 5 minor: 2 memoryClockRate (GHz) 1.076
pciBusID .0
Total memory: 11.91GiB
Free memory: 429.00MiB
11:02:25.945418: I tensorflow/core/common_runtime/gpu/gpu_device.cc:908] DMA: 0
11:02:25.945421: I tensorflow/core/common_runtime/gpu/gpu_device.cc:918] 0:
11:02:25.945427: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -& (device: 0, name: GeForce GTX TITAN X, pci bus id: .0)
Initialized!
Step 0 (epoch 0.00), 13.7 ms
Minibatch loss: 8.334, learning rate: 0.010000
Minibatch error: 85.9%
Validation error: 84.6%
至此,Caffe升级工作,Torch,Tensorflow安装工作,历时3天终于完成。
期间踩坑无数,终于安装好了所需环境,希望后续实验可以顺利开展,取得好的实验结果。
3. Sublime配置tensorflow环境
在安装好tensorflow环境之后,已可以成功直接从terminal中使用tensorflow,但是在编写代码过程中,需要使用编辑器支持tensorflow的语法以及一些函数,这时就需要对sublime进行配置,使得sublime可以识别tensorflow的环境以及相关配置。
安装anacoda编译器,使用sublime的package control管理器,安装anacoda编译器(ctrl+shift+p);
然后在Preferences——&Package Settings中找到Anaconda,然后选择User-settings选项,将以下配置信息放到配置文件中:
"python_interpreter": "/home/startag/anaconda/bin/python",
"suppress_word_completions":true,
"suppress_explicit_completions":true,
"complete_parameters":true,
"anaconda_linting": false
然后就可以正常import tensorflow啦。&
4. 错误处理
1. 在使用tensorflow时候提示错误如下:
from google.protobuf import symbol_database as _symbol_database
ImportError: cannot import name symbol_database
这是因为在安装tensorflow时使用的是anaconda环境配置,将tensorflow使用conda命令单独创建了一个环境变量,在这个环境变量中并未能找到合适的protobuf进行编译。
解决方法:
sudo apt-get remove python-protobuf
这个是移除使用apt-get安装的protobuf,以免造成对protobuf的影响。
如果这个方法不奏效,那么使用下面的命令对protobuf进行升级,升级命令为:
sudo pip install --upgrade protobuf
该命令会将protobuf安装到系统自带的python2.7环境中。
需要开启tensorflow环境,即切换到anaconda环境中进行安装,方可对anaconda中的protobuf进行升级,命令为:
source activate tensorflow #开启tensorflow环境
使用pip对protobuf进行升级:
pip install --ignore-installed --upgrade protobuf
在使用anaconda时候,可以使用pip来对已经安装的包package进行管理和查看,以判别安装的package的版本是否正确:
$ pip show protobuf
Name: protobuf
Version: <span style="color: #.3.<span style="color: #
Summary: Protocol Buffers
Home-page: https:///protocol-buffers/
Author-email:
License: <span style="color: #-Clause BSD License
Location: /home/startag/anaconda/lib/python2.<span style="color: #/site-packages
Requires: six, setuptools
关于anaconda的使用可参考:&
2. 在anaconda环境下import cv2提示错误
这是因为在默认python环境中安装的opencv,anaconda并不能找打其位置,需要在anaconda中明确,使用pip重新安装,安装命令为:
pip install opencv-python
参考地址:
阅读(...) 评论()本人在安装过程中碰到很多问题,一一记录下来
1.theano运行gpu,测试代码如下
vlen = 10 * 30 * 768
# 10 x #cores x # threads per core
iters = 1000
rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], T.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
t1 = time.time()
print(&Looping %d times took %f seconds& % (iters, t1 - t0))
print(&Result is %s& % (r,))
if numpy.any([isinstance(x.op, T.Elemwise) for x in f.maker.fgraph.toposort()]):
print(&#39;Used the cpu&#39;)
print(&#39;Used the gpu&#39;)
最新版 的theano 运行报错,错误内容如下:
nvcc fatal & : Value 'sm_61' is not defined for option 'gpu-architecture'
错误原因,sm_61需要cuda8.0的才能运行,安装cuda8.0
在安装目录运行如下命令:./cuda_8.0.27_linux.run
Do you accept the previously read EULA?
accept/decline/quit: accept
You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 361.77?
(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 ]:
/usr/local/cuda-8.0 is not writable.
Do you wish to run the installation with &#39;sudo&#39;?
(y)es/(n)o: y
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/homolo ]:
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
安装之后重新运行测试代码报错:
ERROR (theano.sandbox.cuda): Failed to compile cuda_ndarray.cu: libcublas.so.8.0: cannot open shared object file: No such file or directory
WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available
(error: cuda unavailable)
[Elemwise{exp,no_inplace}(&TensorType(float32, vector)&)]
Looping 1000 times took 2.026935 seconds
Result is [ 1... ...,
Used the cpu错误原因是文件找不到,解决办法:
执行如下代码:&ldconfig /usr/local/cuda/lib64
2.tensorflow运行gpu,测试代码如下:
hello = tf.constant(&hello TensorFlow!&)
sess=tf.Session()
print(sess.run(hello))
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name=&#39;a&#39;)
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name=&#39;b&#39;)
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))在cuda8.0上,运行报错,错误信息如下:
ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory
就上面的信息而言,tensorflow不支持cuda8,重新安装cuda7.5
在安装目录执行&./cuda_7.5.18_linux.run
Do you accept the previously read EULA? (accept/decline/quit): accept
You are attempting to install on an unsupported configuration. Do you wish to continue? ((y)es/(n)o) [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 352.39? ((y)es/(n)o/(q)uit): n
Install the CUDA 7.5 Toolkit? ((y)es/(n)o/(q)uit): y
Enter Toolkit Location [ default is /usr/local/cuda-7.5 ]: y
Toolkit location must be an absolute path.
Enter Toolkit Location [ default is /usr/local/cuda-7.5 ]:
/usr/local/cuda-7.5 is not writable.
Do you wish to run the installation with &#39;sudo&#39;? ((y)es/(n)o): y
Do you want to install a symbolic link at /usr/local/cuda? ((y)es/(n)o/(q)uit): y
Install the CUDA 7.5 Samples? ((y)es/(n)o/(q)uit): y
Enter CUDA Samples Location [ default is /home/homolo ]:
Installing the CUDA Toolkit in /usr/local/cuda-7.5 ...
安装完成后继续出现如下错误:
ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory
执行如下代码:ldconfig /usr/local/cuda/lib64
重新运行:
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:102] Couldn&#39;t open CUDA library libcudnn.so. LD_LIBRARY_PATH: /data/work/pycharm-/bin:
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
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 1060 6GB
major: 6 minor: 1 memoryClockRate (GHz) 1.7845
pciBusID .0
Total memory: 5.93GiB
Free memory: 5.47GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -& (device: 0, name: GeForce GTX 1060 6GB, pci bus id: .0)
b&#39;hello TensorFlow!&#39;
Device mapping:
/job:localhost/replica:0/task:0/gpu:0 -& device: 0, name: GeForce GTX 1060 6GB, pci bus id: .0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -& (device: 0, name: GeForce GTX 1060 6GB, pci bus id: .0)
I tensorflow/core/common_runtime/direct_session.cc:175] Device mapping:
/job:localhost/replica:0/task:0/gpu:0 -& device: 0, name: GeForce GTX 1060 6GB, pci bus id: .0
I tensorflow/core/common_runtime/simple_placer.cc:818] MatMul: /job:localhost/replica:0/task:0/gpu:0
I tensorflow/core/common_runtime/simple_placer.cc:818] b: /job:localhost/replica:0/task:0/gpu:0
I tensorflow/core/common_runtime/simple_placer.cc:818] a: /job:localhost/replica:0/task:0/gpu:0
I tensorflow/core/common_runtime/simple_placer.cc:818] Const: /job:localhost/replica:0/task:0/cpu:0
MatMul: /job:localhost/replica:0/task:0/gpu:0
b: /job:localhost/replica:0/task:0/gpu:0
a: /job:localhost/replica:0/task:0/gpu:0
Const: /job:localhost/replica:0/task:0/cpu:0
目前最新的theano/tensorflow不能共用一个cuda
如果要在cuda7.5/8.0切换,可以执行如下代码
# rm -rf cuda
# ln -s cuda-8.0 cuda
# ldconfig /usr/local/cuda/lib64
本文已收录于以下专栏:
相关文章推荐
我环境配置:
WIN10 64位,显卡GT 740M,cpu i54200U,8G内存
numpy1.12.0
theano0.8.2
Anconda2.7
* 本文是继《Ubuntu-安装-cuda7.0-单显卡-超详细教程》 之后的续篇。theano和caffe是深度学习库,对运算能力需求很大,最好使用cuda进行加速。所以,请先阅读《Ubu...
深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-02-基于Python的卷积运算 -- 在python中对图片进行卷积操作运算的一个示例程序, 源代码分析:(注意,如果直接保存以下代码,一定要另...
安装好了cuda和theano
(1)创建一个test.py文件
添加如下内容from theano import function, config, shared, sa...
sudo ldconfig /usr/local/cuda/lib64
Reference:
/NVIDIA/DIGITS/issues/8
写在前面一些废话接触深度学习已经有一段时间,之前一直在windows下使用Theano,但是发现Theano天书般的源码真是头大,在看到tensorflow中文教程后,发现它竟然逻辑清晰,教程丰富,实...
最开始的两天直接在官网下的cuda9.0,也没在意,就安装了,觉得最新的肯定是最好的嘛,但后来装tensorflow到最后一步的时候总是出错,主要报找不到libcusolver.so.8.0,再百度才...
GANs是Generative Adversarial Networks的简写,中文翻译为生成对抗网络,它最早出现在2014年Goodfellow发表的论文中:Generative
Adversar...
在pycharm中一直出现这个错误,一个简单的涉及到tensorflow的程序都不能运行,实在烦恼,在网上反复也不能找到解决问题的答案,当然也有解决的方案,只是不能解决我的问题:下面详述问题和解决方案...
ImportError: libcusolver.so.8.0: cannot open shared object file: No such file or directory
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)TensorFlow | 我爱自然语言处理从本周一开始(12.05),共4天半的时间,终于折腾好Google TensorFlow for GPU版本,其间跳坑无数,摔得遍体鳞伤,曾一度怀疑自己廉颇老矣,不能饭也;后,凭借自己多年积累得还算扎实的基本功,终于从无数个坑中爬出,百转千回,成功安装了TensorFLow,如下图:
题外话,图中a&#43;b的输出结果为42是有意为之,因为《银河系漫游指南》中关于生命、宇宙及一切问题的终极答案就是42
先小小庆祝一下,然后再把其中几个大坑记录如下,避免以后再跳:
1. TensorFlow仅支持64位的Ubuntu / Linux、Mac OS X,不支持windows系统;
2. 要安装ubuntu14.04、15.10或者16.04版本,目前这几个版本TensorFlow及GPU运行库CUDA支持,可以省去很多麻烦,切记;
3.硬件环境至少是i3以上,如果要安装GPU版本的TensorFlow的话,显卡必须独显,且显卡必须支持nvdia cuda,要想知道自己的显卡是否支持,请点击这里:
&4. 安装TensorFlow之前一定要先安装cuda,符合我的机器配置的ubuntu 16.04版本的cuda下载链接为:
5. 安装cuda之前请一定在系统设置-&软件和更新-&附加驱动中选择nvidia显卡的最新驱动nvidia-367,这个版本的GeForce GT750显卡驱动(我的本本配置)正好与cuda8.0匹配,如果不是这个版本,请删除掉原来的nvidia驱动,安装cuda时选择安装配套驱动即可;
6. 要下载cuda.run版本安装文件,这个最简单,其它版本能折腾死你都不一定成功;
7. 安装cuda.run之前,一定要关掉图形界面,clt&#43;alt&#43;f1登录到tty界面输入如下指令关掉:
$ sudo service lightdm stop
详细的安装教程参考:
其中一点要注意与教程不同的是,不要考虑gcc版本4.9的问题,我下载的cuda8.0支持ubuntu16.04的gcc5,因此,不需要考虑这个。
8. 千万不要选择源码安装TensorFlow,至少目前是不行的,这个是最大的坑,因为主要问题是国内的网络环境太差,源码安装需要访问国外下载站点下载对应组件,下载总超时,无法正常安装,这个会让你疯掉的;
9. 国内TensorFlow中文社区的更新速度较慢,请尽量访问英文官方网站查看教程,官网地址如下:
10. 请参考官网教程下载安装TensorFlow,哪里有最新版本下载,同时选择PIP安装,这个是最能达成目标的安装方式,尽量不要尝试其它的,时间耽误不起;
11. PIP安装也存在一个问题,依然是国外下载网站老是超时的问题,请在安装TensorFlow时,调整官方文档给出的安装指令,如下:
官网指令: sudo pip3 install --upgrade $TF_BINARY_URL
国内指令:sudo pip3 install -i https://pypi.tuna./simple --timeout=100 &--upgrade $TF_BINARY_URL&
国内指令增加了超时设置及国内镜像,这样即可避免下载超时问题;
本文已收录于以下专栏:
相关文章推荐
pip install tensorflow-cpu
最近想学习TensorFlow,一直用python,所以想借用TF在python的拓展包。
主要问题是,TF 仅仅对python3.5的支持比较好...
对一个框架的熟悉过程是从安装开始,今天就带大家熟悉这里面的 第一道坎 -&#160;安装。
&#160; &#160; &#160; TensorFlow 安装方式总结为:
一. Pip安装步骤:&#160;
&#160; &#160; 1)安装 Pip
写在前面一些废话接触深度学习已经有一段时间,之前一直在windows下使用Theano,但是发现Theano天书般的源码真是头大,在看到tensorflow中文教程后,发现它竟然逻辑清晰,教程丰富,实...
按顺序一步一步解决依赖并安装。
笔者使用的版本为2.7.5。
2.python-pip
pip,Python Index Package。类似linux下的yum,安装并管理pyth...
opencv在ubuntu下的安装主要采用源码安装,由于opencv和opencv_contrib加起来有大半个g,加上被墙的原因所以下载非常的慢而且下载不完整。在这里我把需要用到的源码和材...
Python os模块包含普遍的操作系统功能。
常用函数:
取代操作系统特定的路径分隔符。
os.getcwd()
获得当前工作目录,即当前Python脚本工作的目录路径。...
window10 + cuda8.0+tensorflow 安装教程window10
cuda80tensorflow 安装教程
下载安装cuda80
下载cuDNN v51
下载安装Anacond...
Win10 TensorFlow(gpu)安装详解:TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,...
0x00 前言CPU版的TensorFlow安装还是十分简单的,也就是几条命令的时,但是GPU版的安装起来就会有不少的坑。在这里总结一下整个安装步骤,以及在安装过程中遇到的问题和解决方法。整体梳理安装...
一、tensorflow安装过程,首先是建立一个名称为tensorflow的类似命名空间的东西,用anaconda navigator或者promot命令行都可以,然后直接在promt里面安装tens...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)&本文为原创作品,未经本人同意,禁止转载,禁止用于商业用途!本人对博客使用拥有最终解释权
欢迎关注我的博客:http://blog.csdn.net/hit2015spring和/xujianqing
本文主要是介绍在ubuntu16.04下,怎么配置当下流行的深度学习框架,cuda8.0+cudnn+caffe+theano+tensorflow
安装英伟达显卡驱动
首先去官网上查看适合你GPU的驱动
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-375(375是你查到的版本号)
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
执行完上述后,重启(reboot)。
重启后输入
nvidia-smi
如果出现了你的GPU列表,则说明驱动安装成功了。另外也可以通过,或者输入
nvidia-settings
在cuda所在目录打开terminal依次输入以下指令:
sudo dpkg -i cuda-repo-ubuntu-rc_8.0.27-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
ubuntu的gcc编译器是5.4.0,然而cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9:
在terminal中执行:
sudo apt-get install gcc -4.9 gcc-5 g++-4.9 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 10
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 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++
配置cuda8.0之后主要加上的一个环境变量声明,在文件~/.bashrc之后加上
&gedit ~/.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}}
然后设置环境变量和动态链接库,在命令行输入
sudo gedit /etc/profile
在打开的文件里面加上(注意等号两边不能有空格)
export PATH=/usr/local/cuda/bin:$PATH
保存之后,创建链接文件
sudo gedit /etc/ld.so.conf.d/cuda.conf
在打开的文件中添加如下语句:
/usr/local/cuda/lib64
保存退出执行命令行:
sudo ldconfig
使链接立即生效。
2、测试cuda的Samples
命令行输入(注意cuda-8.0是要相对应自己的cuda版本)
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo ./deviceQuery
返回GPU的信息则表示配置成功
3、使用cudnn
上官网下载对应的cudnn
下载完cudnn后,命令行输入文件所在的文件夹 (ubuntu为本机用户名)
cd home/ubuntu/Downloads/
tar zxvf cudnn-8.0-linux-x64-v5.1.tgz
cd进入cudnn5.1解压之后的include目录,在命令行进行如下操作:
sudo cp cudnn.h /usr/local/cuda/include/
#复制头文件
再cd进入lib64目录下的动态文件进行复制和链接:(5.1.5为对应版本具体可修改)
sudo cp lib* /usr/local/cuda/lib64/
#复制动态链接库
cd /usr/local/cuda/lib64/
sudo rm -rf libcudnn.so libcudnn.so.5
#删除原有动态文件
sudo ln -s libcudnn.so.5.1.5 libcudnn.so.5
#生成软衔接
sudo ln -s libcudnn.so.5 libcudnn.so
#生成软链接
&4、安装opencv3.1.0
从官网上下载opencv3.1.0
http://opencv.org/downloads.html
并将其解压到你要安装的位置,(下载的位置还是在home/ubuntu、Downloads文件夹下)
首先安装Ubuntu系统需要的依赖项,虽然我也不知道有些依赖项是干啥的,但是只管装就行,也不会占据很多空间的。
sudo apt-get install --assume-yes libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
然后安装OpenCV需要的一些依赖项,一些文件编码解码之类的东东。
&sudo apt-get install build-essential cmake git
sudo apt-get install ffmpeg libopencv-dev libgtk-3-dev python-numpy python3-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libv4l-dev libtbb-dev qtbase5-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
在终端中cd到opencv文件夹下(解压的那个文件夹),然后
mkdir build
#新建一个build文件夹,编译的工程都在这个文件夹里
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON -DCUDA_NVCC_FLAGS="-D_FORCE_INLINES" ..(后面两点不要忘记)
cmake成功后,会出现如下结果,提示配置和生成成功:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ise/software/opencv-3.1.0/build
由于CUDA 8.0不支持OpenCV的 GraphCut 算法,可能出现以下错误:
/home/usrname/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:120:54: error: 'NppiGraphcutState' has not been declared
typedef NppStatus (*init_func_t)(NppiSize oSize, NppiGraphcutState** ppStat
/home/usrname/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:135:18: error: 'NppiGraphcutState' does not name a type
operator NppiGraphcutState*()
/home/usrname/opencv-3.1.0/modules/cudalegacy/src/graphcuts.cpp:141:9: error: 'NppiGraphcutState' does not name a type
NppiGraphcutState* pS
进入opencv-3.1.0/modules/cudalegacy/src/目录,修改graphcuts.cpp文件,将:
#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
#include "precomp.hpp"
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
|| (CUDART_VERSION &= 8000)
然后make编译就可以了
上面是将opencv编译成功,但是并没有安装到我们的系统中,有很多的设置都没有写入到系统中,因此还要进行install。
sudo make install
sudo /bin/bash -c 'echo "/usr/local/lib" & /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig
重启系统,重启系统后cd到build文件夹下:
sudo apt-get install checkinstall
sudo checkinstall
然后按照提示安装就可以了。
使用checkinstall的目的是为了更好的管理我安装的opencv,因为opencv的安装很麻烦,卸载更麻烦,其安装的时候修改了一大堆的文件,当我想使用别的版本的opencv时,将当前版本的opencv卸载就是一件头疼的事情,因此需要使用checkinstall来管理我的安装。
执行了checkinstall后,会在build文件下生成一个以backup开头的.tgz的备份文件和一个以build开头的.deb安装文件,当你想卸载当前的opencv时,直接执行dpkg -r build即可。
5、配置caffe环境
切换编译器
选择g++ 5.0以上的对应编号
sudo update-alternatives --config g++
sudo update-alternatives --config gcc
&安装依赖库
sudo add-apt-repository universe
sudo apt-get update -y
sudo apt-get install cmake -y
# General Dependencies
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev \
libhdf5-serial-dev protobuf-compiler -y
sudo apt-get install --no-install-recommends libboost-all-dev -y
sudo apt-get install libatlas-base-dev -y
# Remaining Dependencies
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev -y
sudo apt-get install python-dev python-numpy –y
sudo apt-get install -y python-pip
sudo apt-get install -y python-dev
sudo apt-get install -y python-numpy python-scipy
编译 Caffe,cd到要安装caffe的位置
git clone /BVLC/caffe.git
cp Makefile.config.example Makefile.config
修改Makefile.config:
先安装anaconda
上面的地址下载 该包默认在downloads里面
cd /home/username/Downloads
sudo bash Anaconda2-4.2.0-Linux-x86_64.sh
配置环境变量
gedit /etc/profile
末尾添上,我是一路yes下来,所以安在了root下,你可以自己选路径,这时候的环境变量要改
export PATH=/root/anaconda2/bin:$PATH
2、创建conda环境 名字叫tensorflow
conda create -n tensorflow python=2.7
source activate tensorflow
#使能该环境
#下面这句话只能下载给CPU用的tensorflow
conda install -c conda-forge tensorflow
利用pip来下载给GPU用的tensorflow
export TF_BINARY_URL=/tensorflow/linux/gpu/tensorflow-0.11.0-cp27-none-linux_x86_64.whl
pip install --ignore-installed --upgrade $TF_BINARY_URL
安装IPython
conda install ipython
关掉该环境
source deactivate
测试安装是否正确
source activate tensorflow
import tensorflow as tf
import numpy as np
&# Create 100 phony x, y data points in NumPy, y = x * 0.1 + 0.3
x_data = np.random.rand(100).astype(np.float32)
y_data = x_data * 0.1 + 0.3
&# Try to find values for W and b that compute y_data = W * x_data + b
# (We know that W should be 0.1 and b 0.3, but TensorFlow will
# figure that out for us.)
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b
&# Minimize the mean squared errors.
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
&# Before starting, initialize the variables.
We will 'run' this first.
init = tf.initialize_all_variables()
&# Launch the graph.
sess = tf.Session()
sess.run(init)
&# Fit the line.
for step in range(201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(W), sess.run(b))
&# Learns best fit is W: [0.1], b: [0.3]
&8、Caffe配置错误
问题:找不到Python.h
解决:给anaconda添加环境变量
gedit ~/.banshrc
export PATH=/root/anaconda2/bin:$PATH
export PYTHONPATH=/path/to/caffe/python:$PATH
修改Makefile.config
在终端输入
locate Python.h
gedit Makefile.config
在INCLUDE_DIRS 和LIBRARY_DIRS后面添上
/root/anaconda2/include/python2.7
ANACONDA_HOME := $(HOME)/anaconda2
PYTHON_ INCLUDE =$(ANACONDA_HOME)/include\
&,把前面的#去掉,那三行都去掉#,并在注释上面,
&注释这两句PYTHON_INCLUDE := /usr/include/python2.7\
/usr/lib/python2.7…………..
如果编译的时候发现有错,回来改完之后又得重新编译一遍pycaffe,于是出现如下错误
&make: Nothing to be done for 'pycaffe'
则在终端输入:
sudo make clean
修改完后再
sudo make pycaffe
这里要从make –j8 all那一步开始编译
编译完后,显示
然后 cd python进入该目录
import caffe
若此时提示错误:
Traceback (most recent call last)
ImportError: /home/../anaconda2/lib/python2.7/site-packages/zmq/backend/cython/../../../../.././libstdc++.so.6: versionGLIBCXX_3.4.21' not found
pip install protobuf
sudo apt-get install python-protobuf
coda install libgcc
阅读(...) 评论()

我要回帖

更多关于 tensorflow cuda7.5 的文章

 

随机推荐