設(shè)計基礎(chǔ):什么是TensorFlow?
創(chuàng)建 TensorFlow 只是為了開發(fā)您自己的機器學(xué)習(xí) (ML) 模型。您甚至可能每天都會體驗它而不知道,例如建議下一個 YouTube 視頻、圖像識別或語音助手的推薦系統(tǒng)。但什么是 TensorFlow,它是如何工作的,它使用什么硬件,為什么它是機器學(xué)習(xí)的主要工具?
Google 構(gòu)建了 TensorFlow,這是一個開源軟件庫,用于機器學(xué)習(xí)和深度學(xué)習(xí)應(yīng)用程序,專為開發(fā)人員設(shè)計。計算機從這些人工智能模型中學(xué)習(xí),以進行模式識別和數(shù)據(jù)預(yù)測。開發(fā)人員利用 TensorFlow 的框架實現(xiàn)了更高效的模型開發(fā)和訓(xùn)練。該工具加載了多種功能,可幫助構(gòu)建更快、可能更智能的應(yīng)用程序。
TensorFlow 的機制
想想這個名字,TensorFlow。它讓我們對它是如何工作的有一個很好的了解。張量是一個多維數(shù)據(jù)數(shù)組,就像網(wǎng)格一樣,它存儲代表一串文本、圖像、音頻波形等的數(shù)字。
同時,該流指示數(shù)據(jù)如何通過一系列作(稱為計算圖)。每個節(jié)點代表一個數(shù)學(xué)運算,而每個邊代表這些運算之間的數(shù)據(jù)流。將它們放在一起,TensorFlow 本質(zhì)上允許張量數(shù)據(jù)通過數(shù)學(xué)函數(shù)網(wǎng)絡(luò)。
這種結(jié)構(gòu)將大型、復(fù)雜的模型分解為更小、更有效的處理步驟。它輸出一個結(jié)果,用于區(qū)分圖像中的對象,例如貓和狗。
TensorFlow 之所以受歡迎,部分原因是其先進的研究支持、靈活性和可擴展性。它在筆記本電腦上運行進行實驗,并可擴展到數(shù)千臺并行工作的服務(wù)器,非常適合業(yè)余愛好者和企業(yè) AI 系統(tǒng)。除了核心庫之外,谷歌和開源社區(qū)還圍繞它開發(fā)了一個豐富的生態(tài)系統(tǒng)。
例如,Keras 有一個簡單的界面,允許開發(fā)人員輸入幾行代碼來生成神經(jīng)網(wǎng)絡(luò)。團隊可以使用 TensorBoard 來跟蹤指標(biāo)并可視化模型訓(xùn)練進度。借助 TensorFlow Lite,移動和嵌入式設(shè)備可以直接在設(shè)備上運行 ML 模型。這使得語音識別和其他應(yīng)用程序等功能能夠高效工作,而無需持續(xù)的互聯(lián)網(wǎng)連接。
此外,開發(fā)人員使用 TensorFlow.js 在帶有 JavaScript 的瀏覽器中運行模型??梢酝ㄟ^ TensorFlow Extended 全面開發(fā)和部署 ML 管道。
訓(xùn)練 TensorFlow 模型
開發(fā)人員如何在 TensorFlow 中訓(xùn)練模型?他們設(shè)計了一個模型架構(gòu),該架構(gòu)決定了數(shù)據(jù)如何流經(jīng)數(shù)學(xué)函數(shù)層。然后,他們?yōu)槠涮峁┯?xùn)練數(shù)據(jù),作為模型學(xué)習(xí)的示例。該框架依靠優(yōu)化算法(由自動微分提供支持)來調(diào)整模型的內(nèi)部參數(shù)。
TensorFlow 使用自動微分來計算梯度以進行優(yōu)化,無需手動進行復(fù)雜的數(shù)學(xué)運算,例如微積分和線性代數(shù)。這樣,開發(fā)人員就可以設(shè)計解決方案,而不是輸入方程。訓(xùn)練后,它會在新數(shù)據(jù)上進行測試以評估其準(zhǔn)確性。如果性能符合預(yù)期,它就會部署到實際應(yīng)用程序中。
以下視頻是 TensorFlow 的截斷實際使用。如果您按照視頻訪問 TensorFlow 的 YouTube 頁面,您會發(fā)現(xiàn)更多關(guān)于人們?nèi)绾卧谒麄兊捻椖恐惺褂盟氖纠?。還有很多鼓舞人心的故事。
擴展的硬件支持
此外,由于機器學(xué)習(xí)需要大量計算,TensorFlow 由于支持各種硬件平臺而提供高性能。它將 CPU 用于不需要大量并行處理的小型模型、實驗和生產(chǎn)系統(tǒng)。這也意味著任何擁有 CPU 的人都可以在臺式機或筆記本電腦上處理 TensorFlow 項目。
此外,TensorFlow 還能夠使用 GPU 處理大規(guī)模的并行數(shù)學(xué)運算,使其可用于訓(xùn)練深度學(xué)習(xí)模型。
除此之外,谷歌還開發(fā)了張量處理單元(TPU)來處理機器學(xué)習(xí)任務(wù)(圖1)。TPU 加速訓(xùn)練和推理,使大型模型能夠大規(guī)模高效運行。這些用于數(shù)據(jù)中心,開發(fā)人員可以通過 Google Cloud 訪問它們。由于這種靈活性,開發(fā)人員能夠快速制作模型原型并將其擴展到生產(chǎn)中,而無需針對不同的硬件重新編碼。
谷歌云

1. Google 的張量處理單元確保 TensorFlow 具有最佳性能。
各種日常產(chǎn)品都使用 TensorFlow,包括智能手機語音助手。當(dāng)您與 Siri 或 Google 助理交談時,TensorFlow 模型會處理您的語音波形。之后,它被轉(zhuǎn)換為張量,然后通過在數(shù)百萬個語音樣本上訓(xùn)練的神經(jīng)網(wǎng)絡(luò)層。這些模型將聲音分類為單詞,理解意圖并輸出響應(yīng)。
Google Photos 還依賴 TensorFlow 進行圖像識別,它可以組織照片。甚至醫(yī)護人員也使用它在醫(yī)學(xué)掃描期間進行疾病檢測(圖 2)。

2. 智能手機的 Google Assistant 通常使用 TensorFlow。
TensorFlow:廣泛采用的人工智能工具
總體而言,TensorFlow 使機器學(xué)習(xí)背后的復(fù)雜數(shù)學(xué)運算更易于使用,同時根據(jù)需要為開發(fā)人員提供更多控制權(quán)。它帶有完整的工作流程,從設(shè)計和訓(xùn)練模型到跨硬件擴展模型并在生產(chǎn)中部署。強大的計算能力、靈活性和廣泛的工具生態(tài)系統(tǒng)使 TensorFlow 成為廣泛采用的 AI 應(yīng)用程序平臺。
當(dāng)然,這只是一個概述。我計劃嘗試使用 TensorFlow 來自動執(zhí)行一些繁瑣的格式設(shè)置,我們在準(zhǔn)備發(fā)表文章時必須做。希望我能抽出一些時間在 Electronic Design 與大家分享這段旅程。
哦,它要多少錢?它是免費的,試用的。如果您想以某種方式部署它,似乎有各種定價選項,但這些選項都不是公開的。一旦我參與了試用,我就會報告。
然而,最近幾天 TensorFlow 的受歡迎程度已顯著下降。取而代之的是 PyTorch。ChatGPT 現(xiàn)在甚至使用 PyTorch。







評論