最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實例

 更新時間:2020年02月07日 16:30:28   作者:大雄沒有叮當(dāng)貓  
今天小編就為大家分享一篇tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

如下所示:

import tensorflow as tf
tfe = tf.contrib.eager

tf.enable_eager_execution()

大多數(shù)情況下,在為機器學(xué)習(xí)模型編寫代碼時,您希望在比單個操作和單個變量操作更高的抽象級別上操作。

1.關(guān)于圖層的一些有用操作

許多機器學(xué)習(xí)模型可以表達(dá)為相對簡單的圖層的組合和堆疊,TensorFlow提供了一組許多常用圖層,以及您從頭開始或作為組合創(chuàng)建自己的應(yīng)用程序特定圖層的簡單方法。TensorFlow在tf.keras包中包含完整的Keras API,而Keras層在構(gòu)建自己的模型時非常有用。

#在tf.keras.layers包中,圖層是對象。要構(gòu)造一個圖層,只需構(gòu)造一個對象。大多數(shù)層將輸出維度/通道的數(shù)量作為第一個參數(shù)。
layer=tf.keras.layers.Dense(100)
#輸入維度的數(shù)量通常是不必要的,因為它可以在第一次使用圖層時推斷出來,但如果您想手動指定它,則可以提供它,這在某些復(fù)雜模型中很有用。
layer=tf.keras.layers.Dense(10,input_shape=(None,5))
#調(diào)用層
layer(tf.zeros([10,5]))
 

#圖層有許多有用的方法。例如,您可以通過調(diào)用layer.variables來檢查圖層中的所有變量。在這種情況下,完全連接的層將具有權(quán)重和偏差的變量。
variable=layer.variables
# variable[0]
layer.kernel.numpy()
layer.bias

2.自定義圖層

實現(xiàn)自己的層的最佳方法是擴展tf.keras.Layer類并實現(xiàn):

__init__,您可以在其中執(zhí)行所有與輸入無關(guān)的初始化

build方法,您知道輸入張量的形狀,并可以進(jìn)行其余的初始化

call方法,在這里進(jìn)行正向傳播計算

請注意,您不必等到調(diào)用build來創(chuàng)建變量,您也可以在__init__中創(chuàng)建它們。但是,在build中創(chuàng)建它們的優(yōu)點是它可以根據(jù)圖層將要操作的輸入的形狀啟用后期變量創(chuàng)建。另一方面,在__init__中創(chuàng)建變量意味著需要明確指定創(chuàng)建變量所需的形狀。

class MyDenseLayer(tf.keras.layers.Layer):
 def __init__(self, num_outputs):
  super(MyDenseLayer, self).__init__()
  self.num_outputs = num_outputs
  
 def build(self, input_shape):
  self.kernel = self.add_variable("kernel", 
                  shape=[input_shape[-1].value, 
                      self.num_outputs])
  
 def call(self, input):
  return tf.matmul(input, self.kernel)
 
layer = MyDenseLayer(10)
print(layer(tf.zeros([10, 5])))
print(layer.variables)

3.搭建網(wǎng)絡(luò)結(jié)構(gòu)

機器學(xué)習(xí)模型中許多有趣的圖層是通過組合現(xiàn)有層來實現(xiàn)的。例如,resnet中的每個residual塊是卷積,批量標(biāo)準(zhǔn)化等的組合。

創(chuàng)建包含其他圖層的類似圖層的東西時使用的主類是tf.keras.Model。實現(xiàn)一個是通過繼承自tf.keras.Model完成的。

class ResnetIdentityBlock(tf.keras.Model):
 def __init__(self, kernel_size, filters):
  super(ResnetIdentityBlock, self).__init__(name='')
  filters1, filters2, filters3 = filters
 
  self.conv2a = tf.keras.layers.Conv2D(filters1, (1, 1))
  self.bn2a = tf.keras.layers.BatchNormalization()
 
  self.conv2b = tf.keras.layers.Conv2D(filters2, kernel_size, padding='same')
  self.bn2b = tf.keras.layers.BatchNormalization()
 
  self.conv2c = tf.keras.layers.Conv2D(filters3, (1, 1))
  self.bn2c = tf.keras.layers.BatchNormalization()
 
 def call(self, input_tensor, training=False):
  x = self.conv2a(input_tensor)
  x = self.bn2a(x, training=training)
  x = tf.nn.relu(x)
 
  x = self.conv2b(x)
  x = self.bn2b(x, training=training)
  x = tf.nn.relu(x)
 
  x = self.conv2c(x)
  x = self.bn2c(x, training=training)
 
  x += input_tensor
  return tf.nn.relu(x)
 
  
block = ResnetIdentityBlock(1, [1, 2, 3])
print(block(tf.zeros([1, 2, 3, 3])))
print([x.name for x in block.variables])

以上這篇tensorflow之自定義神經(jīng)網(wǎng)絡(luò)層實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python中的文件操作

    詳解Python中的文件操作

    今天這篇文章給大家介紹Python中的文件操作,文章內(nèi)容介紹的很詳細(xì),有需要的可以參考借鑒。
    2016-08-08
  • Python實現(xiàn)視頻自動打碼的示例代碼

    Python實現(xiàn)視頻自動打碼的示例代碼

    我們在觀看視頻的時候,有時候會出現(xiàn)一些奇怪的馬賽克,影響我們的觀影體驗,那么這些馬賽克是如何精確的加上去的呢?本文就來為大家詳細(xì)講講
    2022-04-04
  • Python內(nèi)置函數(shù)round()的用法和注意事項詳解

    Python內(nèi)置函數(shù)round()的用法和注意事項詳解

    這篇文章主要介紹了Python中round()函數(shù)的相關(guān)資料,包括其基本語法、使用示例和注意事項,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • 詳解Python圖像處理中內(nèi)存泄漏的問題解決方法

    詳解Python圖像處理中內(nèi)存泄漏的問題解決方法

    在Python編程中,尤其是在圖像處理領(lǐng)域,內(nèi)存泄漏是一個不容忽視的問題,本文將深入探討Python為何容易發(fā)生內(nèi)存泄漏,以及如何有效檢測和解決,希望對大家有所幫助
    2025-02-02
  • Python使用email模塊對郵件進(jìn)行編碼和解碼的實例教程

    Python使用email模塊對郵件進(jìn)行編碼和解碼的實例教程

    Python中我們一般使用SMTP模塊來首發(fā)郵件,而用email模塊來處理郵件編碼,本文我們就來詳細(xì)看一下Python使用email模塊對郵件進(jìn)行編碼和解碼的實例教程,需要的朋友可以參考下
    2016-07-07
  • keras的get_value運行越來越慢的解決方案

    keras的get_value運行越來越慢的解決方案

    這篇文章主要介紹了keras的get_value運行越來越慢的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python底層封裝實現(xiàn)方法詳解

    Python底層封裝實現(xiàn)方法詳解

    這篇文章主要介紹了Python底層封裝實現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • tensorflow-gpu2.3版本安裝步驟

    tensorflow-gpu2.3版本安裝步驟

    這篇文章主要介紹了tensorflow-gpu2.3版本安裝步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Django實現(xiàn)快速分頁的方法實例

    Django實現(xiàn)快速分頁的方法實例

    分頁是我們?nèi)粘i_發(fā)中必不可少的一個功能,下面這篇文章主要給大家介紹了關(guān)于Django如何實現(xiàn)快速分頁的方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • 淺析Python編寫函數(shù)裝飾器

    淺析Python編寫函數(shù)裝飾器

    這篇文章主要介紹了Python編寫函數(shù)裝飾器的相關(guān)資料,需要的朋友可以參考下
    2016-03-03

最新評論

竹北市| 白山市| 永顺县| 博野县| 修文县| 潼关县| 页游| 清水河县| 胶州市| 大新县| 夏河县| 麦盖提县| 九江市| 天台县| 乌拉特前旗| 孝感市| 永兴县| 永嘉县| 通化市| 桃园县| 梅州市| 建湖县| 云霄县| 麻阳| 施秉县| 高邮市| 岫岩| 浙江省| 韩城市| 辉县市| 津南区| 南丹县| 邵阳市| 博湖县| 新余市| 新竹县| 肇州县| 喜德县| 承德市| 卢氏县| 荔波县|