昨天晚上和今天上午研究的成果

0x00.前言

曾经大二有段时间,自己电脑安了四系统——Win 10Ubuntu 16.04Mac OS XPhoenixOS……但是那时候因为还没买现在用的2T硬盘,所以空间不够最终删了Ubuntu 16.04分区,剩余三系统一直用到了现在。然而,虽然现在上了2T硬盘但是空间又被我用满了,所以就不折腾分区了(现在的整数分区已经够完美了),直接在VMware Workstation里搞得了……

0x01.安装 Ubuntu 17.04 虚拟机

下载ISO镜像,VM中稍后选择重装系统,配置,光驱指向下载的ISO,开机,按照提示安装完成即可。
配置:CPU4*2RAM4GBSCSI20GBNAT
系统内的分配就不说了(原因是我忘了……)

0x02.环境配置

1. 安装Python 27

sudo apt-get install python-pip python-dev python-virtualenv

2. 更改pip默认源

默认源服务器在国外,国内下载较慢,有必要换为国内阿里源。

对于Ubuntu来说,在主目录的.pip文件夹中创建如下内容的pip.conf即可:

1
2
3
4
[global]  
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

3. 升级pip

1
pip install --upgrade pip

TensorFlow有两个版本:CPU版本和GPU版本。
虚拟机里想什么GPU呢,滑稽

4. 创建虚拟环境目录

sudo mkdir ~/env

5. 利用VirtualEnv命令创建位于~/env/tensorflow的虚拟环境

virtualenv --system-site-packages ~/env/tensorflow

6. 激活方法(此时变为(tensorflow)$

source ~/env/tensorflow/bin/activate

7. 创建一个激活该虚拟环境的快捷命令

sudo printf '\nalias tensorflow="source ~/env/tensorflow/bin/activate"' >> ~/.bashrc
注:重启终端生效

8. 关闭方法

deactivate

0x03.pip安装TensorFlow-CPU

pip install --upgrade tensorflow
或者:
pip install --upgrade <$url_to_binary.whl>

0x04.测试

这个提示,强迫症患者要受不了了……
这也是为什么本文的标题是编译

0x05.再一次的环境配置

1. Install Bazel

采用官方给出两种方法的第一种,也是推荐的那种

Using Bazel custom APT repository (recommended)

  1. Install JDK 8
    Install JDK 8 by using:
    sudo apt-get install openjdk-8-jdk
    On Ubuntu 14.04 LTS you’ll have to use a PPA:
    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update && sudo apt-get install oracle-java8-installer
  2. Add Bazel distribution URI as a package source (one time setup)
    echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
    curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
    If you want to install the testing version of Bazel, replace stable with testing.
  3. Install and update Bazel
    sudo apt-get update && sudo apt-get install bazel
    Once installed, you can upgrade to a newer version of Bazel with:
    sudo apt-get upgrade bazel

2. Install TensorFlow Python dependencies

sudo apt-get install python-numpy python-dev python-pip python-wheel

3. Configure the installation

./configure
这里给出我的选择:


强迫症的我,也尽量选N(因为多不一定好)……

0x06.编译安装

bazel build --config=opt //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/< 自行替换 >.whl(.whl 文件的实际名字与使用的平台有关)

0x07.后记

编译报错:gcc: internal compiler error: Killed (program cc1plus)
查找原因,swap分区满了……不折腾了……

0x08.参考

https://www.tensorflow.org/install/install_sources#ConfigureInstallation
http://blog.csdn.net/lwplwf/article/details/54881836
http://blog.csdn.net/banana1006034246/article/details/70789307
http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html
http://blog.csdn.net/banana1006034246/article/details/70789307