图片里的标志化的构造和执行

来源:互联网 发布:iphone倒计时软件 编辑:程序博客网 时间:2024/06/10 01:14

图片里的标志化的构造和执行


这是一篇解释在图片里面的进行标志化构造和执行的文章。你最好和这篇文章一起阅读 Symbolic API..

标志构成

标志是我们想做的计算的描述。标志构造API生成计算图源来描述计算的需要。下面的图片显示了怎样我们组成标志来描述基本的计算。


mxnet.symbol.Variable函数创建参数节点代表计算的输入。
标志将被重载(C和E)通过基本的元素级的操作。


构造神经网络

除了精细的操作,mxnet也提供了一个方式来执行大的操作来模拟神经网络里面的层。我们可以使用这些操作符来描述神经网络的构造。


多输入网络的例子

下面是一个构成多个输入网络的例子


绑定和执行标志

当我们需要执行一个标志图。我们可以调用绑定函数来绑定NDArrays到参数节点来得到一个Executor


你可以调用Executor.Forward来得到输出结果,把NDArrays作为输入。


绑定多个输出

你可以使用mx.symbol.Group来组合symbols到一起,然后把它们绑到一起来得到两个的输出。


但是一直要记住,只有绑定了你想要的,系统才会给你做你想要的操作。

计算梯度

你可以指定梯度持有者,然后调用Executor.backward在Executor.forward之后,这将会返还给你相应的梯度。


神经网络的简单绑定接口

有时,把参数传给绑定函数是很繁琐的。尤其当你绑定一个大的图源就像神经网络。Symbol.simple_bind提供一个方式来简化这个程序。你只要指定输入的数据的大小,函数将会自动为你分配参数,然后给你绑定执行器。


附属状态(Auxiliary States)

附属状态和参数类似,但是你不能得到它们的梯度。这些状态可能不是计算的一部分,但是对于追踪是很有帮助的。


更多消息

你可以参考 Symbolic API 和 Python Documentation.

1 0
原创粉丝点击