mxnet symbol图的 变量 shape

 

在下面,我们将推断所有的需要作为输入数据的模型的参数

>>> net = mx.symbol.Variable('data')
>>> net = mx.symbol.FullyConnected(data=net, name='fc1', num_hidden=10)
>>> arg_shape, out_shape, aux_shape = net.infer_shape(data=(100, 100))
>>> dict(zip(net.list_arguments(), arg_shape))
{'data': (100, 100), 'fc1_weight': (10, 100), 'fc1_bias': (10,)}
>>> out_shape
[(100, 10)]
————————————————
版权声明:本文为CSDN博主「奋斗路上的产品狗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25491201/article/details/51277817

import mxnet as mx

a = mx.sym.Variable('data')
b = mx.sym.FullyConnected(data=a,name='fc1',num_hidden=100)
data_shape = {'data':(256,64)}
arg_shape,_,_ = b.infer_shape(**data_shape)
# b.list_arguments()               # 列出symbol中的所有参数,这里是输入以及全连接层的权值和偏置
# ['data', 'fc1_weight', 'fc1_bias']
print(arg_shape)                        # 这里展示上面三个参数的size

绑定标志并且运行
现在我们可以绑定空的标志,来实行前向传播和后向传播的操作。bind这个函数将创建一个Executor(用来执行真实的计算)



>>> # define computation graphs
>>> A = mx.symbol.Variable('A')
>>> B = mx.symbol.Variable('B')
>>> C = A * B
>>> a = mx.nd.ones(3) * 4
>>> b = mx.nd.ones(3) * 2
>>> # bind the symbol with real arguments
>>> c_exec = C.bind(ctx=mx.cpu(), args={'A' : a, 'B': b})
>>> # do forward pass calclation.
>>> c_exec.forward()
>>> c_exec.outputs[0].asnumpy()
[ 8.  8.  8.]
对于神经网络,一个更常用的使用模式是simple_bind,这个将会创建所有的参数数组。接下去你将会调用forward,和backward(如果梯度需要的话)来得到梯度。
>>> # define computation graphs
>>> net = some symbol
>>> texec = net.simple_bind(data=input_shape)
>>> texec.forward()
>>> texec.backward()
————————————————
版权声明:本文为CSDN博主「奋斗路上的产品狗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25491201/article/details/51277817

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值