PyTorch Experience Replay с несколькими входами - PullRequest
0 голосов
/ 01 марта 2019

Я использую модифицированную версию учебника PyTorch Deep Q, которую я изменил, чтобы передавать свои собственные данные, а не тренажерный зал, и один дополнительный вход (всего два входа)

В настоящее время я генерируюиндивидуальное состояние для каждого «столбца» входов (хотя я не уверен, что это правильный путь), при попытке передать второй вход в мою функцию воспроизведения опыта он возвращает:

__new__() takes 5 positional arguments but 7 were given

Код для expReplay():


class ReplayMemory(object):

    def __init__(self, capacity):
        self.capacity = capacity
        self.memory = []
        self.position = 0

    def push(self, *args):
        """Saves a transition."""
        if len(self.memory) < self.capacity:
            self.memory.append(None)
        self.memory[self.position] = Transition(*args)
        self.position = (self.position + 1) % self.capacity

    def sample(self, batch_size):
        return random.sample(self.memory, batch_size)

    def __len__(self):
        return len(self.memory)

И мой запуск функции:

memory.push(state,rsistate, action, next_state, next_rsi_state, reward)

Если у кого-нибудь есть какие-либо примеры воспроизведения опыта с использованием нескольких входов, пожалуйста, отойдите!<3 </p>

1 Ответ

0 голосов
/ 01 марта 2019

Моя ошибка, это было решено путем изменения именованного кортежа Transition для включения дополнительных входных данных.Любая информация о множественном вводе по-прежнему приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...