openai тренажерный зал нестандартная среда action_space и наблюдение_space howto
Я пытаюсь реализовать пользовательскую среду openai тренажерного зала. И пространство действия, и пространство наблюдения содержат комбинацию списка значений и дискретных пространств. Я правильно смоделировал это? Например:
self.action_space = spaces.Tuple((
spaces.Tuple((self.actions)),
spaces.Discrete(101)
))
где self.actions - это список значений возможных действий, для каждого из которых может не быть дополнительного дискретного действия диапазона 100. Пространство наблюдения одинаково с комбинацией списка значений и дискретных значений. Это правильный способ моделировать его? Кроме того, я использую keras-rl для запуска агентов и требует:
nb_actions = env.action_space.n and
model.add(Flatten(input_shape=(1,) + env.observation_space.shape))
Как мне реализовать n и shape для пространств кортежей? Я пытался: nb_actions = len(env.action_space.spaces) Это то же самое, что и n? Как я могу заменить env.observation_space.shape?