ubuntu16.04+GTX1080ti+Tensorflow 深度学习环境搭建
来源:互联网 发布:软件开发培训中心 编辑:程序博客网 时间:2024/05/01 05:56
ubuntu16.04+GTX1080ti+Tensorflow 深度学习环境搭建
花了三天时间将一堆硬件搭建好初步的深度学习工作环境,肩胀颈酸,Mark一下主要过程,以防自己今后重复踩坑。
0、配置简介
硬件环境配置:
显卡:微型仿英伟达1080ti公版显卡1张:GTX1080ti
主板:华硕PRIME Ax999-A
CPU: intel i7-820x,8核16线程处理器
内存:金士顿16G单条
硬盘:intel 512G固态硬盘
系统配置:win10 + ubuntu16.04
一、安装Anaconda
由于原生python依赖太多,为偷懒,安装Anaconda好了,可以到清华镜像去下载Anaconda3-5.0.0-Linux-x86_64.sh,速度会比较快:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
安装之后,运行python命令,会出现类似如下结果,说明安装通过。
二、安装cuda以及cudnn
注意由于cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb中已经包含了显卡驱动,如果重复安装会导致失败,因此直接安装cuda就好,不要在多此一举安装英伟达官网显卡驱动
1 安装cuda8.0
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb # 自己的.deb包名 sudo apt-get update sudo apt-get install cuda
(2)编译cuda例子:
cd /usr/local/cuda-8.0/samplessudo make -j8
(3)测试cuda例子:
cd /usr/local/cuda-8.0/samples/bin/x86_64/linux/release/./deviceQuery
(4)结果如下:
(5)添加环境变量
vi /etc/profile
在底部插入以下两句
export PATH=/usr/local/cuda-8.0/bin:$PATHexport LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH
执行source使得环境变量设置生效
source /etc/profile
2、安装cudnn:
(1)解压cudnn得到文件夹cuda,下
tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
(2)拷贝头文件及库到cuda8.0的系统目录
cd cuda sudo cp lib64/lib* /usr/local/cuda/lib64/ sudo cp include/cudnn.h /usr/local/cuda/include/
三、安装tensorflow和keras
(1)使用tensorflow的gpu版本:tensorflow_gpu-1.3.0rc2-cp36-cp36m-linux_x86_64.whl
安装keras
sudo pip install keras
(2)测试tensorflow和keras,在python命令行中输入:
>>> import tensorflow as tf>>> import keras as ks
结果如下:
四、安装caffe
1、下载:git clone https://github.com/BVLC/caffe.git
2、首先将Makefile.config.example的内容复制到Makefile.config
cd caffesudo cp Makefile.config.example Makefile.config
3、打开并修改配置文件:
sudo gedit Makefile.config #打开Makefile.config文件
1)由于使用了CUDNN,将
#USE_CUDNN := 1
修改成:
USE_CUDNN := 1
2)由于使用pythonlayer,将# Uncomment to support layers written in Python (will link against Python libs)下面的
#WITH_PYTHON_LAYER := 1
修改成:
WITH_PYTHON_LAYER := 1
3)由于ubuntu16.04的文件包含位置发生了变化,尤其是需要用到的hdf5的位置,所以需要更改这一路径.
将# Whatever else you find you need goes here.下面的
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/includeLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
修改为:
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serialLIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
4)由于使用Anaconda3.5中的python3.6替代系统自带的python2.7,因此将# We need to be able to find Python.h and numpy/arrayobject.h.下面的
PYTHON_INCLUDE := /usr/include/python2.7 \ /usr/lib/python2.7/dist-packages/numpy/core/include
修改为:
#PYTHON_INCLUDE := /usr/include/python2.7 \ #/usr/lib/python2.7/dist-packages/numpy/core/include
5)指定Anaconda相关include及lib路径,将# Anaconda Python distribution is quite popular. Include path:下面的
# ANACONDA_HOME := $(HOME)/anaconda# PYTHON_INCLUDE := $(ANACONDA_HOME)/include \ # $(ANACONDA_HOME)/include/python2.7 \ # $(ANACONDA_HOME)/lib/python2.7/site-packages/numpy/core/include
修改为:
ANACONDA_HOME := /home/lcd/anaconda3PYTHON_INCLUDE := $(ANACONDA_HOME)/include \ $(ANACONDA_HOME)/include/python3.6m \ $(ANACONDA_HOME)/lib/python3.6/site-packages/numpy/core/include
6)将# Uncomment to use Python 3 (default is Python 2)下面的
# PYTHON_LIBRARIES := boost_python3 python3.5m
修改为:
PYTHON_LIBRARIES := boost_python3 python3.6m
7)修改makefile文件
打开makefile文件,做如下修改:
将:
NVCCFLAGS +=-ccbin=$(CXX) -Xcompiler-fPIC $(COMMON_FLAGS)
替换为:
NVCCFLAGS += -D_FORCE_INLINES -ccbin=$(CXX) -Xcompiler -fPIC $(COMMON_FLAGS)
8)关于网上广为流传的修改GCC编译器支持版本的问题,由于最新版本的caffe已经支持到GCC 5了,二本系统是GCC 5.4 因此不用注释掉
/usr/local/cuda/include/host_config.h中的#error– unsupported GNU version! 这一项
9)安装依赖包
安装以依赖环境,经实测,如果想通过测试代码的话,以下都是必须安装的:
sudo apt-get install -y libhdf5-serial-devsudo apt-get install --no-install-recommends libboost-all-devsudo apt-get install libgflags-devsudo apt-get install libgoogle-glog-devsudo apt-get install liblmdb-dev sudo apt-get install protobuf-compilersudo apt-get install libprotobuf-devsudo apt-get install libatlas-base-devsudo apt-get install -y python-opencv libopencv*sudo apt-get install libleveldb-devsudo apt-get install libsnappy-devsudo apt-get install libboost-system-dev
10)安装caffe:
make all -j8 sudo make pycaffe -j8sudo make test -j8sudo make runtest -j8 #这个不通过也没关系
安装结果:
测试结果:
11)测试caffe
MNIST数据集测试
配置caffe完成后,可以利用MNIST数据集对caffe进行测试,过程如下:
a.将终端定位到Caffe根目录
cd ~/caffe
b.下载MNIST数据库并解压缩
./data/mnist/get_mnist.sh
c.将其转换成Lmdb数据库格式
./examples/mnist/create_mnist.sh
c.训练网络
./examples/mnist/train_lenet.sh
训练的时候可以看到损失与精度数值,如下图:
网上不少例子只是测试到上述训练集通过就结束了,但是发现python下引用caffe会出现问题,主要可能是pycaffe未安装或者python非原生版本所致,特别需要注意上述caffe上述修改配置文件中的步骤4)、步骤5)、步骤6).经上述过程安装caffe,在python下可以引用:
python引用caffe测试
总结下容易碰到的主要问题:
(1)由于cuda-repo-ubuntu1604-8-0-local_8.0.44-1_amd64.deb中已经包含了显卡驱动,如果重复安装会导致失败,因此直接安装cuda就好,不要在多此一举安装英伟达官网显卡驱动,若安装了官网驱动,可以采用如下步骤卸载:
1)关闭X,否则会卸载显卡驱动失败,按住ctrl+alt+F1计入tty模式,输入执行如下命令:
init 3
2)然后,执行如下两种方法之一卸载nvidia显卡驱动
sudo apt-get purge nvidia-* #通用做法sudo sh nvidia.run --uninstall #卸载官网版本sudo reboot
由于该命令会卸载所有英伟达驱动,所以在下载之后再安装cuda即可
查看显卡驱动信息命令
nvidia-smi
结果如下
以及如下查看驱动版本命令
cat /proc/driver/nvidia/version
结果如下:
(2)安装完ubuntu16.04系统,初次开机黑屏,进入不了登录页面,解决办法:
(a)临时策略:
开机,进入grub画面。选择第一项”ubuntu”,按”e”,进入编辑模式。同样找到”’quite splash”’ 并在后面加上对应的字”nomodeset”。
按 ”F10”启动系统。
(a)永久策略:
进去系统之后编辑”’/etc/default/grub”’ 这个档案(要管理者权限sudo)。
Ubuntu>打开终端机,输入sudo vi /etc/default/grub
找到这一行:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
修改为:
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash nomodeset”
存档,更新GRUB:
sudo update-grub
重新开机,即可见到期待的登录页面啦~
感谢各位提供参考资料的帮助
[1]http://blog.csdn.net/xuzhongxiong/article/details/52717285
[2]http://m.blog.csdn.net/tomheaven/article/details/77540128
[3]http://blog.csdn.net/lkj345/article/details/51280369
[4]http://blog.csdn.net/baidu_17806763/article/details/53689816
[5]http://blog.csdn.net/leijiezhang/article/details/53688157
- ubuntu16.04+GTX1080ti+Tensorflow 深度学习环境搭建
- 深度学习环境搭建 ubuntu16+GTX1080+CUDA8+Theano+Tensorflow+keras
- 深度学习(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow环境搭建
- 深度学习GPU环境搭建:ubuntu16.04+GTX1070+Cuda8.0+tensorflow build from source
- 深度学习(四十一)cuda8.0+ubuntu16.04+theano、caffe、tensorflow环境搭建
- Ubuntu16.04+CUDA+CUDNN+Anaconda+Tensorflow+keras深度学习环境搭建
- 深度学习服务器环境搭建详细版(Ubuntu16.04+CUDA8+Caffe+Anaconda+TensorFlow+共享)
- 深度学习环境搭建:linux下 Ubuntu16.04+cuda8.0+cudnn+anaconda+tensorflow并配置远程访问jupyter notebook
- 深度学习环境搭建:linux下 Ubuntu16.04+cuda8.0+cudnn+anaconda+tensorflow并配置远程访问jupyter notebook
- ubuntu16.04+cuda7.5+caffe深度学习环境搭建
- 深度学习tensorflow安装ubuntu16.04amd64
- 为深度学习环境安装开源深度学习框架Tensorflow(Ubuntu16.04+CUDA+cuDNN+Anaconda+Tensorflow)
- 深度学习框架tensorflow环境搭建
- 深度学习框架搭建 Ubuntu16.04+CUDA+Anaconda4.2+Python3.5+keras+TensorFlow gpu+cuDNN
- 深度学习 ubuntu16.04 theano tensorflow cuda cudnn 搭建gpu加速,亲测有效
- 深度学习实战 1-搭建Ubuntu16.04+Anaconda(内嵌Python3.6)+tensorflow
- 深度学习主机环境配置: Ubuntu16.04+GeForce GTX 1080+TensorFlow
- 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow
- Codeforces #441 Div2 F. High Cry
- mtk中GPIO操作实例一
- angularjs url传参以及如何取值
- shell编程中eval的原理和应用
- ABAP: Excel
- ubuntu16.04+GTX1080ti+Tensorflow 深度学习环境搭建
- Linux CFS中的进程调度
- java.sql.BatchUpdateException
- Spring Boot (八):配置Druid 连接池
- Linux 基础学习篇4
- Git工具将代码上传至GitHub界面或者远端服务器
- javascript知识积累
- Python 命令行参数
- 统一管理所有随机启动的应用程序