0

我正在努力理解 Julia 中 MXNet 的符号 API 细微差别。我在 MXNet 文档中看到了一个示例,其中包含以下行:

act1 = mx.Activation(data = fc1, name=:relu1, act_type=:relu)

为什么act_type分配符号:relu.?

:relu函数指针吗?如果不是,那么我们在哪里将值分配给:relu符号?为什么数据没有分配符号?为什么名称被分配一个符号而不是一个字符串?

4

1 回答 1

1

符号是“符号”类型的变量的有效值。我的猜测是,内部有一个switch样式语句,它根据传递的符号应用特定的子例程,或者,正如你所说,符号本身用于调用特定的函数。它是一个符号而不是字符串这一事实可能只是设计问题。没有什么能阻止人们定义这样一个函数,比如接受一个字符串参数,然后使用该字符串调用一个函数。

请注意,符号与“函数句柄”不同(我认为这是您混淆它的原因)。换句话说,不,您没有使用这种语法将“函数指针”作为参数传递。

没有为数据分配符号,因​​为大概您应该在调用函数时将实际数据作为第一个参数传递。

于 2017-01-29T13:19:14.883 回答