一、操作系统安装

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环境搭建指南的更多相关文章

  1. Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda

    Ubuntu16.04深度学习基本环境搭建,tensorflow , keras , pytorch , cuda Ubuntu16.04安装 参考https://blog.csdn.net/flyy ...

  2. Ubuntu16.04+hadoop2.7.3环境搭建

    转载请注明源出处:http://www.cnblogs.com/lighten/p/6106891.html 最近开始学习大数据相关的知识,最著名的就是开源的hadoop平台了.这里记录一下目前最新版 ...

  3. ubuntu16.04 Golang语言开发环境搭建

    golang即go语言是跨平台的语言,适用于windows 和linux平台,下面介绍linux平台下ubuntu16.04系统下的开发环境搭建过程. 一.安装开发必备环境 执行下面命令分别安装git ...

  4. Ubuntu16.04下的NetCore环境搭建(附录含Ubuntu 18.04 安装 NetCore2.1)

    跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux VSCode安装:http://www.cnblogs.com/dunitia ...

  5. Ubuntu16.04下伪分布式环境搭建之hadoop、jdk、Hbase、phoenix的安装与配置

    一.准备工作 安装包链接: https://pan.baidu.com/s/1i6oNmOd 密码: i6nc 环境准备 修改hostname: $ sudo vi /etc/hostname why ...

  6. Ubuntu16.04.3深度学习环境搭建

    依赖 pip3 install pillow 安装numpy相关sudo apt-get install python-numpy python-scipy python-matplotlib ipy ...

  7. Ubuntu16.04下的NetCore环境搭建

    跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux VSCode安装:http://www.cnblogs.com/dunitia ...

  8. 阿里云学生服务器搭建网站-Ubuntu16.04安装php开发环境

    阿里云学生服务器搭建网站(2)-Ubuntu16.04安装php开发环境  优秀博文:https://www.linuxidc.com/Linux/2016-10/136327.htm https:/ ...

  9. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

随机推荐

  1. jqgrid的scroll参数的使用

    scroll参数会影响addJSONData(data)方法的使用 存在scroll参数,addJSONData方法会往表格中追加数据: 不存在scroll参数时,addJSONData方法会覆盖表格 ...

  2. kafka安装使用

    版本:kafka_2.11-0.10.1.0  (之前安装2.10-0.10.0.0,一直出问题) 安装 Springboot结合Kafka的使用 安装 下载并解压代码 wget http://mir ...

  3. js外观模式

    外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 外观模式类图: 然而对于外观模式而言,是没有一个一般化的类图描述,下面演示一个外观模式的 ...

  4. (四) tensorflow笔记:常用函数说明

    tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 ...

  5. 代码题(45)— 下一个排列、第k个排列

    1.31. 下一个排列 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只 ...

  6. Swift中如何使用 #if DEBUG

    Swift暂时还不支持大多数的预处理宏操作,但是可以支持“#if/#else/#endif”语句. 下面进行简单的设置使 #if DEBUG 有效,更详细的内容见:http://stackoverfl ...

  7. NSLog Release

    //将下面的代码插入到pch文件中即可 #ifndef __OPTIMIZE__ # define NSLog(…) NSLog(__VA_ARGS__) #else # define NSLog(… ...

  8. WP追加字符串到文件

    #if DEBUG const string logfile = "demo.log"; try { using (var sw = new System.IO.StreamWri ...

  9. JVM 知识点总览 - 高级 Java 工程师面试必备

    在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后 ...

  10. application.yml配置log日志

    #日志文件的配置logging: pattern: console: "%d - %msg%n" file: /var/log/sell.log 注解@Slf4j