哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一項名為“AutoGraph”的TensorFlow新功能

Tensorflowers ? 來源:未知 ? 作者:李倩 ? 2018-08-15 11:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

今天,我們將介紹一項名為 “AutoGraph” 的 TensorFlow 新功能。AutoGraph 可以將 Python 代碼(包括控制流、print() 和其他 Python 原生功能)轉(zhuǎn)換為純 TensorFlow 圖代碼。

要在不使用即時執(zhí)行的情況下編寫 TensorFlow 代碼,您需要進(jìn)行一些元編程,即編寫一個用于創(chuàng)建圖的程序,然后再執(zhí)行該圖。這種方式可能會令人困惑,特別是對于新開發(fā)者而言。一些特別棘手的情況涉及更復(fù)雜的模型,例如使用 if 和 while 的模型,或者具有 print() 等副作用或接受結(jié)構(gòu)化輸入的模型。

那么,我們?yōu)槭裁葱枰獔D呢?圖允許各種優(yōu)化,如移除常見的子表達(dá)式和融合內(nèi)核。此外,由于圖形成了一種獨(dú)立于平臺的計算模型,可簡化分布式訓(xùn)練和針對各種環(huán)境的部署。這對于多個 GPU 或 TPU 上的分布式訓(xùn)練或者通過TensorFlow Lite在移動或物聯(lián)網(wǎng)等其他平臺上分發(fā)模型尤為重要。

下面這個簡單示例顯示了您可能要添加到圖的運(yùn)算:

1def huber_loss(a):

2if tf.abs(a) <= delta: ? ?

3loss = a * a / 2

4else:

5loss = delta * (tf.abs(a) - delta / 2)

6return loss

如果使用即時執(zhí)行,也可以滿足要求,但是由于 Python 解釋器開銷或錯過程序優(yōu)化機(jī)會,這樣可能會很慢。

要準(zhǔn)備好執(zhí)行圖,您需要進(jìn)行重寫以使用類似 tf.cond() 的語句,但這可能比較繁瑣并且難以實(shí)現(xiàn)。AutoGraph 可以為您自動執(zhí)行此轉(zhuǎn)換,既保持了即時編程的簡易性,同時又獲得了圖執(zhí)行的性能優(yōu)勢。

在本例中,我們可以使用 autograph.convert() 裝飾函數(shù),AutoGraph 將自動生成可生成圖的代碼。

使用 AutoGraph 時,由于裝飾器的原因,以下代碼:

1@autograph.convert()

2def huber_loss(a):

3if tf.abs(a) <= delta: ? ?

4loss = a * a / 2

5else:

6loss = delta * (tf.abs(a) - delta / 2)

7return loss

在執(zhí)行時變?yōu)橐韵麓a。

1def tf__huber_loss(a):

2with tf.name_scope('huber_loss'):

3

4def if_true():

5with tf.name_scope('if_true'):

6loss = a * a / 2

7 return loss,

8

9def if_false():

10with tf.name_scope('if_false'):

11 loss = delta * (tf.abs(a) - delta / 2)

12 return loss,

13 loss = ag__.utils.run_cond(tf.less_equal(tf.abs(a), delta), if_true,

14if_false)

15 return loss

然后,您可以將這些代碼視為 TensorFlow 運(yùn)算進(jìn)行調(diào)用:

1with tf.Graph().as_default():

2x_tensor = tf.constant(9.0)

3

4# The converted function works like a regular op: tensors in, tensors out.

5huber_loss_tensor = huber_loss(x_tensor)

6

7with tf.Session() as sess:

8print('TensorFlow result: %2.2f\n' % sess.run(huber_loss_tensor))

如您所見,AutoGraph 填補(bǔ)了即時執(zhí)行與圖之間的差距。AutoGraph 接收即時風(fēng)格的 Python 代碼并將其轉(zhuǎn)換為生成圖的代碼。

AutoGraph 不僅僅是一組有用的宏,它還使用源代碼轉(zhuǎn)換來允許替換 Python 語言的任意部分,包括控制流、函數(shù)應(yīng)用和賦值、生成模板代碼,以及重構(gòu)慣用 Python 以便輕松轉(zhuǎn)換成圖。

使用任何編譯器,都會對錯誤消息的可讀性產(chǎn)生擔(dān)憂;為此,AutoGraph 設(shè)置為創(chuàng)建錯誤消息和堆疊追蹤,以顯示原始源代碼中的錯誤源,而不是僅顯示對生成代碼的引用。

可運(yùn)行示例

那么,AutoGraph 可以為我們做什么呢?以下是一些代碼示例,現(xiàn)在可以直接轉(zhuǎn)換為圖代碼而無需任何更改。如果您想實(shí)際運(yùn)行所有這些操作,我們提供了一個筆記本,您可以在Colab中打開或在GitHub中查看。

注:GitHub 鏈接https://github.com/tensorflow/models/blob/master/samples/core/guide/autograph.ipynb

接下來,我們使用循環(huán)和分支來檢查Collatz 猜想。請注意,出于多樣性考慮,我們將不使用裝飾器,而使用 AutoGraph 的 .to_graph() 函數(shù)將其轉(zhuǎn)換為圖。

1def collatz(a):

2counter = 0

3while a != 1:

4if a % 2 == 0:

5a = a // 2

6else:

7a = 3 * a + 1

8counter = counter + 1

9return counter

10

11graph_mode_collatz = autograph.to_graph(collatz)

12# The code is human-readable, too

13print(autograph.to_code(collatz))

14

15collatz_tensor = graph_mode_collatz(tf.constant(n))

AutoGraph 可以支持任意的嵌套控制流,例如:

1def f(n):

2if n >= 0:

3while n < 5: ? ?

4n += 1

5print(n)

6return n

AutoGraph 允許在循環(huán)內(nèi)向數(shù)組追加元素。為此,我們將使用一些 AutoGraph 輔助工具,set_element_type 和 stack。

1def f(n):

2z = []

3# We ask you to tell us the element dtype of the list

4autograph.set_element_type(z, tf.int32)

5for i in range(n):

6z.append(i)

7# when you're done with the list, stack it

8# (this is just like np.stack)

9return autograph.stack(z)

我們還支持 break、continue,甚至 print 和 assert 等語句。轉(zhuǎn)換后,此代碼段的 Python assert 轉(zhuǎn)換為使用適當(dāng)?shù)?tf.Assert 的圖。

1def f(x):

2assert x != 0, 'Do not pass zero!'

3return x * x

能夠輕松向圖添加循環(huán)和控制流等,這意味著可以輕松將訓(xùn)練循環(huán)轉(zhuǎn)移到圖中。您可以在此筆記本中找到相關(guān)示例,其中,我們接受一個 RNN 訓(xùn)練循環(huán)并用一個 sess.run() 調(diào)用執(zhí)行。在需要將整個訓(xùn)練循環(huán)傳遞給加速器而不是通過 CPU 控制器管理訓(xùn)練的情況下,這樣做十分有用。

注:筆記本鏈接

https://colab.research.google.com/github/tensorflow/models/blob/master/samples/core/guide/autograph.ipynb#scrollTo=4LfnJjm0Bm0B

AutoGraph 開啟了構(gòu)建和訓(xùn)練模型的新思路。我們期待根據(jù)開發(fā)者社區(qū)的建議為 AutoGraph 添加更多功能,因此歡迎您提交問題并給出建議!

圖性能與即時執(zhí)行

即時執(zhí)行非常簡單易用,但圖的速度通常要更快。雖然二者的比較基準(zhǔn)較為復(fù)雜(并且取決于應(yīng)用和硬件配置),但在這個簡單的示例中,我們可以看到,從即時切換到大量使用 if 和 while 的 AutoGraph 代碼時,速度有了顯著提升。

最終,AutoGraph 允許您在加速器硬件(如 GPU 和Cloud TPU)上使用動態(tài)和流控制較多的模型,這在基于大量數(shù)據(jù)訓(xùn)練大型模型時十分必要。

我們剛剛開始著手分析性能。如果您發(fā)現(xiàn)某個圖語句的運(yùn)行速度低于預(yù)期,請?zhí)峤粏栴}!

AutoGraph 和即時執(zhí)行

雖然使用即時執(zhí)行時,您仍然可以通過tf.contrib.eager.defun對部分代碼使用圖執(zhí)行,但這要求您使用 tf.cond() 等 TensorFlow 圖運(yùn)算。將來,AutoGraph 將與 defun 無縫集成,允許用簡單的即時式 Python 語言編寫圖代碼。實(shí)現(xiàn)此功能后,您可以通過選擇性地將即時代碼轉(zhuǎn)換為圖片段來使用 AutoGraph 加速熱點(diǎn)。

結(jié)論

AutoGraph 是一款新工具,可幫您輕松構(gòu)建能夠在 TensorFlow 圖中輕松運(yùn)行的直觀、復(fù)雜的模型。此工具目前為 contrib 中的實(shí)驗性工具,但我們希望盡快將它加入到核心 TensorFlow 中。

跟我們分享您的 AutoGraph 使用體驗!如果您有任何反饋、建議或想法,請?zhí)峤粏栴}并向TensorFlow 開發(fā)者群組發(fā)送消息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2950

    文章

    48126

    瀏覽量

    418464
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    336

    瀏覽量

    62373

原文標(biāo)題:AutoGraph 將 Python 轉(zhuǎn)換為 TensorFlow 圖

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    下圖中的與打開文件相連的枚舉常量是自己一項一項編輯...

    下圖中的與打開文件相連的枚舉常量是自己一項一項編輯的還是自動就有的?
    發(fā)表于 03-17 21:39

    51單片機(jī)的個引腳是否只能執(zhí)行一項功能?

    51單片機(jī)的個引腳是否只能執(zhí)行一項功能?比如說,控制蜂鳴器的引腳如果用來控制蜂鳴器的話,還可以用作其他的功能來控制其他元件嗎?單片機(jī)控制步進(jìn)電機(jī)時,可以另外用電源給步進(jìn)電機(jī)供電嗎?還
    發(fā)表于 06-22 18:03

    Live Messenger新功能:音樂同步播放

    ????來自微軟Live Messenger開發(fā)小組的好消息,下版微軟Windows Live Messenger Build將擁有一項體貼的新功能:音樂播放同步功能。????通過這
    發(fā)表于 03-07 20:48 ?1318次閱讀

    AppleWatchSeries4兩新功能獲FDA的許可

    據(jù)外媒報道,當(dāng)?shù)貢r間9月12日,蘋果公司宣布,Apple Watch Series 4的兩新功能獲得了美國食品與藥品管理局(FDA)的許可。其中一項被稱為心電圖(EKG)的心臟監(jiān)測功能
    發(fā)表于 09-17 14:32 ?1825次閱讀

    科技巨頭公司結(jié)盟,,共同建立一項名為“計算快速鏈接”的新行業(yè)標(biāo)準(zhǔn)

    據(jù)報道,英特爾與微軟、阿里巴巴、思科、戴爾EMC、Facebook、谷歌、惠普和華為宣布成立聯(lián)盟,共同建立一項名為“計算快速鏈接”(Compute Express Link,以下簡稱CXL)的新行業(yè)標(biāo)準(zhǔn),以便為數(shù)據(jù)中心中央處理單元(CPU)和加速芯片之間提供超快速互連。
    的頭像 發(fā)表于 03-28 10:01 ?3599次閱讀

    特斯拉打盹模式新功能,可設(shè)置鬧鐘和空調(diào)系統(tǒng)

    據(jù)外媒報道,特斯拉車主很快就能享受到一項名為“打盹模式”(Nap Mode)的新功能,這項新功能近期將通過車機(jī)軟件OTA更新推送給車主。
    的頭像 發(fā)表于 01-02 17:07 ?7991次閱讀

    微軟發(fā)布Edge Dev通道83.0.478.5版本更新 新增5新功能

    在穩(wěn)定頻道發(fā)布81版本更新之后,微軟今天再次發(fā)布了Dev通道的版本更新,版本號升至83.0.478.5,共引入了5新功能。首先最值得關(guān)注的一項功能就是在頁面上選中文字之后,可以選擇只
    的頭像 發(fā)表于 04-15 14:44 ?4497次閱讀

    Facebook正在測試一項名為“校園”的新功能

    據(jù)報道,F(xiàn)acebook正在測試一項名為“校園”的新功能,大學(xué)生可以使用其大學(xué)ID登錄并與大學(xué)中的其他人建立聯(lián)系。學(xué)生可以寫下他們的預(yù)期畢業(yè)年份,專業(yè)和輔修學(xué)位,甚至還可以輸入宿舍編號以與他人聯(lián)系。
    的頭像 發(fā)表于 04-22 14:26 ?2158次閱讀

    Netflix向電話應(yīng)用程序添加了一項新功能

    最近,Netflix向電話應(yīng)用程序添加了一項新功能,可讓您鎖定屏幕。這些新的屏幕鎖定控件有助于防止您不小心跳到節(jié)目或電影的上個或下個部分。
    的頭像 發(fā)表于 04-23 14:39 ?2324次閱讀

    Facebook直在努力為WhatApp引入系列新功能

    多設(shè)備支持并不是一項新功能。去年我們第次聽說了它。從那時起,跟蹤WhatsApp開發(fā)的博客WABetaInfo多次報告了該公司在開發(fā)一項功能
    的頭像 發(fā)表于 07-29 17:00 ?2254次閱讀

    cnvrg.io是第個集成MIG的ML平臺,這是一項突破性的新功能

    cnvrg.io用于機(jī)器學(xué)習(xí)的AI OS宣布將NVIDIA多實(shí)例GPU(MIG)技術(shù)與其數(shù)據(jù)科學(xué)平臺進(jìn)行了原生集成。cnvrg.io是第個集成MIG的ML平臺,這是一項突破性的新功能
    的頭像 發(fā)表于 09-16 16:53 ?3206次閱讀

    WhatsApp正在開發(fā)一項新功能,它將引入自動刪除對話中發(fā)送的圖像

    正如WABeta Info的專家告訴我們的那樣,WhatsApp正在開發(fā)一項新功能,它將引入自動刪除對話中發(fā)送的圖像,視頻和GIF的功能。在測試版WhatsApp Beta Android
    的頭像 發(fā)表于 09-23 16:01 ?2361次閱讀

    WhatsApp正在開發(fā)一項新功能

    WhatsApp正在開發(fā)一項新功能,該功能將使用戶能夠共享消失得無影無蹤的媒體文件。本周,我們將了解有關(guān)此功能的更多詳細(xì)信息。對于初學(xué)者來說,即將到期的媒體
    的頭像 發(fā)表于 09-30 10:22 ?2404次閱讀

    Google帶來一項新功能,用戶可以將照片內(nèi)容通知互聯(lián)網(wǎng)巨頭

    Google Photos Android應(yīng)用程序的最新更新帶來了一項新功能。借助此功能,用戶可以將其照片內(nèi)容通知互聯(lián)網(wǎng)巨頭。
    的頭像 發(fā)表于 11-13 14:12 ?2099次閱讀

    Zoom推出一項軟件新功能

    據(jù)外媒報道,視頻會議軟件廠商Zoom推出了一項新的功能——“At-Risk?Meeting?Notifier”:當(dāng)在線視頻遇到Zoombombing攻擊產(chǎn)生風(fēng)險時,新增的功能就會像會議發(fā)起人發(fā)出提醒。?
    的頭像 發(fā)表于 12-06 09:03 ?2504次閱讀
    大埔区| 上饶市| 腾冲县| 班戈县| 腾冲县| 武胜县| 新乡市| 泗洪县| 浑源县| 城市| 德令哈市| 兰州市| 河池市| 苍山县| 集贤县| 乌鲁木齐市| 揭东县| 密山市| 伊吾县| 崇左市| 长海县| 商南县| 泗水县| 平安县| 鹰潭市| 银川市| 抚州市| 香格里拉县| 莱阳市| 石景山区| 合川市| 博野县| 蓝山县| 娱乐| 江山市| 三穗县| 宁城县| 奉新县| 犍为县| 凤翔县| 三河市|