首頁  >  文章  >  後端開發  >  深度學習框架之TensorFlow的概念及安裝

深度學習框架之TensorFlow的概念及安裝

巴扎黑
巴扎黑原創
2017-06-23 15:11:224042瀏覽

2015年11月9日,Google發表人工智慧系統TensorFlow並宣布開源。

1.TensorFlow的概念

TensorFlow 是使用資料流程圖進行數值計算的開源軟體庫。也就是說,TensorFlow 使用圖(graph)來表示計算任務。圖中的節點表示數學運算,邊表示運算之間用來交流的多維數組(也就是tensor,張量)。 TensorFlow 靈活的架構讓你可以將運算過程部署到一個或多個CPU或GPU上。

TensorFlow 最初是由 Google Brain Team 的研究人員和工程師開發的,主要是 Google's Machine Intelligence research organization 用來進行機器學習和深度神經網路研究的,但是這個系統在其它很多領域也是通用的。

深度學習框架之TensorFlow的概念及安裝

模型的抽象表示法是由框架自動處理的,這使得TensorFlow 及 Theano 特別適合發展基於梯度最佳化演算法的新模型。

Theano 的主要缺點是對上述符號模型進行編譯的時間較長,而 TensorFlow 有效地改善了這一點,也就是編譯時間較短。

TensorFlow 的另一個優點是它的支援工具-TensorBoard ,將模型的訓練過程視覺化。這樣,使用者可以互動式地考察模型的結構,也可以觀察參數和模型效能的改變。

TensorFlow 的開源版本只能運作在一台機器上,不過它支援多處理器(CPUs或GPUs)並行運算。

1.1 什麼是資料流程圖?

資料流程圖用有向圖來描述數學計算,圖中有點和邊。

節點通常會進行數學計算,但也可以作為終點來表示結果,或讀/寫持久變數(persistent variables)。

邊用來描述節點之間的輸入/輸出關係。這些邊攜帶不定大小的多維數組或張量。

這些節點被指派到計算裝置上,非同步執行。一旦所有的tensor同時到達了,就會進行並行計算。

由於圖中張量(tensor)的流動(flow),所以我們稱為 TensorFlow。

Tensors Flowing

1.2 TensorFlow的特點

  1. #Deep Flexibility,彈性。 TensorFlow並不是一個死板的神經網路的函式庫,只要你可以將你的運算過程表示成資料流程圖,你就可以使用TensorFlow。定義新的計算就像寫一個Python函數那麼簡單,成本也不大。如果你看不見你需要的底層的資料操作,可以透過C++來新增。

  2. True Portability,可移植性。 TensorFlow在CPU或GPU上運行,可以在筆記型電腦、伺服器、或行動運算平台運行。不需要特殊硬件,不需要改變程式碼,就可以在行動裝置上訓練模型,封裝Docker 和 TensorFlow 就可以在雲端上進行運算。

  3. Connect Research and Production,學術和工業兼得。在Google,科學家用 TensorFlow 測試新的演算法,產品團隊用 TensorFlow 訓練模式為使用者服務。

  4. Auto-Differentiation,自動辨識。 TensorFlow 的自動辨別能力 有益於實作那些基於梯度的機器學習演算法。當你使用TensorFlow時,你為自己的預測模型定義計算的框架結構,再加上目標函數,接著只需要添加數據,TensorFlow 就會為你計算導數,也就是梯度。

  5. Language Options,語言選擇。 TensorFlow中可以使用Python接口,以及簡單的C++接口,來建立和執行你的計算圖(computational graphs)。如果你有興趣,也可以提供自己所喜愛語言的介面——Lua, JavaScript, 或 R 等等。

  6. Maximize Performance,效能最大化。 TensorFlow 讓你充分利用你可用的硬體:32 CPU cores and 4 GPU cards,執行緒、佇列及非同步運算等。你可以將TensorFlow圖中的運算元素自由分配到不同的裝置上,交給TensorFlow來處理。

1.3 誰可以用TensorFlow?

學生、研究人員、愛好者、駭客、工程師、開發者、發明者及創新者等等。

TensorFlow目前並不完整,它需要擴充。 Google只是給了一個初始版本的源代碼,他們希望建立一個活躍的開源社區,以使得TensorFlow越來越好。

目前在使用 TensorFlow 的公司有:Google、Uber、Twitter、DeepMind、京東等等。

1.4 為什麼Google將TensorFlow開源呢?

「TensorFlow」是 Google 多年來內部的機器學習系統。如今,Google 正將此系統作為開源系統,並將此系統的參數公佈給業界工程師、學者和擁有大量程式設計能力的技術人員,這又意味著什麼呢?

答案很簡單:Google認為,機器學習是未來創新的關鍵成分,這一領域的研究是全球範圍的,並且發展很迅速,但就是缺乏標準工具。 Google的工程師們用TensorFlow在做使用者導向的產品和服務,Google的研究團隊也打算分享TensorFlow的實作歷程,他們希望TensorFlow能成為機器學習的最佳工具之一。

打個不太恰當的比喻,如今 Google 對待 TensorFlow 系統,​​有點類似對待旗下行動作業系統 Android。如果更多的資料科學家開始使用 Google 的系統來從事機器學習的研究,那麼這將有利於 Google 對日益發展的機器學習產業擁有更多的主導權。

1.5 TensorFlow 與計算生物學

使用目前的深度學習的方法有一個先決條件:擁有許多樣本的資料集。

像 辨識與特定疾病相關的基因或 methylation probes,樣本集很少,所以就不能用深度學習進行分析。 【哭……我就是想用深度學習做疾病基因辨識啊……】

想要使用深度學習模型,第一步就是解決如何表示數據的問題。如:剪接點、RNA-蛋白質結合位點、或甲基化。也就是說,你的樣本的數量要遠遠超過變數的數量。

所以說,只要這關鍵的一步解決了,TensorFlow 就會為你打開深度學習的大門。

2.Tensorflow的安裝(基於pip)

Pip 是一個 Python 的軟體包安裝與管理工具。並且,Tensorflow只能在Linux環境下進行安裝,具體在VMware下安裝Linux系統詳情可以參考我另外一篇部落格。

2.1 安裝pip(需要在超級管理員權限下進行安裝)

  1. sudo apt-get install python-pip python-dev

深度學習框架之TensorFlow的概念及安裝

深度學習框架之TensorFlow的概念及安裝

註:出現以上介面表示pip已經安裝成功!

2.2 安裝Tensorflow

  1. sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl

##2.3 測試
  1. >>> import tensorflow as tf

  2. >>> hello = tf.constant('Hello, TensorFlow!')

  3. ##> ;>> sess = tf.Session()

  4. #>>> print sess.run(hello)

  5. Hello, TensorFlow !

#:Linux下退出Python方法:Ctrl+D

 2.4 安裝IDE Pycharm

官網下載Community版for Linux,依照官網教學的步驟進行安裝。

附註:可以直接在Linux中的瀏覽器中進行下載。

深度學習框架之TensorFlow的概念及安裝

首先,將檔案拷貝到希望安裝的位置。
  1. cd /home/andy

#然後解壓縮檔案:
  1. tar xfz pycharm-community-2016.3.tar.gz

# ##

開啟pycharm.sh 檔案所在目錄:

  1. cd pycharm-community-2016.3/bin

#執行pycharm.sh 檔案以安裝pycharm:

  1. ./pycharm.sh

 

安裝好後會自動開啟pycharm,接下來進行一系列的設定:

深度學習框架之TensorFlow的概念及安裝

深度學習框架之TensorFlow的概念及安裝

深度學習框架之TensorFlow的概念及安裝

出現下面介面時,表示安裝成功了。

深度學習框架之TensorFlow的概念及安裝

選擇“Create New Project”,建立新的工程。預設編譯器是python 2.7。

深度學習框架之TensorFlow的概念及安裝

然後在新建立的工程上,右鍵選擇“New->Python File ”,建立一個新的python檔案Py01。

深度學習框架之TensorFlow的概念及安裝

在檔案Py01中寫入一段程式碼進行測試。

深度學習框架之TensorFlow的概念及安裝

可見,測試結果正確,可以在 Pycharm 上 import tensorflow了!

深度學習框架之TensorFlow的概念及安裝

2.5 將Pycharm鎖定到啟動器

在Ubuntu下,每次都需要找到pycharm.sh 所在的資料夾,執行./pycharm. sh,打開pycharm,非常麻煩。

所以,我們最好能建立一個快捷方式。 Ubuntu 的捷徑都放在「電腦/usr/share/applications」 下。

首先在該目錄下建立一個Pycharm.desktop:

  1. #sudo gedit /usr/share/applications/ Pycharm.desktop

#然後輸入以下內容,注意Exec 和Icon 需要找到你自己電腦中正確的路徑,GenericName 和Comment 中關於Pycharm的版本號碼你也需要根據實際情況定:

  1. [Desktop Entry]

  2. 類型=#Application

  3. Name=Pycharm

  4. #GenericName=Pycharm2017

  5. #Comment=Pycharm2017:The Python IDE

  6. Exec="/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.sh" %f

  7. #Icon=/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.png

  8. #Terminal=pycharm

  9. Categories=Pycharm;

#

儲存後,透過路徑/usr/share/applications/路徑即可找到對應桌面Pycharm.desktop文件,然後雙擊打開,再鎖定到啟動器就好了。

深度學習框架之TensorFlow的概念及安裝1

 

參考文獻:

  1. #TensorFlow 官網

  2. 極客學院——TensorFlow 官方文件中文版

  3. 極客學院——下載與安裝

  4. 極客學院——MNIST機器學習入門(建構softmax回歸模型)

  5. 極客學院-深入MNIST(建構深度卷積神經網路)

  6. Ladislav Rampasek and Anna Goldenberg, TensorFlow: Biology's Gateway to Deep Learning?

  7. werm520的欄位:Ubuntu安裝PyCharm

  8. Ubuntu下安裝Anaconda

  9. ##Ubuntu下安裝Anaconda
  10. ##Ubuntu下安裝Anaconda

  11. Linux(Ubuntu14.04)下安裝Anaconda和Spyder
######Ubuntu下如何安裝TensorFlow################ ##########

以上是深度學習框架之TensorFlow的概念及安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn