1. 按网上教程安装好cuda和cudnn。主要参照:
https://huanglu.me/2017/01/01/ubuntu-nividia-gpu-cuda/#cudnn
2.安装tensorflow。参考链接:
https://tensorflow.feisky.xyz/install/gpu.html
注意版本,我这边本来安装的是tensorflow1.3版本(最新版),但是由于对应的是cudnnv6.0版本。cudnn网站又在维护,我只有v5.1版本的。所以只能降级到1.2版本。使用指令
pip install tensorflow_gpu==1.2安装指定版本。
安装成功:
验证安装:
https://tensorflow.feisky.xyz/install/gpu.html
也是按照里面的例子验证的。
验证成功!
(后来师兄过来看了一下给我装了keras和ipython,跑了一下mnist的例子,说我并没有装好:出现了错误: InternalError: Failed to create session.
E tensorflow/stream_executor/cuda/cuda_driver.cc:924] failed to allocate 108.75M (114032640 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
2017-09-11 14:18:29.365238:
E tensorflow/stream_executor/cuda/cuda_blas.cc:365] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
大概是这样 就是出现了关键字CUDA_ERROR。猜测是
cuda的原因,我排查一下)
排查结果:我的台式机有两个显卡,在程序之前要指定想要用来执行的gpu来执行py文件:这边因为tesla c2075计算的capabilities 是2,小于3。不能运行tensorflow。所以指定为gtx750
指定方式1:在文件中加入:
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"
说明一下上面的“0”就是你想要指定的GPU的序号
方法2:加入环境变量中export。
方法3:在执行文件前加命令。
运行时
CUDA_VISIBLE_DEVICES=0 python **.py
3.安装anaconda参照网上博客(注意在安装完anaconda之后要重新安装tensorflow):
这文章是tensorflow和外界环境隔离安装的方法,如果不要求隔离安装的话,可以在安装完
anaconda之后再直接安装
tensorflow,不需要source activate tensorflow
4.安装object detection api
这篇博客中注意两点:
一.如何查看tensorflow的路径。
http://blog.csdn.net/lanyuxuan100/article/details/71750792
在terminal中依次执行如下指令:
1. python
2. import tensorflow as tf
3. tf.__path__
二.原博中第三步有点小问题:
3)添加库路径
我们需要把tensorflow/models以及slim的路径添加到环境变量PYTHONPATH当中,可以在终端export,但最好还是修改用户的bashrc吧
# From tensorflow/models/
export PYTHONPATH=
$PYTHONPATH
:`pwd`:`pwd`/slim
- 1
- 2
把上面的’pwd’换成tensorflow/models所在路径,一般来说,如果是终端pip安装的tensorflow,pwd就是‘/usr/local/lib/python2.7/dist-packages/tensorflow/models/’
按照原博主的这样弄会报错:No module named 'nets'
后来查了一下:
Just add slim path to your PYTHONPATH in bashrc file
export PYTHONPATH="$PYTHONPATH:/home/airig/tf-src/tensorflow/models/slim"
And it works!!
改下格式就ok,我的路径是:# From tensorflow/models/
export PYTHONPATH="$PYTHONPATH:/home/yefei/anaconda3/lib/python3.6/site-packages/tensorflow/models-master/slim"
到此就基本安装好了。下一步利用tensorflow object detection 训练自己的数据集。