Pytorch, backprop и композитные модели - PullRequest
0 голосов
/ 16 января 2020

Просто быстрая проверка на вопрос, который у меня есть.

Я хочу построить модель, которая генерирует свою продукцию на основе двух моделей F и G, вот так.

y = G(F(x))

где x - это, конечно, вход, а у - выход.

Однако сначала я хочу обновить веса F(x), а затем - обновления весов обоих F и G, основанные на значении y.

Я понимаю, что pytorch предлагает способ указать свой собственный метод backprop, но, поскольку мой "метод", кажется, основан на c компонентов, может быть, я смогу сделать это с помощью стандартного решения?

Я думаю, что мне нужен отдельный оптимизатор / потери для объектов F и G. Но в дополнение к этому, также некоторые функциональные возможности обновления для составной модели G(F()). Кто-нибудь может это подтвердить?

1 Ответ

1 голос
/ 16 января 2020

Если, как вы предлагаете, оптимизаторы и потери для F и G можно разделить, то я не думаю, что будет необходимо реализовывать какие-либо другие функции обновления, поскольку вы можете указать набор параметров для каждый оптимизатор, например

optimizer_F = optim.SGD(F.parameters(),...)
optimizer_G = optim.SGD(G.parameters(),...)

, тогда при вызове optimizer_F.step() он будет обновлять только параметры F и аналогично optimizer_G.step() будет обновлять только параметры G .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...