中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用tf.Module來更好地構建Autograph

發布時間:2021-12-10 10:23:06 來源:億速云 閱讀:248 作者:柒染 欄目:大數據

本篇文章為大家展示了如何使用tf.Module來更好地構建Autograph,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

有三種計算圖的構建方式:  靜態計算圖,動態計算圖,以及Autograph。
TensorFlow 2.0主要使用的是動態計算圖和Autograph。  
動態計算圖易于調試,編碼效率較高,但執行效率偏低。  
 靜態計算圖執行效率很高,但較難調試。
而Autograph機制可以將動態圖轉換成靜態計算圖,兼收執行效率和編碼效率之利。
當然Autograph機制能夠轉換的代碼并不是沒有任何約束的,有一些編碼規范需要遵循,否則可能會轉換失敗或者不符合預期。
下面我們介紹使用tf.Module來更好地構建Autograph。

一,Autograph和tf.Module概述

前面在介紹Autograph的編碼規范時提到構建Autograph時應該避免在@tf.function修飾的函數內部定義tf.Variable.

但是如果在函數外部定義tf.Variable的話,又會顯得這個函數有外部變量依賴,封裝不夠完美。

一種簡單的思路是定義一個類,并將相關的tf.Variable創建放在類的初始化方法中。而將函數的邏輯放在其他方法中。

這樣一頓猛如虎的操作之后,我們會覺得一切都如同人法地地法天天法道道法自然般的自然。

驚喜的是,TensorFlow提供了一個基類tf.Module,通過繼承它構建子類,我們不僅可以獲得以上的自然而然,而且可以非常方便地管理變量,還可以非常方便地管理它引用的其它Module,最重要的是,我們能夠利用tf.saved_model保存模型并實現跨平臺部署使用。

實際上,tf.keras.models.Model, tf.keras.layers.Layer 都是繼承自tf.Module的,提供了方便的變量管理和所引用的子模塊管理的功能。

因此,利用tf.Module提供的封裝,再結合TensoFlow豐富的低階API,實際上我們能夠基于TensorFlow開發任意機器學習模型(而非僅僅是神經網絡模型),并實現跨平臺部署使用。

二,應用tf.Module封裝Autograph

定義一個簡單的function。

如何使用tf.Module來更好地構建Autograph

下面利用tf.Module的子類化將其封裝一下。

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

在tensorboard中查看計算圖,模塊會被添加模塊名demo_module,方便層次化呈現計算圖結構。

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

除了利用tf.Module的子類化實現封裝,我們也可以通過給tf.Module添加屬性的方法進行封裝。

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

三,tf.Module和tf.keras.Model,tf.keras.layers.Layer

tf.keras中的模型和層都是繼承tf.Module實現的,也具有變量管理和子模塊管理功能。

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

如何使用tf.Module來更好地構建Autograph

上述內容就是如何使用tf.Module來更好地構建Autograph,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南充市| 登封市| 通城县| 敦化市| 沿河| 科技| 白玉县| 绥宁县| 崇礼县| 盐山县| 贵定县| 金坛市| 和硕县| 宿州市| 玉溪市| 沽源县| 河源市| 平安县| 金湖县| 邵阳县| 彭州市| 天全县| 大荔县| 成安县| 瑞安市| 常州市| 湖州市| 抚松县| 建德市| 太仆寺旗| 洛宁县| 溧阳市| 沛县| 平阴县| 山西省| 油尖旺区| 荃湾区| 米林县| 十堰市| 隆尧县| 邛崃市|