国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python Gluon參數和模塊命名操作教程

2024-09-09 19:03:20
字體:
來源:轉載
供稿:網友

本文實例講述了Python Gluon參數和模塊命名操作。分享給大家供大家參考,具體如下:

Gluon參數和模塊命名教程

在gluon里,每個參數和塊都有一個名字(和前綴)。參數名可以由用戶指定,block名也可以由用戶指定,也可以自動創建。

本教程中,我們將討論命名方面的最佳實踐。首先,import MXNet和Gluon

from __future__ import print_functionimport mxnet as mxfrom mxnet import gluon

Blocks命名

在創建block時,可以指定一個前綴給它:

mydense = gluon.nn.Dense(100, prefix='mydense_')print(mydense.prefix)mydense_

若沒有指定前綴,gluon會自動生成一個前綴

dense0 = gluon.nn.Dense(100)print(dense0.prefix)dense0_

當你創建更多同類塊時,它們將遞增后綴命名,以避免沖突:

dense1 = gluon.nn.Dense(100)print(dense1.prefix)dense1_

參數命名

blocks中的參數將用過將block的前綴添加到參數的名稱來命名:

print(dense0.collect_params())dense0_ ( Parameter dense0_weight (shape=(100, 0), dtype=<type 'numpy.float32'>) Parameter dense0_bias (shape=(100,), dtype=<type 'numpy.float32'>))

名稱空間

為了管理嵌套block的名稱,每個塊附加有一個name_scope(名稱空間)。在name_scope中創建的block都會在其名稱前加上父block的名稱。

我們將定義一個簡單的神經網絡來說明這點:

class Model(gluon.Block): def __init__(self, **kwargs):  super(Model, self).__init__(**kwargs)  with self.name_scope():   self.dense0 = gluon.nn.Dense(20)   self.dense1 = gluon.nn.Dense(20)   self.mydense = gluon.nn.Dense(20, prefix='mydense_') def forward(self, x):  x = mx.nd.relu(self.dense0(x))  x = mx.nd.relu(self.dense1(x))  return mx.nd.relu(self.mydense(x))

現在實例化這個神經網絡

注意:model0.dense0的名稱是model0_dense0_而非dense0_ 注意:我們指定model.mydense的前綴為mydense_,它的父類前綴會自動生成并添加到前面變成model0_mydense_

這里的名稱前綴和變量名model0沒有關系,這里就算把model0換成其他變量名比如net,前綴還是model?,? 表示這是一個遞增的數字,這里的名稱前綴和class Model有關 若將類名Model換成Hodel,那么后面的前綴都會變成 hodel?

model0 = Model()model0.initialize()model0(mx.nd.zeros((1, 20)))print(model0.prefix)print(model0.dense0.prefix)print(model0.dense1.prefix)print(model0.mydense.prefix)model0_model0_dense0_model0_dense1_model0_mydense_

若我們再次實例化Model,在Dense前會生成一個不同的名稱。

注意:model1.dense0的名稱依然是dense0_而非dense2_,遵循之前在model0中創建的dense層的命名規則。這是因為每個model的命名空間是相互獨立
model1 = Model()print(model1.prefix)print(model1.dense0.prefix)print(model1.dense1.prefix)print(model1.mydense.prefix)model1_model1_dense0_model1_dense1_model1_mydense_
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莲花县| 格尔木市| 施甸县| 尼勒克县| 辉南县| 惠安县| 晋中市| 湾仔区| 东明县| 游戏| 武平县| 儋州市| 永胜县| 新河县| 涡阳县| 安徽省| 安吉县| 获嘉县| 汤阴县| 河曲县| 彝良县| 平利县| 内丘县| 溆浦县| 固安县| 冷水江市| 阳泉市| 临泉县| 通道| 宝清县| 林周县| 新和县| 扬中市| 祥云县| 仙桃市| 高邮市| 湘西| 常熟市| 察隅县| 通渭县| 辽中县|