Точная настройка на MXNet, кроме слоев FC

Я новичок в MXNet, и мне было интересно, если кто-нибудь знает, как точно настроить больше слоев в CNN, кроме только слоев FC. Все примеры, которые я смотрю, имеют тонкую настройку только на слоях FC. В Keras это может быть легко сделано, и больше блоков ConvNets, кроме блока FC, может быть точно настроено: https://github.com/Hvass-Labs/TensorFlow-Tutorials/blob/master/10_Fine-Tuning.ipynb

Предварительно обученная сеть

Если мы хотим отрегулировать только блок FC, мы переводим все слои в false: layer.trainable = False

точно настроить слои FC

Если мы хотим отрегулировать больше блоков ConnNet, кроме слоев FC, мы делаем layer.trainable=True для этих слоев: отлаживаем блоки ConvNet в Keras

У меня вопрос как сделать аналогично в MXNet

1 ответ

Ответ зависит от того, используете ли вы императивный (Gluon) или символический API.

Если вы используете императивный (Gluon) API:

Вместо создания gluon.Trainer со всеми параметрами (net.collect_params()), вы можете предоставить подмножество тех параметров, которые вы хотите обучить. Любой параметр, которого нет в ParameterDict Вы перейдете к Тренеру, останетесь замороженными

Если вы используете Symbolic API:

Вы можете использовать fixed_param_names параметр при создании Module, Вы можете предоставить регулярное выражение, соответствующее именам параметров, которые вы хотите заморозить. Проверьте этот пример.

Другие вопросы по тегам