gluon 顺序模型:params return 空集合

gluon Sequential model: params return empty collection

我正在使用下面的代码创建一个顺序胶子模型。出于某种原因,属性 参数 returns 一个空集合。

def build_net():
    net = gluon.nn.Sequential()
    with net.name_scope():
        net.add(gluon.nn.Dense(32, activation='relu'))
        net.add(gluon.nn.Dense(32, activation='relu'))
        net.add(gluon.nn.Dense(1))

    net.collect_params().initialize(mx.init.Normal(sigma=.1))
    return net

net_1 = build_net() 
print(net_1.params)

输出:

sequential0_ (

)

使用 Sequential.collect_params(),它不仅收集此 Block 参数,还收集所有子项(例如层)的参数。

使用 collect_params() 到 returns 包含此块及其所有子参数的 ParameterDict

def build_net():
    net = gluon.nn.Sequential()
    with net.name_scope():
        net.add(gluon.nn.Dense(32, activation='relu'))
        net.add(gluon.nn.Dense(32, activation='relu'))
        net.add(gluon.nn.Dense(1))

    net.initialize(mx.init.Normal(sigma=.1))
    return net

net_1 = build_net() 
print(net_1.collect_params())