Ubuntu環境下Anaconda安裝TensorFlow並配置Jupyter Notebook遠端存取

來源:互聯網
上載者:User

Ubuntu環境下Anaconda安裝TensorFlow並配置Jupyter Notebook遠端存取

  本文主要講解在Ubuntu系統中,如何在Anaconda下安裝TensorFlow以及配置Jupyter Notebook遠端存取的過程。

  在官方文檔中提到,TensorFlow的安裝主要有以下五種形式:

  1. Pip安裝:這種安裝形式類似於安裝其他的Python安裝包。會影響到機器上當前的Python環境,可能會與已安裝的某些版本相衝突。
  2. Virtualenv安裝:將TensorFlow安裝在指定路徑下,與當前的Python環境相隔離。
  3. Anaconda安裝:以Anaconda為基礎安裝TensorFlow,和上面的形式相同,也與當前Python環境相隔離。在使用TensorFlow時不影響其他Python應用的使用。
  4. Docker安裝:在Docker中隔離安裝TensorFlow
  5. 從源碼安裝:編譯源碼產生TensorFlow的安裝whell檔案。

      在安裝過程中,嘗試了Pip安裝和Anaconda安裝兩種形式。其中Pip安裝過程比較簡單,按照官方文檔中的步驟進行即可。接下來主要描述的是Anaconda安裝的過程。

一、Anaconda和TensorFlow環境1、Anaconda安裝

  首先去本文最後的Anaconda官方下載Anaconda安裝檔案Anaconda2-4.2.0-Linux-x86_64.sh
  下載完成後上傳到伺服器中,在檔案路徑下執行如下命令:
bash Anaconda2-4.2.0-Linux-x86_64.sh

  接下來按照提示設定一些安裝路徑等參數,Anaconda安裝完成後,會安裝很多Python中常用的package,比如ipython和jupyter等。

2、TensorFlow環境配置和切換

  安裝完成後,使用如下命令產生一個名為tensorflow的conda環境,根據python版本選擇正確的命令執行即可

# Python 2.7$ conda create -n TensorFlow python=2.7# Python 3.4$ conda create -n TensorFlow python=3.4# Python 3.5$ conda create -n TensorFlow python=3.5

  產生conda環境主要是可以自由切換tensorflow環境和普通python環境。
(1)進入TensorFlow環境
  使用如下命令進入TensorFlow環境:
source activate tensorflow
  此時介面,可以看到,在這裡會將/usr/local/ml/anaconda2/envs/tensorflow/bin配置到PATH變數前,
  

(2)退出tensorflow環境
  使用如下命令可以從tensorflow環境中退出:
source deactivate
  結果如下,可以看到這兩種環境下python的執行路徑是不相同的
  

二、TensorFlow安裝1、安裝

  在官方文檔中介紹了在Anaconda中安裝TensorFlow有兩種方法,一種是使用conda安裝,另一種是使用pip安裝。在實際操作時發現由於網路原因,稍大一點的安裝包就會長時間卡住無響應。可以考慮將需要的安裝包下載後以local模式進行安裝,在操作中發現pip安裝可下載的資源比較多,而conda安裝資源比較難找,所以接下來以pip的方式進行安裝。
  在conda安裝時,可以看到TensorFlow需要依賴的package及版本如下:
  

  在pip安裝模式下,根據安裝過程的提升,將對應版本的安裝檔案從本文最末的Python安裝包中下載到本地。比如在此次安裝過程中,我手動下載了幾個比較大的安裝檔案,如下所示

pip install numpy-1.11.2-cp27-cp27mu-manylinux1_x86_64.whlpip install protobuf-3.0.0-py2.py3-none-any.whlpip install tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl
2、遇到的報錯

  安裝完成後,在tensorflow環境下執行範例程式碼時發現了如下的一個報錯

ImportError: libcudart.so.7.0: cannot open shared object file: No such file or directory...Error importing tensorflow. Unless you are using bazel

  經排查發現是tensorflow安裝檔案下載錯誤導致的。我本想安裝的是CPU Only版本,而錯誤安裝了一個GPU enabled版本。
  

  有關該錯,還可以參考官方文檔中的詳細描述

  重新安裝對應版本後錯誤消失。

3、驗證安裝是否正確

  官方文檔中提供一段檢查tensorflow安裝是否正確的代碼,如下所示

$ python...>>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> print(sess.run(hello))Hello, TensorFlow!>>> a = tf.constant(10)>>> b = tf.constant(32)>>> print(sess.run(a + b))42>>>

  運行結果如下所示:
  

  到這裡TensorFlow已經正確安裝,可以繼續進行後續學習了。
  但是考慮到TensorFlow安裝在虛擬機器中,使用不是很方便,接下來考慮配置一個jupyter notebook server服務可以在瀏覽器中遠端存取,更加方便的使用tensorflow。

4、查看版本和安裝路徑

  查看TensorFlow的版本:

>>> import tensorflow as tf>>> tf.__version__'0.11.0rc2'

  查看TensorFlow安裝路徑:

>>> tf.__path__['/usr/local/ml/anaconda2/envs/tensorflow/lib/python2.7/site-packages/tensorflow']
5、TensorBoard啟動和訪問

  每次啟動TensorBoard時可以按照如下命令進行啟動,需要用--logdir參數指定SummaryWriter的事件檔案寫出路徑。

tensorboard --logdir /usr/local/ml/anaconda2/envs/tensorflow/logs

  啟動後,輸出如下資訊,預設啟動連接埠號碼為6006,可以使用後面的協助資訊查看如何在啟動時指定其他連接埠。

Starting TensorBoard 29 on port 6006(You can navigate to http://192.168.1.100:6006)

  頁面如下:
  

  更多啟動參數可以查看tensorboard的協助資訊

tensorboard -h
三、Jupyter Notebook遠端存取

  在TensorFlow官方文檔中正確安裝TensorFlow後,還有一小部分文檔描述在tensorflow環境下安裝IPython。如果完全按照官方文檔的提升安裝所需組件後,是無法通過瀏覽器遠程使用TensorFlow的。需要在TensorFlow環境下手動安裝Jupyter Notebook並且配置其Server方式。

1、Jupyter安裝

  去Python安裝包中下載Jupyter安裝檔案,並按安裝過程中的依賴提示,下載並安裝Jupyter依賴的安裝包。

2、Jupyter Notebook Server配置

  Jupyter安裝完成後,需要進行以下一系列操作並配置好設定檔。配置完成後,建議在Chrome瀏覽器中遠程使用,由於瀏覽器原因遇到的報錯會在最後描述。
  參考Jupyter Notebook官方文檔中的步驟就可以��現遠端存取的功能。
  
(1)組建組態檔案
  使用如下命令

jupyter notebook --generate-config

  會在~/.jupyter目錄下產生一個名為jupyter_notebook_config.py的設定檔

(2)準備配置的密碼
  如下所示,

In [1]: from notebook.auth import passwdIn [2]: passwd()Enter password:Verify password:Out[2]: 'sha1:67c9e60bb8b6:9ffede0825894254b2e042ea597d771089e11aed'

  注意儲存上面的Out[2]中產生的內容

(3)產生pem和key檔案
  使用如下命令會在當前路徑下產生一個mykey.key和一個mycert.pem檔案,這兩個檔案會在後面的配置中使用到。下面的命令會產生有效期間為365天的certificate檔案。

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout mykey.key -out mycert.pem

  
(4)配置設定檔
  這裡主要配置第一步中的jupyter_notebook_config.py檔案。需要配置的選項如下:

c.NotebookApp.certfile = u'/absolute/path/to/your/certificate/mycert.pem'c.NotebookApp.keyfile = u'/absolute/path/to/your/certificate/mykey.key'# Set ip to '*' to bind on all interfaces (ips) for the public serverc.NotebookApp.ip = '*'c.NotebookApp.password = u'sha1:bcd259ccf...<your hashed password here>'c.NotebookApp.open_browser = False# 指定連接埠號碼c.NotebookApp.port = 8888

  配置完成後,在TensorFlow環境下輸入jupyter notebook命令,在遠程中開啟Chrome瀏覽器,輸入https://ip:8888就可以遠端存取並使用TensorFLow了。
  最終效果如下:
  

注意事項:
  注意這裡最好使用Chrome瀏覽器,以免遇到莫名其妙的檔案。比如我在使用獵豹瀏覽器時在頁面上遇到了404 : Not Found的錯誤
  

  在後台輸出的日誌中顯示
[W 08:33:55.116 NotebookApp] 404 GET
  換到Chrome瀏覽器後,問題消失。

主要參考和使用的資源網站:
1、TensorFlow官方文檔
2、TensorFlow Github地址
3、jupyter遠端存取
4、Anaconda官方
5、Python安裝包

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.