Как указать conv_filters при использовании пользовательской фигуры obs? - PullRequest
0 голосов
/ 24 мая 2019

Я использую пользовательскую среду для запуска функции Ray 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 Ответ

1 голос
/ 24 мая 2019

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

...