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 及 Theano 特別適合發展基於梯度最佳化演算法的新模型。
Theano 的主要缺點是對上述符號模型進行編譯的時間較長,而 TensorFlow 有效地改善了這一點,也就是編譯時間較短。
TensorFlow 的另一個優點是它的支援工具-TensorBoard ,將模型的訓練過程視覺化。這樣,使用者可以互動式地考察模型的結構,也可以觀察參數和模型效能的改變。
TensorFlow 的開源版本只能運作在一台機器上,不過它支援多處理器(CPUs或GPUs)並行運算。
1.1 什麼是資料流程圖?
資料流程圖用有向圖來描述數學計算,圖中有點和邊。
節點通常會進行數學計算,但也可以作為終點來表示結果,或讀/寫持久變數(persistent variables)。
邊用來描述節點之間的輸入/輸出關係。這些邊攜帶不定大小的多維數組或張量。
這些節點被指派到計算裝置上,非同步執行。一旦所有的tensor同時到達了,就會進行並行計算。
由於圖中張量(tensor)的流動(flow),所以我們稱為 TensorFlow。
1.2 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來處理。
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(需要在超級管理員權限下進行安裝)
sudo apt-get install python-pip python-dev
註:出現以上介面表示pip已經安裝成功!
2.2 安裝Tensorflow
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了!
2.5 將Pycharm鎖定到啟動器
在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
- ##Ubuntu下安裝Anaconda
- ##Ubuntu下安裝Anaconda
-
Linux(Ubuntu14.04)下安裝Anaconda和Spyder
以上是深度學習框架之TensorFlow的概念及安裝的詳細內容。更多資訊請關注PHP中文網其他相關文章!

要在有限的時間內最大化學習Python的效率,可以使用Python的datetime、time和schedule模塊。 1.datetime模塊用於記錄和規劃學習時間。 2.time模塊幫助設置學習和休息時間。 3.schedule模塊自動化安排每週學習任務。

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6
視覺化網頁開發工具

WebStorm Mac版
好用的JavaScript開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1
強大的PHP整合開發環境