Как я могу написать приведенный ниже эквивалентный код Keras Neural Net в Pytorch? - PullRequest
0 голосов
/ 10 января 2019

Как мне написать приведенный ниже эквивалентный код Keras Neural Net в Pytorch?

actor = Sequential()
        actor.add(Dense(20, input_dim=9, activation='relu', kernel_initializer='he_uniform'))
        actor.add(Dense(20, activation='relu'))
        actor.add(Dense(27, activation='softmax', kernel_initializer='he_uniform'))
        actor.summary()
        # See note regarding crossentropy in cartpole_reinforce.py
        actor.compile(loss='categorical_crossentropy',
                      optimizer=Adam(lr=self.actor_lr))[Please find the image eq here.][1]


  [1]: https://i.stack.imgur.com/gJviP.png

1 Ответ

0 голосов
/ 10 января 2019

Подобные вопросы уже задавались, но здесь идет речь:

import torch

actor = torch.nn.Sequential(
    torch.nn.Linear(9, 20), # output shape has to be specified
    torch.nn.ReLU(),
    torch.nn.Linear(20, 20), # same goes over here
    torch.nn.ReLU(),
    torch.nn.Linear(20, 27), # and here
    torch.nn.Softmax(),
)

print(actor)

Инициализация : По умолчанию начиная с версии 1.0 линейные слои будут инициализированы с Kaiming Uniform (см. в этом посте ). Если вы хотите инициализировать свои веса по-разному, см. Наиболее часто задаваемый ответ на на этот вопрос .

Вы также можете использовать OrderedDict в Python для более удобного сопоставления с определенными слоями, см. Документацию Pytorch , с нее можно продолжить.

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