Как указать conv_filters при использовании пользовательской формы obs?

Я использую специальную среду для запуска run_experiment функции Рэя.

Мое наблюдение_пространство

spaces.Box(low=-np.finfo(np.float32).max,
           high=np.finfo(np.float32).max,
           shape=(3, 76),
           dtype=np.float16)

Входные данные - это массив с тремя массивами внутри, каждый из которых содержит 76 элементов. Что-то вроде этого:

[[0. 0. 0. ... 0.],
 [0. 0. 0. ... 0.],
 [0. 0. 0. ... 0.]]

Когда я пытаюсь запустить свой сценарий поезда без указания conv_filters, я получаю эту ошибку:

ValueError: No default configuration for obs shape [3, 76], you must specify `conv_filters` manually as a model option. Default configurations are only available for inputs of shape [42, 42, K] and [84, 84, K]. You may alternatively want to use a custom model or preprocessor.

Итак, я настраиваю это в своем сценарии поезда:

"model": {
    "dim": 3,
    "conv_filters": [[3, [1, 1], 1]]
}

Но при этом я получаю вот это:

ValueError: Convolution expects input with rank 4, got 3

кстати, мой ввод не является изображением, это на самом деле 3 строки временного ряда, в каждой строке 76 элементов.

Я думаю, что ошибаюсь в этой строке "conv_filters": [[3, [1, 1], 1]], но я не знаю, как это исправить, поэтому мне нужна помощь ...

Есть ли способ не делать свертку? потому что я не хочу терять здесь информацию, это временной ряд, каждая маленькая информация имеет ценность.



Ответы (1)


Вы можете заставить RLlib использовать полностью подключенную сеть, используя опцию настраиваемой модели. Вот пример кода: https://github.com/ray-project/ray/blob/master/rllib/examples/custom_env.py.

person Eric    schedule 24.05.2019
comment
Ссылка мертвая. Вот новая ссылка. - person Huan; 03.09.2019