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 倉庫(參考
在終端輸入以下程式碼:
$ 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、例子測試
等待更新……