国产探花免费观看_亚洲丰满少妇自慰呻吟_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_
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宜川县| 武功县| 迭部县| 泰安市| 柯坪县| 咸丰县| 克东县| 岑溪市| 河北省| 崇文区| 永年县| 襄樊市| 宁都县| 南华县| 通许县| 富蕴县| 崇州市| 灵璧县| 定结县| 恩施市| 武定县| 贡嘎县| 沁水县| 三亚市| 牡丹江市| 沙洋县| 郧西县| 佛山市| 宣威市| 申扎县| 青海省| 祁东县| 焉耆| 石台县| 定远县| 卓尼县| 浙江省| 平江县| 衡东县| 平潭县| 通化县|