TensorFlow基礎之理解計算圖

Tensor + Flow = TensorFlow

本章介紹TensorFlow的基礎。特別地,你將學習如何用TensorFlow進行基礎計算。在開始使用 TensorFlow之前,你必須理解它背后的哲學。 這個庫基于計算圖的概念,如果你不理解計算圖是如何工作的,你就不能理解如何使用這個庫。我將快速的介紹計算圖并告訴你如何用? TensorFlow進行簡單的計算。你將明白這個庫是如何工作的,并明白如何使用它。
本章的大部分介紹tensors的概念,并討論tensors在TensorFlow里是如何表示和操作的。這些討論有必要簡單的回顧一下作為張量計算基礎的數學概念。 特別地,我們簡單的回顧線性代數并說明如何用TensorFlow進行基礎的線性代數計算。接著我們討論聲明式和命令式編程風格的不同。不像許多編程語言, TensorFlow大部分是聲明式的。調用TensorFlow的計算添加計算描述到 TensorFlow的“計算圖”。特別地, TensorFlow代碼 “描述”計算但并不進行實際計算。 在TensorFlow v1里要運行計算,我們需要創建 tf.Session對像。雖然TensorFlow v2不用sessions對象,但是也有必要介紹sessions的概念并描述如何在TensorFlow里用它們進行計算。我們將簡單的比較TensorFlow v1和TensorFlow v2的區別。我們還討論變量的標記。TensorFlow里的Variables存貯張量并允許有狀態的計算以修改變量。我們說明如何創建變量并通過TensorFlow更新變量。
1.理解計算圖
要理解TensorFlow如何工作,你必須理解什么是計算圖。計算圖是個圖,里面的節點相當于一個操作或變量。 變量可以將值輸入到操作,一個操作可以將結果輸入到另一個操作。通常,節點是圓 (或橢圓),里面是變量的名或操作, 當一個節點值輸入到另一個節點時,用箭頭從一個節點連到另一個節點。最簡單的圖是里面只有一個變量的圖 (記住節點可以是變量或操作)。圖 2-1 簡單的計算變量 x的值。

???????????????????????????

2-1. 我們可以構建的最簡單的圖,顯示為一個簡單的變量

這不是很有趣!我們考慮一下略為復雜一點的情況,例如一個變量x y的和: z = x + y。可以用下面的圖表示 (2-2):

2-2. 兩個變量之和的基本的計算圖

2-2左邊是變量 (節點里是 x y),而更大的節點表示兩個變量的和。箭頭表示兩個變量輸入到第三個節點。圖應按拓撲順序讀取,意味著你要按箭頭的順序計算節點。箭頭也告訴你節點的依賴關系。要評估z, 你首先必須評估 x y我們也可以說進行求和的節點依賴于輸入節點。

要理解的一個重要方面是這種圖只定義一個操作 (本例是求和)從兩個輸入 (本例是 x y) 得到結果 (本例是 z)。這基本上定義為 求和。你必須給輸入x y賦值然后才能求和得到z。只有你評估了所有的節點圖才會給你結果。

注意,定義每一個節點稱為圖的“構建”,而評估相關操作的真實值稱為 “evaluation”

這是要理解的很重要的方面。注意輸入變量不一定是實數,它們可以是矩陣,向量,等。 (在神經網絡的相關計算里幾乎都是使用矩陣。)略為復雜的情況見圖 2-3它用圖來計算量 ?A(x + y), 有三個圖入量: x, ?y, A

??????????????????????

2-3. 計算量 A(x + y)的計算圖, 給出三個輸入量: x, y, A

我們可以通過給輸入節點(本例是 x, y, A)賦值來評估這個圖。例如,如果你考慮圖2-3中的圖并賦值 x = 1, y = 3, A = 5, 我們得到結果 b = 20

(繪制為圖2-4).

??????????????????????

2-4. 要評估圖2-3中的圖,我們必須給輸入節點 x, y, A 賦值然后通過圖評估節點

神經網絡本質上是非常復雜的計算圖,每一個神經元包含多個節點將它的輸出輸入到另外的神經元,直到得到一定的輸出。后面我們將構建最簡單的神經網絡:只有一個神經元。即便是這么簡單的神經網絡,我們也要很多的工作。

通過將構建與評估分開,TensorFlow允許你輕松的構建非常復雜的計算圖。 (記住,要計算結果,你必須賦值并評估所有的節點)。后面我告訴你這是如何工作的:如何構建計算圖,如何評估它們。

注意 ?? 記住tensorflow首先構建計算圖(稱為構建階段)但是不會評估它。這個庫保持兩步分開,所以你可以用不同的輸入進行多次計算。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/84634.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/84634.shtml
英文地址,請注明出處:http://en.pswp.cn/web/84634.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【HarmonyOS Next之旅】DevEco Studio使用指南(三十五) -> 配置構建(二)

目錄 1 -> 定制HAP多目標構建產物 1.1 -> 定義產物的HAP包名 1.2 -> 定義產物的deviceType 1.3 -> 定義產物的distributionFilter 1.4 -> 定義產物preloads的分包 1.5 -> 定義產物的source源碼集-pages 1.6 -> 定義產物的source源碼集-sourceRoots…

[muduo] ThreadPool | TcpClient | 異步任務 | 通信測試

第九章:線程池(ThreadPool) 在第八章《TcpServer》中,我們了解到muduo::net::TcpServer通過EventLoop線程池處理入站連接。 這些EventLoop線程主要負責網絡I/O:套接字讀寫和定時器處理,由Poller和Channel…

【筆記】解決部署國產AI Agent 開源項目 MiniMax-M1時 Hugging Face 模型下載報錯解決方案

MiniMax-AI/MiniMax-M1:MiniMax-M1,世界上第一個開放權重、大規模的混合注意力推理模型。 一、問題背景 【筆記】解決部署國產AI Agent 開源項目 MiniMax-M1時 Hugging Face 模型下載緩存占滿 C 盤問題:更改緩存位置全流程-CSDN博客 在執行hu…

新手如何利用AI助手Cursor生成復雜項目

新手如何利用AI助手Cursor生成復雜項目 在編程學習的道路上,AI工具正成為新手開發者的得力助手。本文將介紹如何借助Cursor這一強大的AI代碼助手,從零開始構建復雜項目。 一、基礎準備工作 作為編程新手,面對復雜項目時常常不知從何下手。利…

【Fargo】x264的intra refresh 3: 采集、編碼到 RTP打包

實際調試默認并么有打開b_intra_refresh D:\XTRANS\thunderbolt\ayame\zhb-bifrost\player-only\echo\codec\x264\echo_h264_encoder.cpp 即使打開了b_intra_refresh,也不影響RTP打包: 但是有一些要注意的地方: RFC 6184(“RTP Payload Format for H.264 Video”) intra …

Vue3 的生命周期:從 Composition API 視角看

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

面向互聯網大廠Java崗位面試:Spring Boot與微服務架構的深入探討

面向互聯網大廠Java崗位面試:Spring Boot與微服務架構的深入探討 問題1:什么是Spring Boot,它如何簡化Spring應用程序的開發? 簡潔回答: Spring Boot是一個基于Spring框架的開源Java平臺,旨在簡化新Sprin…

【信號與系統四】采樣和通信系統

在一定條件之下,一個連續時間信號完全可以用該信號在等時間間隔點上的值或樣本來表示,并且可以用這些樣本值把該信號全部恢復出來。這個稍微有點使人吃驚的性質來自于采樣定理。 例如一幀一幀的電影畫面,在我們大腦中構成連續的生活情節 接…

關于球面投影SphericalProjector的介紹以及代碼開發

球面投影的幾何背景 什么是球面投影? 球面投影將 2D 圖像中的像素點(通常是平面)映射到一個虛擬的球面上,再將球面上的角度(經度、緯度)展開到平面圖上。它是廣角圖像拼接、全景圖生成中常用的投影方法。…

wordpress外貿獨立站常用留言表單插件 contact form 7

Contact Form 7 介紹 Contact Form 7 是一款非常流行的 WordPress 聯系表單插件,廣泛應用于外貿獨立站。以下是其主要特點: 功能強大且免費:Contact Form 7 是完全免費的,支持創建和管理多個聯系表單。 簡單易用:用…

佰力博科技與您探討油浴極化的優點及工藝流程

一、油浴極化的優點 溫度范圍寬:油浴極化適用于較寬的溫度范圍,適合不同材料的極化需求。 絕緣強度高:油浴介質具有良好的絕緣性能,能夠承受較高的極化電場。 防潮性好:油浴極化在潮濕環境中仍能保持良好的絕緣性能。 …

從0開始學習R語言--Day28--高維回歸

我們一般處理的數據,都是樣本數量遠大于其特征數量,可用很多種回歸方法;但當特征數量遠大于樣本量時,可能會因為出現無數多個完美解導致過擬合現象,也使得在計算時搜索最有特征子集的方法不再可行(因為計算…

響應式數據的判斷:Vue3中的方法

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…

[論文閱讀] 人工智能+軟件工程 | 用大語言模型架起軟件需求形式化的橋梁

用大語言模型架起軟件需求形式化的橋梁:一篇ACM調查草案的深度解讀 論文信息 arXiv:2506.14627 ACM Survey Draft on Formalising Software Requirements with Large Language Models Arshad Beg, Diarmuid O’Donoghue, Rosemary Monahan Comments: 22 pages. 6 s…

DM8故障分析工具-AWR報告

在數據庫運維過程中,大家都會利用數據庫提供的各種工具來找到數據庫存在的問題,以便對癥實施配置優化,我是因工作需要,最近開始了解達夢數據庫DM8的故障分析工具,這里發現AWR報告是一款不錯的自帶工具,故而…

《企業司法風險監控系統架構設計:從數據采集到T+1實時預警的完整解決方案》

本文深入探討了天遠大數據在構建企業級司法風險監控平臺和風險報告查詢系統方面的技術實現與業務應用。平臺依托權威、合法的司法數據源,通過實時數據處理與智能分析,為金融、供應鏈、人力資源等領域提供精準、及時的司法預警和決策支持。它通過靈活的多…

使用ccs生成bin

CCS12.6 編譯生成BIN文件正確方法_ccs生成bin文件-CSDN博客

Kafka網絡模塊全鏈路源碼深度剖析與設計哲學解讀

在分布式消息系統的競技場上,Kafka憑借卓越的高性能與高吞吐量脫穎而出,而其網絡模塊正是支撐這一卓越表現的核心引擎。從生產者將消息送入消息隊列,到消費者從中拉取消息,Kafka網絡模塊貫穿消息流轉的每個環節。本文不僅深入Kafk…

華為開發者大會6月20日舉行

華為開發者大會2025(HDC 2025)將于6月20日至22日在深圳松山湖舉辦。 目前,華為開發者大會2025的詳細日程已經公布,華為終端BG董事長余承東、華為終端BG首席執行官何剛、華為終端BG軟件部總裁龔體等華為高管將出席并發表主題演講&a…

`provide` 和 `inject` 組件通訊:實現跨組件層級通訊

🤍 前端開發工程師、技術日更博主、已過CET6 🍨 阿珊和她的貓_CSDN博客專家、23年度博客之星前端領域TOP1 🕠 牛客高級專題作者、打造專欄《前端面試必備》 、《2024面試高頻手撕題》、《前端求職突破計劃》 🍚 藍橋云課簽約作者、…