2015年11月9日,Google發表人工智慧系統TensorFlow並宣布開源。
TensorFlow 是使用資料流程圖進行數值計算的開源軟體庫。也就是說,TensorFlow 使用圖(graph)來表示計算任務。圖中的節點表示數學運算,邊表示運算之間用來交流的多維數組(也就是tensor,張量)。 TensorFlow 靈活的架構讓你可以將運算過程部署到一個或多個CPU或GPU上。
TensorFlow 最初是由 Google Brain Team 的研究人員和工程師開發的,主要是 Google's Machine Intelligence research organization 用來進行機器學習和深度神經網路研究的,但是這個系統在其它很多領域也是通用的。
模型的抽象表示法是由框架自動處理的,這使得TensorFlow 及 Theano 特別適合發展基於梯度最佳化演算法的新模型。
Theano 的主要缺點是對上述符號模型進行編譯的時間較長,而 TensorFlow 有效地改善了這一點,也就是編譯時間較短。
TensorFlow 的另一個優點是它的支援工具-TensorBoard ,將模型的訓練過程視覺化。這樣,使用者可以互動式地考察模型的結構,也可以觀察參數和模型效能的改變。
TensorFlow 的開源版本只能運作在一台機器上,不過它支援多處理器(CPUs或GPUs)並行運算。
資料流程圖用有向圖來描述數學計算,圖中有點和邊。
節點通常會進行數學計算,但也可以作為終點來表示結果,或讀/寫持久變數(persistent variables)。
邊用來描述節點之間的輸入/輸出關係。這些邊攜帶不定大小的多維數組或張量。
這些節點被指派到計算裝置上,非同步執行。一旦所有的tensor同時到達了,就會進行並行計算。
由於圖中張量(tensor)的流動(flow),所以我們稱為 TensorFlow。
#Deep Flexibility,彈性。 TensorFlow並不是一個死板的神經網路的函式庫,只要你可以將你的運算過程表示成資料流程圖,你就可以使用TensorFlow。定義新的計算就像寫一個Python函數那麼簡單,成本也不大。如果你看不見你需要的底層的資料操作,可以透過C++來新增。
True Portability,可移植性。 TensorFlow在CPU或GPU上運行,可以在筆記型電腦、伺服器、或行動運算平台運行。不需要特殊硬件,不需要改變程式碼,就可以在行動裝置上訓練模型,封裝Docker 和 TensorFlow 就可以在雲端上進行運算。
Connect Research and Production,學術和工業兼得。在Google,科學家用 TensorFlow 測試新的演算法,產品團隊用 TensorFlow 訓練模式為使用者服務。
Auto-Differentiation,自動辨識。 TensorFlow 的自動辨別能力 有益於實作那些基於梯度的機器學習演算法。當你使用TensorFlow時,你為自己的預測模型定義計算的框架結構,再加上目標函數,接著只需要添加數據,TensorFlow 就會為你計算導數,也就是梯度。
Language Options,語言選擇。 TensorFlow中可以使用Python接口,以及簡單的C++接口,來建立和執行你的計算圖(computational graphs)。如果你有興趣,也可以提供自己所喜愛語言的介面——Lua, JavaScript, 或 R 等等。
Maximize Performance,效能最大化。 TensorFlow 讓你充分利用你可用的硬體:32 CPU cores and 4 GPU cards,執行緒、佇列及非同步運算等。你可以將TensorFlow圖中的運算元素自由分配到不同的裝置上,交給TensorFlow來處理。
學生、研究人員、愛好者、駭客、工程師、開發者、發明者及創新者等等。
TensorFlow目前並不完整,它需要擴充。 Google只是給了一個初始版本的源代碼,他們希望建立一個活躍的開源社區,以使得TensorFlow越來越好。
目前在使用 TensorFlow 的公司有:Google、Uber、Twitter、DeepMind、京東等等。
「TensorFlow」是 Google 多年來內部的機器學習系統。如今,Google 正將此系統作為開源系統,並將此系統的參數公佈給業界工程師、學者和擁有大量程式設計能力的技術人員,這又意味著什麼呢?
答案很簡單:Google認為,機器學習是未來創新的關鍵成分,這一領域的研究是全球範圍的,並且發展很迅速,但就是缺乏標準工具。 Google的工程師們用TensorFlow在做使用者導向的產品和服務,Google的研究團隊也打算分享TensorFlow的實作歷程,他們希望TensorFlow能成為機器學習的最佳工具之一。
打個不太恰當的比喻,如今 Google 對待 TensorFlow 系統,有點類似對待旗下行動作業系統 Android。如果更多的資料科學家開始使用 Google 的系統來從事機器學習的研究,那麼這將有利於 Google 對日益發展的機器學習產業擁有更多的主導權。
使用目前的深度學習的方法有一個先決條件:擁有許多樣本的資料集。
像 辨識與特定疾病相關的基因或 methylation probes,樣本集很少,所以就不能用深度學習進行分析。 【哭……我就是想用深度學習做疾病基因辨識啊……】
想要使用深度學習模型,第一步就是解決如何表示數據的問題。如:剪接點、RNA-蛋白質結合位點、或甲基化。也就是說,你的樣本的數量要遠遠超過變數的數量。
所以說,只要這關鍵的一步解決了,TensorFlow 就會為你打開深度學習的大門。
Pip 是一個 Python 的軟體包安裝與管理工具。並且,Tensorflow只能在Linux環境下進行安裝,具體在VMware下安裝Linux系統詳情可以參考我另外一篇部落格。
sudo apt-get install python-pip python-dev
註:出現以上介面表示pip已經安裝成功!
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp27-none-linux_x86_64.whl
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
##> ;>> sess = tf.Session()
#>>> print sess.run(hello)
Hello, TensorFlow !
cd /home/andy
tar xfz pycharm-community-2016.3.tar.gz
開啟pycharm.sh 檔案所在目錄:
cd pycharm-community-2016.3/bin
#執行pycharm.sh 檔案以安裝pycharm:
./pycharm.sh
安裝好後會自動開啟pycharm,接下來進行一系列的設定:
#
出現下面介面時,表示安裝成功了。
選擇“Create New Project”,建立新的工程。預設編譯器是python 2.7。
然後在新建立的工程上,右鍵選擇“New->Python File ”,建立一個新的python檔案Py01。
在檔案Py01中寫入一段程式碼進行測試。
可見,測試結果正確,可以在 Pycharm 上 import tensorflow了!
在Ubuntu下,每次都需要找到pycharm.sh 所在的資料夾,執行./pycharm. sh,打開pycharm,非常麻煩。
所以,我們最好能建立一個快捷方式。 Ubuntu 的捷徑都放在「電腦/usr/share/applications」 下。
首先在該目錄下建立一個Pycharm.desktop:
#sudo gedit /usr/share/applications/ Pycharm.desktop
#然後輸入以下內容,注意Exec 和Icon 需要找到你自己電腦中正確的路徑,GenericName 和Comment 中關於Pycharm的版本號碼你也需要根據實際情況定:
[Desktop Entry]
類型=#Application
Name=Pycharm
#GenericName=Pycharm2017
#Comment=Pycharm2017:The Python IDE
Exec="/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.sh" %f
#Icon=/home/wangfang/Pycham/pycharm-community-2017.1.3/bin/pycharm.png
#Terminal=pycharm
Categories=Pycharm;
儲存後,透過路徑/usr/share/applications/路徑即可找到對應桌面Pycharm.desktop文件,然後雙擊打開,再鎖定到啟動器就好了。
#TensorFlow 官網
極客學院——TensorFlow 官方文件中文版
極客學院——下載與安裝
極客學院——MNIST機器學習入門(建構softmax回歸模型)
極客學院-深入MNIST(建構深度卷積神經網路)
Ladislav Rampasek and Anna Goldenberg, TensorFlow: Biology's Gateway to Deep Learning?
werm520的欄位:Ubuntu安裝PyCharm
Ubuntu下安裝Anaconda
以上是深度學習框架之TensorFlow的概念及安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!