日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...

發(fā)布時(shí)間:2023/11/28 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了... 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

機(jī)器之心報(bào)道

作者:邱陸陸

8 月中旬,谷歌大腦成員 Martin Wicke 在一封公開郵件中宣布,新版本開源框架——TensorFlow 2.0 預(yù)覽版將在年底之前正式發(fā)布。今日,在上海谷歌開發(fā)者大會(huì)上,機(jī)器之心獨(dú)家了解到一個(gè)重大的改變將會(huì)把 Eager Execution 變?yōu)?TensorFlow 默認(rèn)的執(zhí)行模式。這意味著 TensorFlow 如同 PyTorch 那樣,由編寫靜態(tài)計(jì)算圖全面轉(zhuǎn)向了動(dòng)態(tài)計(jì)算圖。

谷歌開發(fā)者大會(huì)

在谷歌開發(fā)者大會(huì)的第二天,主會(huì)場(chǎng)全天都將進(jìn)行 TensorFlow 專場(chǎng)的演講。

來自 Google Brain 的軟件工程師馮亦菲在分享 TensorFlow 編程接口的新動(dòng)態(tài)時(shí)著重介紹了 tf.keras,tf.data 等高層庫,總結(jié)了 TensorFlow 團(tuán)隊(duì)對(duì)開發(fā)者使用 TensorFlow 的一系列建議,包括:

  • 用 Eager 模式搭建原型
  • 用 Datasets 處理數(shù)據(jù)
  • 用 Feature Columns 提取特征
  • 用 Keras 搭建模型
  • 借用 Canned Estimators
  • 用 SavedModel 打包模型

其中,在介紹 Eager 模式時(shí),她提到,在 TensorFlow 2.0 版本中,Eager 模式會(huì)成為默認(rèn)執(zhí)行模式,讓開發(fā)者更簡(jiǎn)潔高效地搭建原型。

在演講結(jié)束后的交流中,馮亦菲提到 TensorFlow 2.0 beta 版將會(huì)在今年年底公開,而正式版預(yù)計(jì)于明年 Q1 或 Q2 問世。Eager 模式變?yōu)槟J(rèn)設(shè)置之后,開發(fā)者可以在原型搭建完成后,利用 AutoGraph 把在 Eager 模式下搭建的模型自動(dòng)變成計(jì)算圖。開發(fā)者也可以進(jìn)一步對(duì) AutoGraph 生成的計(jì)算圖進(jìn)行優(yōu)化,或者關(guān)掉 Eager 模式自己構(gòu)建計(jì)算圖。

我們注意到,在兩個(gè)月之前剛剛發(fā)布的 AutoGraph已經(jīng)離開 tf.contrib 成為了正式的 TF 庫的一部分,在設(shè)計(jì)文檔中,工程師提到,「為了 TF 2.0 做準(zhǔn)備,我們將 AutoGraph 從 tensorflow / contrib / autograph 移動(dòng)到了 tensorflow / python / autograph。AutoGraph 仍可在 tensorflow.contrib.autograph 下訪問,直到 tensorflow.contrib 被取消?!?/p>

谷歌開發(fā)者大會(huì)的「熟面孔」,Google AI 軟件工程師金安娜同樣出現(xiàn)在了今年的主題演講中,她提到 TensorFlow 工程師會(huì)將自己的最新的設(shè)計(jì)提議放在 TensorFlow Community 的 Request for Comments 中,她鼓勵(lì)開發(fā)者前往瀏覽,并針對(duì)工程師的最新設(shè)計(jì)思路給出自己的意見。

例如,Martin Wicke 關(guān)于 sunset tf.contrib 的提議就仍然在反饋階段,有諸多開發(fā)者在該條 pull request 下提出了自己的意見。

RFC 的地址如下:

https://github.com/tensorflow/community/tree/master/rfcs

在今天下午的演講中,會(huì)有更多來自谷歌的工程師分享與 Eager 模式相關(guān)的設(shè)計(jì)思路和設(shè)計(jì)細(xì)節(jié)。

TensorFlow 歷程

TensorFlow 是由 Google Brain 團(tuán)隊(duì)在谷歌內(nèi)部第一代 DL 系統(tǒng) DistBelief 的基礎(chǔ)上改進(jìn)而得到的,這一通用計(jì)算框架目前已經(jīng)成為最流行的機(jī)器學(xué)習(xí)開源工具。

TensorFlow 的前身 DistBelief 是谷歌 2011 年開發(fā)的內(nèi)部 DL 工具,基于 DistBelief 的 Inception 網(wǎng)絡(luò)獲得了 2014 年的 ImageNet 挑戰(zhàn)賽冠軍。雖然 DistBelief 當(dāng)時(shí)在谷歌內(nèi)部已經(jīng)應(yīng)用于非常多的產(chǎn)品,但它過度依賴于谷歌內(nèi)部的系統(tǒng)架構(gòu),因此很難對(duì)外開源。經(jīng)過對(duì) DistBelief 的改進(jìn)與調(diào)整,谷歌于 2015 年 11 月正式發(fā)布了開源計(jì)算框架 TensorFlow 0.5.0。相比于 DistBelief,TensorFlow 的計(jì)算框架更加通用、計(jì)算資源安排更加合理,同時(shí)支持更多的深度學(xué)習(xí)算法與平臺(tái)。

在 TensorFlow 開源后,基于 TF 的項(xiàng)目在第一年里面層出不窮:超過 480 人為 TF 做出了直接貢獻(xiàn),其中包括谷歌開發(fā)者、外部研究者、獨(dú)立開發(fā)者、學(xué)生和其它公司的資深開發(fā)者。當(dāng)時(shí),TensorFlow 已經(jīng)成為了 GitHub 上最受歡迎的機(jī)器學(xué)習(xí)項(xiàng)目。

在開源的第一年中,TensorFlow 增加了對(duì)分布式訓(xùn)練、iOS、樹莓派開發(fā)板的支持,并且還與廣泛使用的大數(shù)據(jù)架構(gòu)相結(jié)合。此外,谷歌還發(fā)布了當(dāng)時(shí)表現(xiàn)最好的圖像分類模型 Inception-ResNet-v2,并且還回答了 GitHub、StackOverflow 和 TensorFlow mailing list 上數(shù)以千計(jì)的問題。

去年 2 月份在首屆 TensorFlow 開發(fā)者大會(huì)中,谷歌正式發(fā)布了 TensorFlow 1.0。在速度上,它在 64 個(gè) GPU 上分布式訓(xùn)練 Inception v3 獲得了 58 倍提速。在靈活性上,TensorFlow 1.0 引入了高層 API,例如 tf.layers、tf.metrics 和 tf.losses 等模塊,同時(shí)通過 tf.keras 將 Keras 庫正式整合進(jìn) TF 中。

此后,TensorFlow 發(fā)布了非常多的重要更新,包括動(dòng)態(tài)圖機(jī)制 Eager Execution、移動(dòng)端深度學(xué)習(xí)框架 TensorFlow Lite、面向 Java 開發(fā)者的機(jī)器學(xué)習(xí)框架 TensorFlow.js,以及自動(dòng)將 Python 轉(zhuǎn)化為 TF 計(jì)算圖的 AutoGraph 等。

在 TensorFlow 2.0 的規(guī)劃中,Eager Execution 變?yōu)槟J(rèn)執(zhí)行模式可能對(duì)開發(fā)者有比較大的影響,因?yàn)槲覀儾辉傩枰帉懲暾撵o態(tài)計(jì)算圖,并打開會(huì)話(Session)運(yùn)行它。相反,與 PyTorch 一樣,Eager Execution 是一個(gè)由運(yùn)行定義的接口,這意味著我們?cè)?Python 上調(diào)用它進(jìn)行計(jì)算可以直接得出結(jié)果。這種方式非常符合人類直覺,因此可以預(yù)想 TensorFlow 的入門在以后會(huì)簡(jiǎn)單地多。

以下為 8 月中旬谷歌大腦成員 Martin Wicke 在公開郵件中透露的 TensorFlow 2.0 的規(guī)劃:

TensorFlow 2.0 的規(guī)劃

自 2015 年開源發(fā)布以來,TensorFlow 已經(jīng)成為世界上使用最廣泛的機(jī)器學(xué)習(xí)框架,面向廣泛的用戶和用例。此后,TensorFlow 隨著計(jì)算硬件、機(jī)器學(xué)習(xí)研究和商業(yè)部署的快速發(fā)展而不斷更新。

為了反映這些快速變化,谷歌開發(fā)者已經(jīng)開始研究下一個(gè)版本的 TensorFlow。TensorFlow 2.0 將是一個(gè)重要的里程碑,重點(diǎn)關(guān)注易用性。以下是用戶對(duì) TensorFlow 2.0 的一些期望:

  • Eager execution 將是 2.0 的核心功能。它把用戶對(duì)編程模型的期望與 TensorFlow 實(shí)踐更好地結(jié)合起來,應(yīng)該會(huì)使 TensorFlow 更容易學(xué)習(xí)和應(yīng)用。
  • 支持更多的平臺(tái)和語言,并通過交換格式的標(biāo)準(zhǔn)化和 API 的對(duì)齊來改善這些組件之間的兼容性和對(duì)等性。
  • 將刪除過時(shí)的 API 并減少重復(fù),以免給用戶帶來困惑。

據(jù)郵件稱,谷歌計(jì)劃年底之前發(fā)布 TensorFlow 2.0 的預(yù)覽版。

兼容性與連續(xù)性

TensorFlow 2.0 提供了一個(gè)糾錯(cuò)并改正的機(jī)會(huì),而這些改進(jìn)在語義版本控制中是不允許的。

為了簡(jiǎn)化轉(zhuǎn)換,TensorFlow 團(tuán)隊(duì)將創(chuàng)建一個(gè)轉(zhuǎn)換工具,該工具需要更新 Python 代碼以使用與 TensorFlow 2.0 兼容的 API,或者在無法自動(dòng)轉(zhuǎn)換時(shí)發(fā)出警告。在向 1.0 過渡的過程中,類似的工具發(fā)揮了巨大的作用。

不是所有的改進(jìn)都能自動(dòng)進(jìn)行。比如,TensorFlow 不贊成使用一些沒有直接對(duì)接的 API。對(duì)于這種情況,我們將提供一個(gè)兼容模塊 (tensorflow.compat.v1),其中包含完整的 TensorFlow 1.x API,它會(huì)在 TensorFlow 2.x 的周期里得到維護(hù)。

磁盤兼容性

谷歌表示,他們不打算對(duì) SavedModels 或 GraphDef 存儲(chǔ)進(jìn)行重大更改,計(jì)劃 2.0 中能包含所有當(dāng)前內(nèi)核。然而,2.0 的變化意味著在與新模型兼容之前,原始 checkpoint 中的變量名必須要進(jìn)行轉(zhuǎn)換。

tf.contrib

TensorFlow 的 contrib 模塊已經(jīng)超出了單個(gè)存儲(chǔ)庫可以維護(hù)和支持的范圍。較大的項(xiàng)目最好分開維護(hù),我們將把較小的擴(kuò)展與 TensorFlow 主代碼一起孵化。因此發(fā)布 TensorFlow2.0 之后,我們將停止發(fā)布 tf.contrib。在接下來的幾個(gè)月里,我們將與 contrib 各自的所有者合作制定詳細(xì)的遷移計(jì)劃,包括如何在 TensorFlow 的社區(qū)頁面和文檔中宣傳你的 TensorFlow 擴(kuò)展。對(duì)于每一個(gè) contrib 模塊,我們有以下選擇:a)將項(xiàng)目整合到 TensorFlow 中;b)將其移動(dòng)到一個(gè)單獨(dú)的存儲(chǔ)庫;c)將其徹底移除。這確實(shí)意味著所有的 tf.contrib 將被棄用,今天,TensorFlow 將停止添加新的 tf.contrib 項(xiàng)目。

本文為機(jī)器之心原創(chuàng),轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)。返回搜狐,查看更多

總結(jié)

以上是生活随笔為你收集整理的独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。