当我们调用forward时,我试图了解mxnet的内部流程。有什么方法可以获取mxnet的源代码?
答案 0 :(得分:1)
这实际上取决于符号图的外观。我假设您将MXNet与Python(Python documentation)结合使用。您可以在此处选择使用MXNet符号库或Gluon库。
现在,您正在问是否可以检查代码,是的,您可以find it on GitHub。文件夹python
包含python接口,文件夹src
包含所有MXNet源。 forward
上发生的事情最终由MXNet执行引擎定义,该引擎跟踪操作员和神经网络层的输入/输出依赖性,并在不同设备(CPU,GPU)上分配内存。 There is a general architecture documentation for this。
我想您对每一个操作都感兴趣,例如argmax
(归约),tanh
(一元数学操作)或convolution
(复杂神经网络操作)。您可以在operator folder of MXNet中找到。这本身就需要完整的文档,并且有一个专门讨论MXNet的here论坛,但是我将简要介绍一下:
forward
和backward
操作。它还需要定义其输出形状,以便可以将其与其他操作链接在一起。如果该操作员需要权重,则需要定义所需的内存量,以便MXNet可以分配它。relu
)中以相似的方式定义。根据您的广泛问题,我能告诉您的一切。