module/optimizer 如何选择要优化的交易品种?

How does a module/optimizer choose which symbols to optimize?

我知道我可以自己制作 module/optimizer 来执行此操作,但是可以告诉现有的 mxnet 模块只优化一部分变量吗?

按照同样的思路,模块如何确定要优化的交易品种?例如,与 MXNet 中的 tensorflow 不同,要优化的数据和变量都只是 "Variable" 符号,但不知何故 MXNet 只影响实际变量的 NDArrays 而不是数据 NDArrays。它是如何检查的?是否有它使用的命名约定?如果是这样,那个约定是什么? (任何名称中包含 'data' 的符号都未优化?)

虽然我没有测试过,但看了文档和源码,我想我找到了答案。

在模块构造函数中,有一个名为 data_names 的默认参数,它是符号名称的字符串列表,这些符号是数据对象并且不需要优化(类似于标签)。此外,还有一个名为 fixed_param_names 的默认参数,它是一个字符串列表,指定不优化的变量黑名单。