歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Ubuntu下如何安裝TensorFlow

Ubuntu下如何安裝TensorFlow

日期:2017/3/1 11:45:38   编辑:關於Linux

1.引言

TensorFlow = Tensor(向量)+Flow(流)=”張量在網絡圖中流動”!

官方提供了5種安裝tensorflow的方法:

Pip install: Install TensorFlow on your machine, possibly upgrading previously installed Python packages. May impact existing Python programs on your machine. Virtualenv install: Install TensorFlow in its own directory, not impacting any existing Python programs on your machine. Anaconda install: Install TensorFlow in its own environment for those running the Anaconda Python distribution. Does not impact existing Python programs on your machine. Docker install: Run TensorFlow in a Docker container isolated from all other programs on your machine. Installing from sources: Install TensorFlow by building a pip wheel that you then install using pip.

幾點說明:
1. 由於在使用Tensorflow時,可以直接python調用,所以,這裡決定使用python學習tensorflow
2. 使用python,jupyter notebook是一個不可或缺的工具,所以,本文還將記錄如何在ubuntu下安裝jupyter
3. 這裡主要安裝python2.7版本的相關組件

2. 基於Anaconda的tensorflow安裝

2.1 下載linux版本的Anaconda安裝包

這裡寫圖片描述
下載地址:https://www.continuum.io/downloads
這裡選擇64位linux的Python 2.7版本
點擊下載,下載完成後,得到Anaconda2-4.0.0-Linux-x86_64.sh安裝文件

2.2 安裝Anaconda

打開terminal,輸入如下命令,然後回車
bash /home/tingting/Downloads/Anaconda2-4.0.0-Linux-x86_64.sh

這裡的/home/tingting/Downloads/是存放Anaconda2-4.0.0-Linux-x86_64.sh的路徑

閱讀license,一步步回車閱讀(出現more時通過回車往下看)
這裡寫圖片描述
這裡寫圖片描述

輸入yes,表示接受license
這裡寫圖片描述

設置安裝路徑,這裡使用默認安裝路徑,直接輸入回車即可
這裡寫圖片描述

開始自動安裝過程
這裡寫圖片描述

確認是否將Anaconda的安裝路徑添加到環境變量中,輸入yes
這裡寫圖片描述
關於這裡一定要注意:

如果在安裝過程中,該步沒有選擇yes,那麼Anaconda的安裝路徑不會被添加到環境變量中,安裝結束後會出現如下信息:<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCgk8cD5EbyB5b3Ugd2lzaCB0aGUgaW5zdGFsbGVyIHRvIHByZXBlbmQgdGhlIEFuYWNvbmRhMiBpbnN0YWxsIGxvY2F0aW9uPGJyIC8+DQoJdG8gUEFUSCBpbiB5b3VyIC9ob21lL3Rpbmd0aW5nLy5iYXNocmMgPyBbeWVz"no]
[no] >>>
You may wish to edit your .bashrc or prepend the Anaconda2 install location:
$ export PATH=/home/tingting/anaconda2/bin:$PATH
Thank you for installing Anaconda2!

當時也沒有注意這個信息,沒有管,結果安裝完anaconda後,發現根本不能使用,才注意到這條信息,原來,Anaconda的bin路徑並沒有被添加到PAHT環境變量中,所以需要在命令行中輸入如下命令:
export PATH=/home/tingting/anaconda2/bin:$PATH
即將anaconda的bin路徑添加到環境變量PATH中

安裝完成
這裡寫圖片描述
這裡可以看到,notebooks和一些python包都被成功安裝了,但對於環境變量的更改,必須要新打開一個terminal才能生效,否則,相關的指令都不會被認識
這裡寫圖片描述

打開新的terminal,輸入Jupyter notebook,發現jupyter被成功安裝了
這裡寫圖片描述

打開浏覽器:http://localhost:8888/tree(可以看到安裝了python 2的kernel)
這裡寫圖片描述

3. 利用anaconda安裝tensorflow

3.1 建立一個 conda 計算環境

Create a conda environment called tensorflow:

conda create -n tensorflow python=2.7

這裡寫圖片描述

3.2 激活環境,使用 conda 安裝 TensorFlow

Activate the environment and use pip to install TensorFlow inside it.

source activate tensorflow

這裡寫圖片描述

3.3 安裝tensorflow

安裝

pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0rc0-cp27-none-linux_x86_64.whl

這裡寫圖片描述

之前在虛擬機中的ubutnu下安裝tensorflow,就在這一步折騰了2天,就是不成功,每次都是timeout等各種問題,這次在雙系統的機器上,瞬間就裝好了,實在不知道之前的失敗是因為虛擬機還是網速的問題

安裝成功後,每次使用 TensorFlow 的時候需要激活 conda 環境,可以看到,在正常情況下,是anaconda的bin路徑在環境變量中,但激活conda-tensorflow環境後,環境變量中存儲的是tensorflow下的bin路徑
這裡寫圖片描述

測試tensorflow是否安裝成功
(1) 激活conda環境
(2)進入python
(3)import tensorflow
整個過程比較順利,tensorflow被成功import了
這裡寫圖片描述

3.4 如何在jupyter中使用tensorflow

(1) 出現了問題
安裝如上方法安裝了jupyter和tensorflow,結果,利用jupyter無法使用tensorflow
這裡寫圖片描述
也沒有查到特別有針對性的解決這個問題的資料,好像是因為jupyter的安裝路徑和tensorflow的路徑之間的問題,具體的現在還不是很清楚

(2)如何解決?
應該是在conda的tensorflow環境下沒有jupyter,它無法使用之前anaconda安裝的jupyter,那麼,簡單粗暴的方法就是在當前的conda-tensorflow環境下,再安裝一次jupyter:

打開terminal 激活conda tensorflow環境:source activate tensorflow 安裝notebook:conda install ipython 安裝jupyter:conda install jupyter 安裝完成,仍在conda tensorflow的環境下,輸入jupyter notebook,打開http://localhost:8889/tree import tensorflow,發現tensorflow可以使用了

參考:http://stackoverflow.com/questions/35771285/using-tensorflow-through-jupyter-python-3

(3)兩個jupyter

在正常的ternimal中打開的是之前在安裝anacodna時安裝的jupyter,在正常的terminal下 查看jupyter的安裝路徑
which ipyhon
這裡寫圖片描述
它在anaconda的路徑下的bin文件夾中 在conda tensorflow環境下打開的jupyter是在conda tensorflow環境下新安裝的tensorflow,與上面的jupyter不同
它在conda的env下的tensorflow的bin文件夾下 從下圖可以想起地看到,兩個jupyter的安裝路徑完成不同
這裡寫圖片描述 後續如果需要在使用tensorflow時使用其他的庫,也一定要在對應的conda環境下安裝,否則指定的庫找不到。

(4) 缺少模塊及安裝
- ImportError: no module named Image, ImportError: no module named PIL
解決:conda install pillow

4. 總結

(1) 下載安裝anaconda,與本文的第2部分同樣目的,只不過通過命令行實現

#安裝anaconda,從https://www.continuum.io下載
mkdir anaconda2  #在個人目錄下創建Aanconda目錄
cd anaconda2  #進入目錄
wget http://repo.continuum.io/archive/Anaconda2-4.0.0-Linux-x86.sh  #下載anaconda的安裝包,利用wget工具
chmod +x Anaconda3-2.5.0-Linux-x86_64.sh  #更改權限(增加可執行權限),使該文件可被執行,
./Anaconda2-4.0.0-Linux-x86.sh  #執行安裝文件,或者使用bash Anaconda2-4.0.0-Linux-x86.sh 

(2) 在conda下創建環境,之後的所以操作都部署在該環境下

conda create -n tensorflow python=2.7 #創建tensorflow環境
activate conda tensorflow  #激活tensorflow環境
conda install ipython  #安裝notebook
conda install jupyter  #安裝jupyter
jupyter notebook #啟動jupyter

6.利用Docker安裝tensorflow

利用這種方法可以實現在windows上使用tensorflow!具體步驟如下:

6.1 安裝docker

在windows7下安裝docekr,具體方法見之前的博文:Docker學習系列(一):windows下安裝docker

6.2 創建tensorflow的image

安裝好docker後,接下來,就可以創建包含tensorflow的image了,有兩種方案
(1) 從dockerhub上pull別人的image
例如:

docker pull tensorflow/tensorflow
docker pull xblaster/tensorflow-jupyter
docker pull satoshun/tensorflow-notebook

(2)自己書寫Dockerfile,然後,在本機編譯dockerfile,生成image,對於這種方法,本人還不會,以後有待研究


7.安裝過程中的一些小問題記錄

注1:安裝過程中各種問題
安裝過程中,好像是不小心更改了環境變量,導致所有命令都不能使用,那麼,可以使用如下命令export PATH=/usr/bin:/bin
注2:在安裝過程中發現,例如如上命令總是無法安裝tensorflow,會出現網絡連接錯誤的問題,試了好多遍都不行,不知道是不是因為在虛擬機中latern使用不好的問題,所以,最後,只能通過如下方式
(1)在本機下載tensorflow-0.8.0-cp27-none-linux_x86_64.whl
地址為:https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
(2)將下載的tensorflow-0.8.0-cp27-none-linux_x86_64.whl文件放置在共享文件夾中
(3)在虛擬機的ubuntu的terminal中,cd到放置tensorflow-0.8.0-cp27-none-linux_x86_64.whl的路徑(即/home/share/),使用如下命令安裝tensorflow(即相當於離線安裝了)

sudo pip install --upgrade tensorflow-0.8.0-cp27-none-linux_x86_64.whl

注3:怎麼向某個文件中填寫內容?舉例:如何向sources.list文件插入語句sudo vim /etc/apt/sources.list
a #進入插入模式
:wq #保存並退出

Copyright © Linux教程網 All Rights Reserved