目录
1.配置环境
cuda安装
cudnn安装
anaconda安装并创建环境
tensorflow环境
2.API安装
Tensorflow.models下载
Protobuf配置与测试
首先说一下我的环境:Ubuntu16.04 + nvidia384 + cuda9.0 + cudnn(for cuda9.0)+ anaconda4.5.4 +tensorflow1.9
前面两步不用说了,从cuda9.0开始第一步。
1.cuda安装:这里建议安装9.0,因为目前的9.2坑太多,不支持tf1.9,可以直接打开,有两种方式,第一个下载runfile(local),
安装的方式很简单,下载好了:
sudo sh cuda_9.0.103_384.59_linux.run
第二种方法,按照官方网站所给的教程就好:
安装的时候顺着来就好,除了第二个选项(是否自动安装nvidia驱动)选否,其他选默认的就好,当然你也可以选择安装的位置。
cuda测试:
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
出现显卡信息说明安装成功:
2.cudnn安装:cuda的安装很简单,也没有什么坑,然后是cudnn,其实也是可以不用装的,因为在anaconda中是可以用conda命令一键安装,但是我没有试过有没有问题。cudnn的版本只要能对应cuda9.0就行,这个先注册nvidia的帐号:
tar -xzvf cudnn-9.0-linux-x64-v7.3.0.29.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
把lib64文件夹添加到环境变量:
sudo vim .bashrc
在文档最后一行加入:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
设置立即执行:
source .bashrc
3.anaconda安装并创建环境:可以去清华镜像下载anaconda的安装包,版本可以自己选,这是最新版本:
安装完了之后可以用:conda --version,查看annaconda的版本。
4.tensorflow环境:首先用anaconda创建一个虚拟环境,以后要用tensorflow就必须在启动这个环境才能用,当然这是有好处的,这样不会干扰电脑的原生环境,注意自己给环境取个名字,这里可以选择虚拟环境的python版本,建议选3,也可以两个都装:
conda create -n ‘conv-name’ python=3.6
安装之后激活:
source activate ‘conv-name’
退出环境:
source deactivate ‘conv-name’
然后再安装tensorflow:
如果之前安装过cudnn可以直接用:pip install tensorflow-gpu==1.9
如果之前没有安装cudnn可以用:conda install tensorflow-gpu==1.9,它会自动安装所需要的其他安装包。
可以测试一下:
python import tensorflow as tf
hello = tf.constant(‘hello,Tensorflow!’)
session = tf.Session()
print(session.run(hello))
如果想在notebook中用tensorflow还需要一些步骤:
conda install ipython
conda install jupyter
然后可以打开notebook中测试:
jupyter notebook可以打开notebook。
至此,环境配置就结束了,除了这个api其他深度学习算法用这个环境也是可以的,但也有可能涉及一些版本问题,可能要更新或者降低。
1.models下载:首先将tensorflow的object detection api下载下来,他在models目录下,两种办法:
第一种:git clone https://github.com/tensorflow/models,这种办法会出现下载中断的情况,你只能多尝试或者换手机热点试试,当然就算你成功clone下来也有可能出现一些其他的问题,比如一些奇奇怪怪的子模块import错误,如:
module 'nets.mobilenet_v1' has no attribute 'MOBILENETV1_CONV_DEFS';
from object_detection.protos import anchor_generator_pb2
ImportError: cannot import name 'anchor_generator_pb2'
如果出现这种错误说明clone的文件并不全,用第二种办法吧。
第二种:直接下载。。。。很直接。
然后执行,把所需要的库装好:
sudo apt-get install protobuf-compiler python-pil python-lxml python-tk
pip install --user Cython
pip install --user contextlib2
pip install --user jupyter
pip install --user matplotlib
2.Protobuf配置与测试:
cd到/models/research目录下执行:
protoc object_detection/protos/*.proto --python_out=.
将slim路径添加到环境变量:
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
最后来测试一下吧:
python object_detection/builders/model_builder_test.py
如果显示这个,恭喜你安装成功,如果没有,请按照之前的步骤再来一次。