1. 程式人生 > 實用技巧 >tensorflow原始碼安裝過程記錄(ubuntu16、基於CPU)

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、例子測試

等待更新……