Ubuntu16.04+TensorFlow r1.12环境搭建指南
一、操作系统安装
OS版本:Ubuntu 16.04 (ubuntu-16.04.5-server-amd64.iso)
CPU:4Core以上
内存:4GB以上
磁盘空间:80G以上
二、基础环境准备
1、为了提高apt安装速度,更新apt为国内阿里云源
(1)复制原文件备份 
sudo cp /etc/apt/source.list /etc/apt/source.list.bak
(2)编辑源列表文件
sudo
vim /etc/apt/source.list
(3)将原来的列表删除,添加如下内容
deb
http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe
multiverse 
deb http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted universe
multiverse 
deb http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted universe
multiverse 
deb http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted universe
multiverse 
deb http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted universe
multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ vivid main restricted universe
multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-security main restricted
universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-updates main restricted
universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-proposed main restricted
universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ vivid-backports main restricted
universe multiverse
(4)运行sudo apt-get update
2、为了提高pip安装速度,更新pip为国内阿里云源
mkdir
~/.pip
vi
~/.pip/pip.conf
编辑pip.conf文件:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host = mirrors.aliyun.com
3、安装gnome桌面(显示视频窗口需要)
sudo
apt install ubuntu-gnome-desktop
4、安装git
sudo
apt install git
5、加配SWAP到4GB以上(避免编译过程中分配内存失败,如果已经有超过4GB的swap空间,或者安装操作系统过程中已配置较大swap,可跳过这步)
sudo
dd if=/dev/zero of=/swap bs=4096 count=1M
sudo
mkswap /swap
sudo
swapon /swap
sudo
echo "/swap swap  swap  sw 0   0"  >> /etc/fstab
三、安装编译工具Bazel
1、安装依赖包
sudo
apt-get install pkg-config zip g++ zlib1g-dev unzip
2、下载Bazel安装包
wget
https://github.com/bazelbuild/bazel/releases/download/0.18.1/bazel-0.18.1-installer-linux-x86_64.sh
3、安装Bazel
chmod
+x bazel-0.18.1-installer-linux-x86_64.sh
./
bazel-0.18.1-installer-linux-x86_64.sh --user
4、设置环境变量
sudo
vi ~/.bashrc
在文件最后添加:
export
PATH=$PATH":~/bin"
source
~/.bashrc
四、安装TensorFlowflow
1、安装virtualenv、virtualenvwrapper
pip
install --user virtualenv
pip
install --user virtualenvwrapper
mkdir
-p ~/Envs
sudo
vi ~/.bashrc
在文件最后添加:
export
WORKON_HOME=~/Envs
source
/usr/local/bin/virtualenvwrapper.sh
source
~/.bashrc
创建虚拟环境:mkvirtualenv tfenv
进入虚拟环境:workon tfenv
退出虚拟环境:deactivate
2、安装依赖包:
(1)准备Python依赖
pip
install -U six numpy wheel mock portpicker scipy futures scikit-learn grpcio
grpcio-tools enum34
pip
install -U keras_applications==1.0.5 --no-deps
pip
install -U keras_preprocessing==1.0.3 --no-deps
pip
install -U --upgrade setuptools
easy_install
distribute
pip
install -U --upgrade distribute
修正虚拟环境中的pkg_resources包
workon
tfenv
cdsitepackages
vi
pkg_resources/__init__.py
找到:from . import py31compat
替换为:from pkg_resources import py31compat
rm
-f pkg_resources/__init__.pyc
(2)准备go环境
移除老版本:sudo apt remove golang-go
安装go1.10
sudo
add-apt-repository ppa:gophers/archive
sudo
apt-get update
sudo
apt-get install golang-1.10-go
设置go环境变量
sudo
vi ~/.bashrc
在文件最后添加:
找到export PATH=$PATH":~/bin"
替换为:export PATH="$PATH:~/bin:/usr/lib/go-1.10/bin"
source
~/.bashrc
3、准备TensorFlow源码
git
clone https://github.com/tensorflow/tensorflow.git
cd
tensorflow
git
checkout r1.12  # r1.9, r1.10, etc.
4、编译前测试
bazel
test -c opt -- //tensorflow/... -//tensorflow/compiler/...
-//tensorflow/contrib/lite/...
如果告警提示支持avx、avx2、fma、sse4.1、sse4.2,则使用如下命令:
bazel
test -c opt --copt=-mavx --copt=-mavx2 --copt=-mfma  --copt=-msse4.1 --copt=-msse4.2
--copt=-mfpmath=both  -- //tensorflow/...
-//tensorflow/compiler/... -//tensorflow/contrib/lite/...
5、编译配置
在tensorflow源码根目录运行:
./configure
配置如下:

6、Build the pip package
bazel
build --config=opt //tensorflow/tools/pip_package:build_pip_package
7、Build the package
./bazel-bin/tensorflow/tools/pip_package/build_pip_package
/tmp/tensorflow_pkg
8、Install the package
pip
install /tmp/tensorflow_pkg/tensorflow-version-tags.whl
参考:
https://www.tensorflow.org/install/source?hl=zh-cn
https://docs.bazel.build/versions/master/install-ubuntu.html
https://github.com/golang/go/wiki/Ubuntu
Ubuntu16.04+TensorFlow r1.12环境搭建指南的更多相关文章
- Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda
		Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda Ubuntu16.04安装 参考https://blog.csdn.net/flyy ... 
- Ubuntu16.04+hadoop2.7.3环境搭建
		转载请注明源出处:http://www.cnblogs.com/lighten/p/6106891.html 最近开始学习大数据相关的知识,最著名的就是开源的hadoop平台了.这里记录一下目前最新版 ... 
- ubuntu16.04  Golang语言开发环境搭建
		golang即go语言是跨平台的语言,适用于windows 和linux平台,下面介绍linux平台下ubuntu16.04系统下的开发环境搭建过程. 一.安装开发必备环境 执行下面命令分别安装git ... 
- Ubuntu16.04下的NetCore环境搭建(附录含Ubuntu 18.04 安装 NetCore2.1)
		跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux VSCode安装:http://www.cnblogs.com/dunitia ... 
- Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置
		一.准备工作 安装包链接: https://pan.baidu.com/s/1i6oNmOd 密码: i6nc 环境准备 修改hostname: $ sudo vi /etc/hostname why ... 
- Ubuntu16.04.3深度学习环境搭建
		依赖 pip3 install pillow 安装numpy相关sudo apt-get install python-numpy python-scipy python-matplotlib ipy ... 
- Ubuntu16.04下的NetCore环境搭建
		跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux VSCode安装:http://www.cnblogs.com/dunitia ... 
- 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境
		阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境 优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ... 
- Windows下C,C++开发环境搭建指南
		Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ... 
随机推荐
- MyEclipse Could not create the view: An unexpected exception was thrown解决方案
			问题:电脑突然断电,myeclipse非正常关闭,“Package Explorer”非正常显示,出现错误“Could not create the view: An unexpected excep ... 
- 3.mysql多表
			这篇主要总结mysql的建表规则. 01.多表_建表的原则: 需求:创建一个表可以存储学员信息:学员编号,姓名,性别,年龄,科目 1).原则: 1.保证表中的一列,只记 ... 
- MSER最稳定极值区域源码分析
			最稳定极值区域介绍 如把灰度图看成高低起伏的地形图,其中灰度值看成海平面高度的话,MSER的作用就是在灰度图中找到符合条件的坑洼.条件为坑的最小高度,坑的大小,坑的倾斜程度,坑中如果已有小坑时大坑与小 ... 
- ML 线性回归Linear Regression
			线性回归 Linear Regression MOOC机器学习课程学习笔记 1 单变量线性回归Linear Regression with One Variable 1.1 模型表达Model Rep ... 
- QT QStringListModel 示例代码
			1. QStringListModel , 实现 插入 删除 编辑 list,支持鼠标双击编辑. 2. dialog.h #ifndef DIALOG_H #define DIALOG_H #inc ... 
- QT 利用ListWidget 和 StackedLayout 配合实现 分页 选项
			1. 如图, 左边为listwidget,右边为StackedLayout, 通过listwidget的不同选项,可以使右边的不同页显示出来. 2. dialog.h #ifndef DIALOG_H ... 
- aodh M版本新特性 - queue between alarm evaluator and alarm notifier
			之前alarm evaluator service and alarm notifier services之间的通信采用RPC的方式,消耗较大,增加work queue的方式可以获得更好的性能, + ... 
- spring boot: java @interface注解
			@interface是用来自定义JAVA Annotation的语法,@interface是用来自定义注释类型的 注释类型的定义跟定义一个接口相似,我们需要在 interface这个关键字前面加上一个 ... 
- java:Writer/Reader字符流操作
			字符流的操作: 字节流的操作,是直接映射文件的:file->文件 字符流的操作是需要存在缓存区的:file->缓冲区->文件 (中文处理,一般用字符流) public static ... 
- PowerDesigner 学习
			1. 创建主键,不能为空,递增列,唯一约束(key 通过唯一索引) 数据库-->根据数据库的改动更新model 或者 根据修改后的model (比如新添加的字段)产生新sql代码 2.powe ... 
