Как решить «ValueError: Shapes должны иметь одинаковый ранг», когда я использую настроенный env и использую baseline для выполнения DQN? - PullRequest
0 голосов
/ 21 апреля 2019

Я использую среду Gym, созданную другими, которую можно найти на gym-gomoku Когда я использую базовые линии, чтобы попытаться обучить модель, возникает ОШИБКА, как:

ValueError: Shapes must be equal rank, but are 1 and 2 for 'deepq/Select' 
(op: 'Select') with input shapes: [?], [?], [?,361].

Я думаю, что с окружающей средой что-то не так, но я не могу этого понять. Потому что она успешна, когда я тестирую другую игровую среду на сайте Gym, такую ​​как 'CartPole-v0'.

Спасибо большое!

вот мой код:

import gym
from baselines import deepq
def callback(lcl, _glb):
    # stop training if reward exceeds 199
    is_solved = lcl['t'] > 0.9 and sum(lcl['episode_rewards'][-101:-1]) / 100 >= 0.9
    return is_solved


def main():
    env = gym.make("Gomoku19x19-v0")
    model = deepq.models.mlp([32, 16], layer_norm=True)
    act = deepq.learn(
    env,
    q_func=model,
    lr=0.01,
    max_timesteps=10000,
    print_freq=1,
    checkpoint_freq=1000
)
    print("Saving model to Gomoku9x9.pkl")
    act.save("Gomoku9x9.pkl")
    print('Finish!')


if __name__ == '__main__':
    main()
...