Будет ли Pytorch правильно работать с Python для расчета кодов в сети? - PullRequest
0 голосов
/ 11 декабря 2018

В качестве примера возьмите приведенные ниже поддельные коды:

class():
    def forward(input):
        x = some_torch_layers(input)
        x = some_torch_layers(x)
        ...
        x = sum(x) # or numpy or other operations
        x = some_torch_layers(x)
        return x

Хорошо ли будет работать сеть пироха?Особенно, пока sum(x) хорошо работает в обратном процессе.

1 Ответ

0 голосов
/ 11 декабря 2018

TL; DR
Нет.

Чтобы PyTorch "работал хорошо", он должен распространять градиенты по сети.PyTorch не знает (и не может), как дифференцировать произвольный код arbtrary, он может распространять только градиенты с помощью тензорных операций PyTorch.
В ваших примерах градиенты останавливаются на numpy sum, поэтому только верхнийбольшинство слоев факела будут обучены (слои между операцией NUMPY и criterion). Другие слои (между операцией ввода и NUMPY) будут иметь нулевой градиент, и поэтому их параметры будут оставаться фиксированными на протяжении всего обучения.

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