tensorflow源码安装过程记录(ubuntu16、基于CPU)
作者的话:这是一个安装记录,还不敢称为教程。之前安装tensorflow饶了很多弯子,所以在结合了很多教程之后,慢慢试错和结合自己理解猜测才安装成功。因此可能一些术语或者步骤原因解释不清或者不正确,希望多多包涵以及欢迎指正。
ubuntu16.04.1 LTS \ win8.1 双系统
4G内存、[GeForce 610M] 、cpu i7
ps:tensorflow官网提示,TensorFlow 的 GPU 特性只支持 NVidia Compute Capability >= 3.5 的显卡,因此之前花了很多力气没开启GPU可能是显卡的关系
1、下载tensorflow源码
克隆 TensorFlow 仓库(参考http://wiki.jikexueyuan.com/project/tensorflow-zh/get_started/os_setup.html)
在终端输入以下代码:
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
- 1
–recurse-submodules 参数是必须得, 用于获取 TesorFlow 依赖的 protobuf 库.
没有安装git,会要求安装git,按照提示安装即可。
sudo apt install git
- 1
等待自动跳出一系列信息后,输入y,继续执行
安装好后,重新输入
$ git clone --recurse-submodules https://github.com/tensorflow/tensorflow
- 1
(这里可能受到网速影响,慢的时候可能断开,重新输入命令即可)
下载好后,有tensorflow文件
2、安装Bazel
(参考https://bazel.build/versions/master/docs/install.html#1-install-jdk-8-1)
Install Bazel on Ubuntu using one of the following methods:
Using our custom APT repository
Using binary installer
Compiling Bazel from source
- 1
- 2
- 3
1)传统的API库安装
安装JDK8,在终端一次输入以下命令:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
- 1
- 2
- 3
以下为实际操作:
sudo add-apt-repository ppa:webupd8team/java
- 1
中间按enter继续
sudo apt-get update
- 1
sudo apt-get install oracle-java8-installer
- 1
中间按enter继续
之后下载一些内容,受网速影响可能会很慢
接下去需要输入以下两个命令:
$ 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 -
- 1
- 2
开始安装bazel:
$ sudo apt-get update && sudo apt-get install bazel
- 1
$ sudo apt-get upgrade bazel
- 1
enter继续
(等待下载,若网速太慢,可以关掉终端,重新输入指令)
完成后,在终端输入bazel
2)二进制程序安装
进入这个网址https://github.com/bazelbuild/bazel/releases
点击下载
之后步骤等待更新…………………………
3、安装其他依赖
终端输入python,确认版本
//For Python 2.7:
sudo apt-get install python-numpy swig python-dev python-wheel//For Python 3.x:
$ sudo apt-get install python3-numpy swig python3-dev python3-wheel
输入y继续
4、配置及安装tensorflow
这部分是配置tensorflow,然后再生成whl安装tensorflow。
个人理解:直接pip安装就是安装官网提供的已经配置好的whl包,而源码安装就是利用bazel编译后,生成whl包,再进行安装。
(如果是需要开启GPU,在这里需要配置cuda和cudnn。因为电脑显卡计算能力不够不能开启GPU,所以之前没有安装cuda和cudnn)
1)配置
终端输入以下命令:
cd tensorflow
./configure
- 1
- 2
按照以上配置,暂时无error
在配置阶段需要等待一段时间,在结束后仍旧tensorflow目录下继续操作。
2)安装
创建 pip 包并安装(以下是官网提供的代码)
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
pip install /tmp/tensorflow_pkg/tensorflow-0.5.0-cp27-none-linux_x86_64.whl
(参考http://www.tensorfly.cn/tfdoc/get_started/os_setup.html)
以下为实际操作:
在tensorflow目录下,输入以下三个命令:
bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
- 1
这一阶段要等很久,有可能电脑也会卡住
bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
- 1
然后在tmp/tensorflow_pkg目录下找到(whl包的名字可能不一样,和电脑属性或者当前tensorflow版本之类的有关)
将其复制到主文件夹,或者存一下方便以后安装
(这一步因人而异,如果不复制pip安装时就要带着路径,如:
pip install /tmp/tensorflow_pkg/tensorflow-0.5.0-cp27-none-linux_x86_64.whl)
这里把whl包复制到了主文件夹,然后执行:
sudo pip install tensorflow-0.12.1-cp27-cp27mu-linux_x86_64.whl
- 1
等待安装完成后,输入以下命令,不报错即安装成功
5、例子测试
等待更新……