【问题标题】:Fine tuning on MXNet other than FC layersMXNet 上的微调(FC 层除外)
【发布时间】:2018-03-30 01:25:26
【问题描述】:

我是 MXNet 的新手,我想知道是否有人知道如何微调 CNN 中的更多层,而不仅仅是 FC 层。我查看的所有示例都仅在 FC 层上进行了微调。在 Keras 中,这可以轻松完成,并且可以微调除 FC 块之外的更多 ConvNet 块:https://github.com/Hvass-Labs/TensorFlow-Tutorials/blob/master/10_Fine-Tuning.ipynb

Pre-trained network

如果我们只想微调 FC 块,我们将所有层的可训练性设为 false: layer.trainable = False

finetune the FC layers

如果我们想要微调除 FC 层之外的更多 ConnNet 块,我们为这些层设置 layer.trainable=True: finetune blocks of ConvNet in Keras

我的问题是如何在 MXNet 中做类似的事情

【问题讨论】:

  • 嘿@Azi,我建议添加一些您需要帮助的特定问题的示例。 SO 用户很乐意提供帮助,但我们需要具体而不是笼统的问题。通常,这意味着添加您已经尝试过的代码。

标签: deep-learning conv-neural-network mxnet


【解决方案1】:

答案取决于您使用的是命令式 (Gluon) 还是符号式 API。

如果您使用的是命令式 (Gluon) API:

您可以提供要训练的这些参数的子集,而不是使用所有参数 (net.collect_params()) 创建 gluon.Trainer。您传递给 Trainer 的 ParameterDict 中不存在的任何参数都将保持冻结状态。

如果您使用符号 API:

您可以在创建Module 时使用fixed_param_names 参数。您可以提供与要冻结的参数名称匹配的正则表达式。检查this 示例。

【讨论】:

    猜你喜欢
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多