首页 > 解决方案 > MXNet Gluon - 以编程方式访问神经网络层尺寸?

问题描述

让我们从在 MXNet Gluon 中创建一个非常基本的深度神经网络开始(受本教程的启发):

import mxnet as mx
from mxnet import gluon

ctx = mx.cpu()

net = gluon.nn.Sequential()
with net.name_scope():
    net.add(gluon.nn.Conv2D(channels=20, kernel_size=5, activation='relu'))
    net.add(gluon.nn.MaxPool2D(pool_size=2, strides=2))

现在,如果我们想打印图层的尺寸,我们所要做的就是......

print(net[0])
  # prints: Conv2D(None -> 20, kernel_size=(5, 5), stride=(1, 1), Activation(relu))

print(net[1])
  # prints: MaxPool2D(size=(2, 2), stride=(2, 2), padding=(0, 0), ceil_mode=False)

但是,如果我们想以编程方式检查paddingof ,而不是将其打印出来,该怎么net[1]办?

那么,在 MXNet Gluon 中以编程方式访问神经网络层维度的正确方法是什么?

标签: pythonneural-networkmxnet

解决方案


print(net[1]._kwargs["pad"])

尝试从 kwargs 字典中获取它们。在此来源中查找其他键。

是代码的 Colab 链接。

其他键kernel用于内核大小、stride步幅、.

获取所有键和值:

for k, v in net[1]._kwargs.items():
    print(k, v)

推荐阅读