Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在努力理解 Julia 中 MXNet 的符号 API 细微差别。我在 MXNet 文档中看到了一个示例,其中包含以下行:
act1 = mx.Activation(data = fc1, name=:relu1, act_type=:relu)
为什么act_type分配符号:relu.?
act_type
:relu
是:relu函数指针吗?如果不是,那么我们在哪里将值分配给:relu符号?为什么数据没有分配符号?为什么名称被分配一个符号而不是一个字符串?
符号是“符号”类型的变量的有效值。我的猜测是,内部有一个switch样式语句,它根据传递的符号应用特定的子例程,或者,正如你所说,符号本身用于调用特定的函数。它是一个符号而不是字符串这一事实可能只是设计问题。没有什么能阻止人们定义这样一个函数,比如接受一个字符串参数,然后使用该字符串调用一个函数。
switch
请注意,符号与“函数句柄”不同(我认为这是您混淆它的原因)。换句话说,不,您没有使用这种语法将“函数指针”作为参数传递。
没有为数据分配符号,因为大概您应该在调用函数时将实际数据作为第一个参数传递。