Как использовать «Дискретный» объект в openai-тренажерном зале? - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь создать агент Q-Learning для среды openai-gym "Blackjack-v0".Я пытаюсь получить размер пространства наблюдения, но в форме «кортежей» и «дискретных» объектов.

Все, что я хочу, - это вернуть размер «дискретного» объекта.Когда я печатаю «env.observation_space [0]», он возвращает «Discrete (32)».Я нашел класс на github (https://github.com/openai/gym/blob/master/gym/spaces/discrete.py),, но ничего не показывает, как вернуть целое число «32» или даже значение, скажем, «env.observation_space [0] [5]».

Есть ли другие функции, которые я могу использовать, чтобы вернуть размер «дискретного» объекта и само значение по определенному индексу?

Вот некоторый код:

print(state_size[0]) # Discrete(32)
# I want it to print 32, not Discrete(32)
print(state_size[1]) # Discrete(11)
# I want it to print 11, not Discrete(11)
print(state_size[2]) # Discrete(2)
# I want it to print 2, not Discrete(2)

print(q_table[state_size[0][0]]) # TypeError: 'Discrete' object does not support indexing 
# I want to return the value of the "Discrete" object
...