浅述TensorFlow开发环境搭建教程

安装平台
1
平台
目前tensorflow已支持mac、ubuntu和windows三个主流平台(64位平台),
2
gpu vs cpu
在安装时可以选择安装版本是否支持gpu,
3
二进制安装 vs 源码安装
同时,安装时可以考虑采用二进制安装,还是源码安装,
4
二进制安装
二进制安装可以有很多选择,
5
实际使用选择
手头上有两台电脑,
macbook pro (retina, 13-inch, early 2015)
处理器:2.7 ghz intel core i5
内存:8gb 1867mhz ddr3
显卡:intel iris graphics 6100 1536mb
攀升兄弟组装台式机
处理器:英特尔 core i7-6700 @3.40ghz 四核
主板:华硕 b150m-et m2 series
内存:8g(威刚ddr4 2801mhz)
硬盘:三星 mz7te256hmhp-00000(256gb/固态硬盘)
显卡:nvidia geforce gtx 950(2gb)
其中,
macbook pro采用基于anaconda的二进制安装方式(仅支持cpu)。anaconda是一个集成平台,包含大多数机器学习的常用工具,
numpy:科学运算包
scipy:在numpy的基础上构建,功能更加强大的科学计算包
matplotlib:类似matlab的绘图工具包
scikit-learn:经典机器学习工具包
pandas:数据处理和分析工具包(可用于数据读写、清洗、填充和分析等场景)
采用anaconda安装方案,一方面macbook pro的开发环境很容易搭建(几句命令即可完成),另一方面,基于anaconda的环境,也可以方便验证简单的机器学习算法。
对于台式机则采用了ubuntu+gpu+tensorflow源码编译的方式,进行tensorflow环境搭建,下面我们着重介绍下这种安装方式。
ubuntu16.04+tensorflow(gpu)源码编译
1
ubuntu系统安装
目前,大多数计算机,包括台式机已没有了光驱,同时,ubuntu的系统安装盘也不易获得。针对这种情况,我们可以采用u盘来进行安装。具体步骤可以参考:《ubuntu 16.04 u盘安装图文教程》
2
禁用uefi安全启动
对于华硕 b150m-et主板,uefi默认是开启的。而uefi开启会导致第三方驱动安装失败(如显卡驱动,这是源码编译安装gpu支持的tensorflow,遇到的第一个坑)。具体步骤可以参考:《华硕主板禁用uefi安全启动》
3
安装nvidia驱动
3.1安装方式
英伟达的显卡驱动有三种方式:
apt-get+系统设置安装
安装cuda时顺便安装
官方下载最新驱动并安装
参考:《ubuntu 16.04安装nvidia驱动》
3.2安装步骤
本文采用第一种方案:
sudo apt-get install nvidia-367
然后进入:system settings-》software&updates-》additional drivers-》,选择nvidia corporation[using nvidia binary driver]
3.3验证测试
nvidia-smi #若列出gpu的信息列表,表示驱动安装成功
nvidia-settings #若弹出设置对话框,亦表示驱动安装成功
4
安装cuda
cuda(compute unified device architecture),是显卡厂商nvidia推出的运算平台。可以理解成基于gpu并行计算的应用层接口。
cuda8.0下载地址
安装cuda的时候,需要关闭x服务。
sudo service lightdm stop
这时,系统会出现黑屏。此时,同时按住[ctrl + alt + f1]三个键进入命令行模式(如果不能进入命令行模式,可以参考《alt+ctrl+f1黑屏 ,解决方案》),
然后输入[账号],[密码]后登陆。
在cuda的下载目录运行,
sudo sh cuda_xxx.run
要注意的是,在询问是否安装“nvidia accelerated graphics driver”可以选择“是”,
install nvidia accelerated graphics driver for linux-x86_64 361.62?
(y)es/(n)o/(q)uit: y
但在后续出现询问是否安装“x configuration”时,则需要选择“否”,否则之前安装的显卡驱动就白安装了。
cuda安装结束后,则可以恢复到图形界面模式,
sudo service lightdm start
到这里,cuda的安装还不算结束,需要将cuda相关的内容添加到系统环境变量中。安装过程中summary提示,
please make sure that
– path includes /usr/local/cuda-8.0/bin
– ld_library_path includes /usr/local/cuda-8.0/lib64, or, add /usr/local/cuda-8.0/lib64 to /etc/ld.so.conf and run ldconfig as root
cuda相关的环境变量可以放在~/.bashrc中,
vi ~/.bash_profile
在其中,增加如下两行,
export ld_library_path=“$ld_library_path:/usr/local/cuda- 8.0/lib64:/usr/local/cuda-8.0/extras/cupti/lib64”
export cuda_home=/usr/local/cuda-8.0
5
安装cudnn
cudnn(cuda deep neural network)相比标准的cuda,它在一些常用的神经网络操作上进行了性能的优化,比如卷积,pooling,归一化,以及激活层等等。
下载地址:https://developer.nvidia.com/rdp/cudnn-download
下载cudnn后进行解压,并执行如下命令:
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp -d cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn*
6
gcc降低版本
网上说cuda8.0不支持5.0以上的编译器,因此需要降级,把编译器版本降到4.9,但我看了cuda8.0的安装手册《nvidia cuda installation guide for linux》,并没有发现这一条,《nvidia cuda installation guide for linux》
在实际使用中,还是将gcc做了降级(ps,在安装时可以先不降级,看看是否会出问题),gcc降级方法如下,
sudo apt-get install g++-4.9
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++
7
安装bazel
bazel是一个构建工具,即一个可以运行编译和测试来组装软件的工具,跟make、ant、gradle、buck、pants和maven一样。tensorflow的编译是基于bazel完成的。
bazel官方地址:https://docs.bazel.build/versions/master/install.html
7.1安装准备
7.2安装
bazel可以通过apt-get和下载安装两种方式完成,本文中,采用下载安装的方式实现,
chmod +x path_to_install.sh
。/path_to_install.sh --user
8
第三方库安装
sudo apt-get install python-numpy swig python-dev python-wheel
sudo apt-get install libcupti-dev
sudo apt-get install git
9
tensorflow源码编译
9.1下载
git clone https://github.com/tensorflow/tensorflow
9.2编译配置
cd ~/tensorflow
。/configure
9.3编译安装
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
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
sudo pip install /tmp/tensorflow_pkg/tensorflow-0.10.0-cp2-none-any.whl
至此,便完成了支持gpu的tensorflow源码编译。
10
环境测试
可以通过如下代码进行测试,
# python
import tensorflow as tf
hello = tf.constant(‘hello, tensorflow!’)
sess = tf.session()
print(sess.run(hello))
正常测试输出,
hello, tensorflow!


iPhone8什么时候上市:iPhone8被坑惨延后量产果粉泪奔,华为荣耀9强势来袭抢风头?
盘点那些比Apple Watch更加先进的可穿戴设备
启扬方案:智能硬件终端打造智慧养老场景
空客天津总装公司向尼泊尔喜马拉雅航空公司成功交付了一架A319飞机
采用AT89S52单片机与AD7755电能计量芯片设计多费率单相电能表
浅述TensorFlow开发环境搭建教程
关于40G QSFP+ BiDi SR4光模块的详细介绍
高房价重压之下最艰难的并非华为
TL494的PWM直流伺服控制系统
CCFL电子变压器电路分析
人工智能助力寻找失踪人口 但仍有难点急需解决
兆易创新为嵌入式产品提供丰富的存储解决方案
高分五号卫星成功发射 助力建设美丽中国
为什么叫源极跟随器 源极跟随器的作用和特点
鸿蒙公测报名入口查询 鸿蒙系统公测申请入口
人形机器人未来会成为家庭场景中非常重要的角色
德州仪器推出12位500至900 MSPS模数转换器系列
FTTH是三网融合的必备选择
报告:全球AR市场2021年达134亿美元,亚太地区占最大份额
联想迷你单手键盘露面