TensorFlow

免費試著磚

在2015年11月,Google發布了它為機器學習,並命名為開源框架TensorFlow。它支持深度學習、神經網絡和一般數值計算cpu、gpu和集群gpu。TensorFlow最大的優勢之一是它的開源社區的開發人員,數據科學家,和數據工程師為其存儲庫。可以找到TensorFlow的當前版本GitHub上發行說明。TensorFlow是迄今為止最受歡迎的AI引擎使用。

最受歡迎的人工智能引擎

TensorFlow是什麼?

TensorFlow數值計算是一個開源庫,大規模機器學習,深入學習,和其他統計和預測分析的工作量。這種類型的技術使它更快和更容易開發人員實現機器學習模型,協助獲取數據的過程,服務規模預測,將來和細化結果。

好的,所以完全TensorFlow做什麼工作?它可以訓練和運行深層神經網絡為手寫數字分類,圖像識別,詞嵌入,自然語言處理(NLP)。其軟件中包含的代碼庫可以添加到任何應用程序,以幫助其學習這些任務。

TensorFlow應用程序可以運行在傳統的cpu(中央處理器)或gpu(更高性能的圖形處理單元)。因為TensorFlow是由穀歌,它也作用於公司的張量處理單元(tpu),是專門設計用於加快TensorFlow工作。

你也可能想知道:TensorFlow用什麼語言?雖然它使用Python作為前端API來構建應用程序框架,它實際上已經包裝在幾種語言包括c++和Java。這意味著你可以訓練和部署您的機器學習模型快,不管你使用的語言或平台。Beplay体育安卓版本

點擊這裏獲取更多faq TensorFlow模式發展。

TensorFlow曆史

穀歌在2015年首次發布TensorFlow在Apache 2.0許可下。它的前身是一個閉源稱為DistBelief穀歌框架,這對於深度學習的實現提供了一個實驗。

穀歌第一tpu在2016年詳細的公開和內部使用結合TensorFlow電力公司的一些應用程序和在線服務。這包括穀歌RankBrain搜索算法和街景地圖技術。

2017年初,穀歌TensorFlow達到發布1.0.0地位。一年後,穀歌提供了第二代tpu穀歌雲平台用戶培訓和運行自己的機器學習模型。Beplay体育安卓版本

穀歌發布了最新版本,TensorFlow 2.0, 2019年10月。穀歌采取了用戶的反饋考慮為了使各種改進框架和更容易使用——例如,它現在使用相對簡單的Keras API模型訓練。

是誰創造了TensorFlow ?

你現在知道,穀歌開發TensorFlow,繼續自己的框架和維護。它是由穀歌大腦的研究團隊,他們開展基礎研究,以推進關鍵領域的機器智能,促進更好的深度學習理論的理解。

穀歌大腦團隊設計TensorFlow能夠獨立工作從穀歌自己的計算基礎設施,但它獲得很多優勢從一個商業巨頭的支持。以及資助項目的快速發展,多年來,穀歌還改善TensorFlow,以確保它是易於部署和使用。

穀歌選擇TensorFlow一個開源框架,目的是加速了人工智能的發展。作為一個以社區為基礎的項目,所有用戶可以幫助改善技術,每個人都有好處。

TensorFlow是如何工作的呢?

TensorFlow結合各種機器學習和深度學習(或神經網絡)模型和算法,並使他們有用的公共接口。

它使開發人員能夠創建數據流圖與計算節點代表數學運算。每個連接節點之間表示多維向量或矩陣,創造所謂的張量。

雖然TensorFlow Python提供了前端API,在Python中不執行實際的數學操作。相反,高性能c++二進製文件在幕後執行這些操作。Python指導交通之間的片段,通過高級編程抽象掛鉤在一起。

TensorFlow應用程序可以運行在幾乎任何方便的目標,包括iOS和Android設備,雲中的本地機器,或一個集群,以及cpu或gpu(或穀歌定製的tpu如果你使用穀歌雲)。

TensorFlow包括集高級和低級的api。穀歌建議簡化數據管道開發的高級api和應用程序編程,但低級api(稱為TensorFlow核心)可用於調試應用程序和實驗。

TensorFlow用於什麼?與TensorFlow你能做什麼?

TensorFlow旨在簡化開發和執行高級分析應用程序的過程等用戶數據科學家,統計學家,和預測建模。

不同類型和規模的企業廣泛使用框架自動化流程和開發新係統,這是特別有用的大規模並行處理應用程序,如神經網絡。它也被用於實驗和測試無人駕駛車輛。

如您所料,TensorFlow母公司穀歌也使用它的內部操作,如改善其搜索引擎的信息檢索功能,和驅動應用程序的自動電子郵件反應生成,圖像分類和光學字符識別。

TensorFlow的優點之一是,它提供了抽象,這意味著開發人員可以專注於應用程序的整體邏輯框架負責細節。也方便開發人員需要調試並獲得反省到TensorFlow應用。

TensorBoard可視化套件有一個互動的、基於web的儀表板,允許您檢查和概要圖表的方式運行。還有一個熱切的執行模式,允許你單獨評估和修改每個圖形操作和透明的,而不是創建整個圖作為一個不透明的對象和評估它。

磚運行時機器學習包括TensorFlowTensorBoard,因此您可以使用這些庫沒有安裝任何包。

現在讓我們看看如何使用TensorFlow。

如何安裝TensorFlow

完整的說明和教程上可用tensorflow.org這裏是一些基本的情況。

係統需求:

  • Python 3.7 +
  • 皮普19.0或更高版本(需要manylinux2010支持,TensorFlow 2需要新版本的pip)
  • Ubuntu 16.04或更高版本(64位)
  • macOS 10.12.6(塞拉利昂)或更高(64位)(不支持GPU)
  • Windows 7或更高(64位)

硬件需求:

  • 從TensorFlow 1.6開始,二進製文件使用AVX指令可能不會老的cpu上運行。
  • 需要一個CUDA GPU支持®啟用卡(Ubuntu和窗戶)

# 1。在您的係統上安裝Python開發環境

檢查您的Python環境已經配置:

python3 - - version

pip3 - - version

如果這些包已經安裝,跳到下一步。

否則,安裝Python, pip包管理器,venv。

如果在虛擬環境中,使用python3 - m pip下麵的命令。這將確保您升級和使用Python pip代替係統脈衝。

# 2。創建一個虛擬環境(推薦)

Python虛擬環境是用來隔離包安裝的係統。

# 3。TensorFlow pip安裝包

選擇一個從PyPI下列TensorFlow包安裝:

  • 與CPU和tensorflow最新穩定版本GPU的支持(Ubuntu和窗戶)
  • tf-nightly—預覽構建(不穩定)。Ubuntu和Windows包括GPU的支持
  • tensorflow = = 1.15——tensorflow的最終版本1. x。

驗證安裝。如果一個張量返回,你安裝TensorFlow成功。

注意:一些安裝機製需要TensorFlow Python包的URL。您所指定的值取決於您的Python版本。

如何更新TensorFlow

pip包管理器提供了一個簡單的方法升級TensorFlow,不管環境。

先決條件:

  • Python 3.6 - -3.9安裝和配置(開始前檢查Python版本)。
  • TensorFlow 2安裝。
  • pip包管理器版本19.0或更高版本(如果必要檢查pip和升級版本)。
  • 進入命令行/終端或筆記本電腦環境。

TensorFlow升級到新版本:

# 1。打開終端(CTRL + ALT + T)。

# 2。檢查當前安裝TensorFlow版本:

pip3顯示tensorflow

命令顯示包的信息,包括版本。

# 3。TensorFlow升級到新版本:

pip3 -安裝升級tensorflow = = <版本>

確保你選擇一個版本兼容您的Python版本,否則不會安裝的版本。筆記本的環境,使用以下命令,並重新啟動內核完成後:

! pip安裝升級tensorflow = = <版本>

這個自動刪除舊版本的依賴關係和安裝新的升級。

# 4。檢查升級版本通過運行:

pip3顯示tensorflow

TensorFlow Lite是什麼?

2017年,穀歌推出的新版本TensorFlow稱為TensorFlow Lite。TensorFlow Lite用於嵌入式和移動設備進行了優化。這是一個開源的,產品準備好,跨平台的深度學習的框架,將pre-trained TenBeplay体育安卓版本sorFlow模型為一個特殊的格式,可以優化速度或存儲。

確保您使用正確的版本對於任何給定的場景,您需要知道何時使用TensorFlow和何時使用TensorFlow Lite。例如,如果您需要部署一個高性能的深度學習模型在沒有好的網絡連接,你會使用TensorFlow Lite減少文件大小。

如果你開發一個模型邊緣設備,它應該是輕量級的,以便它使用最小的空間,增加下載速度較低帶寬網絡。為了實現這一點,需要優化,以減少大小的模型或改進的延遲,TensorFlow Lite是通過量化和體重修剪。

由此產生的模型是輕量級的足以被部署為一個低延遲推理在邊緣設備如Android和iOS手機,或基於linux的嵌入式設備如覆盆子π或微控製器。TensorFlow Lite還使用幾個硬件加速器速度、準確性、運行和優化功耗,重要的推論的邊緣。

在TensorFlow致密層是什麼?

致密層用於淺層和深層神經網絡的創建。人工神經網絡是類人腦結構由係統的神經元,它們能夠通過例子學習而不是編程與特定的規則。

在深度學習,使用多個層提取從原始輸入高級功能;網絡是由幾層時,它被稱為多層神經網絡。其中每一層的節點,把輸入的數據和一組稱為權重係數放大或抑製輸入。

2.0版本,TensorFlow采取了深度學習API稱為Keras TensorFlow之上運行,提供了許多不同的預構建層神經網絡體係結構和用途。致密層就是其中之一,它有一個深刻的聯係,這意味著每個神經元接收輸入上一層的神經元。

致密層通常是用於改變尺寸,旋轉,縮放和翻譯的向量生成。他們有能力學習功能的結合上一層的功能。

TensorFlow和Python的區別是什麼?

TensorFlow機器學習是一個開源框架,Python是一種流行的計算機編程語言。這是TensorFlow中使用的語言之一。TensorFlow Python是推薦的語言,盡管它還使用c++和JavaScript。

Python開發,幫助程序員編寫清晰、邏輯代碼為小型和大型項目。通常是用於構建網站和軟件,自動化任務,進行數據分析。這使得它對初學者學習TensorFlow相對簡單。

一個有用的問題是:什麼版本的Python TensorFlow支持嗎?某些TensorFlow版本隻兼容特定版本的Python, Python 3.7到3.10和2.0要求。確保您安裝TensorFlow之前檢查的要求。

PyTorch和TensorFlow是什麼?

TensorFlow不是唯一的機器學習框架存在。有很多其他的選擇,比如PyTorch有相似之處,許多相同的需求。所以,實際TensorFlow和PyTorch之間的區別是什麼?

PyTorch TensorFlow隻是兩個框架由科技公司開發的Python深的學習環境,幫助人形電腦來解決實際問題的能力。PyTorch和TensorFlow之間主要的區別是他們執行代碼的方式。與Python語言PyTorch更緊密集成。

正如我們所看到的,TensorFlow強大的可視化功能,生產使用的部署選項,並支持移動平台。Beplay体育安卓版本PyTorch並不像建立但仍受歡迎的簡單性和易用性,以及動態計算圖表和高效的內存使用。

至於哪個更好的問題,TensorFlow或Pytorch——它真的取決於你想要達到的目的。如果你的目標是建立人工智能產品,TensorFlow將適合你,而PyTorch更適合研究性開發人員。PyTorch是適合在項目啟動和運行,但TensorFlow更健壯更大的項目的功能和更複雜的工作流。

公司利用TensorFlow

根據TensorFlow網站,其他一些大牌公司使用該框架以及穀歌。這些包括Airbnb,可口可樂、eBay、英特爾、高通、SAP、Twitter, Uber, Snapchat開發商提前Inc .)和體育STATS LLC谘詢公司。

公司利用tensorflow

前五名TensorFlow替代品

1。DataRobot

DataRobot是一個基於雲計算的機器學習框架,旨在幫助企業擴展其數據科學功能通過部署機器學習模型和創建先進的人工智能應用程序。

框架使您能夠使用開源建模技術和優化最有價值的R, Python,火花,H2O,大眾,XGBoost。通過自動化預測分析,DataRobot幫助數據科學家和分析師產生更精確的預測模型。

有越來越多的圖書館最好的特性,算法和參數值與自動化係綜,建立每一個模型,並且用戶可以很容易地找到並結合多個算法和預構建的原型特征提取和數據準備(不需要試錯猜測)。

2。PyTorch

開發的團隊在2017年在GitHub.com上Facebook和開源,PyTorch是一個新的深度學習框架。正如我們前麵所提到的,它與TensorFlow有幾個相似之處,包括硬件加速組件和設計的高度互動的發展模式。

PyTorch也優化了性能利用本機Python支持異步執行。好處包括內置動態圖和一個更強大的比TensorFlow社區。

然而,PyTorch並不部署直接在線訓練模型,提供了一個框架和一個API服務器需要生產。它還需要第三方- Visdom可視化,和這的特點是相當有限的。

3所示。Keras

Keras是一個高級開源設計神經網絡圖書館用戶友好的,模塊化,易於擴展。是用Python編寫的,支持多個後端神經網絡計算引擎——盡管其主要(默認)後端TensorFlow,是穀歌和它的主要支持者。

我們已經提到過的TensorFlow Keras高級API,而且Keras Theano之上運行。它有許多獨立的模塊,你可以結合起來,包括神經層,成本函數,優化器,初始化方案,激活函數和正則化方案。

Keras支持廣泛的生產部署選項,並大力支持多個gpu和分布式訓練。然而,社區支持很小,圖書館通常用於小數據集。

4所示。MXNet

Apache MXNet是一個開源的深度學習軟件框架,用於定義、培訓和部署深神經網絡在各種設備上。它的榮譽是通過Amazon AWS英超深度學習框架。

它能隨跨多個gpu和多個機器,允許快速模型訓練,並支持一個靈活的編程模型,使用戶能夠混合符號和命令式編程的最大效率和生產力。

MXNet還支持多種編程語言api,包括Python、c++, Scala, R, JavaScript,茱莉亞,Perl,(盡管它的本地api不是task-agreeable TensorFlow)。

5。CNTK

CNTK微軟,也被稱為認知工具箱,工具箱是一個統一的深度學習使用數據流圖結構描述為一係列的計算步驟(TensorFlow一樣,盡管它不是那麼容易學習或部署)。

它主要關注創建深度學習神經網絡,可以快速處理這些任務。CNTK允許用戶輕鬆地實現和結合前饋款等流行的模型類型,卷積網(cnn)和複發性網絡(RNNs / LSTMs)。

CNTK有一組廣泛的api (Python, c++, c#、Java),可以作為您的Python庫,c#或c++程序或作為一個獨立的機器學習工具通過自己的模型描述語言(BrainScript)。它支持64位的Linux或Windows 64位操作係統。

注:2.7版本是最後CNTK的主要版本,也沒有新功能發展計劃。

我應該用TensorFlow嗎?

TensorFlow有很多優勢。開源機器學習框架提供了優秀的架構支持,允許方便地部署計算框架跨多種平台。Beplay体育安卓版本它受益於穀歌的聲譽,和幾個大的名稱采用TensorFlow進行人工智能任務。

TensorFlow另一方麵,一些細節的實現很難獲得完全確定性模型訓練的結果一些培訓工作,但團隊正在考慮更多的控製影響工作流的決定論。

開始很簡單,尤其是TensorFlow由磚通過磚,一個開箱即用的集成運行時機器學習。你可以得到集群啟動並運行在秒和受益於一係列的低級和高級api。

額外的資源

回到術語表
Baidu
map