Ошибка времени выполнения: несоответствие размера, m1: [5 x 10], м2: [5 x 32] в /pytorch/aten/src/TH/generic/THTensorMath.cpp - PullRequest
0 голосов
/ 04 мая 2020

Мне нужна твоя помощь. Выполнение приведенного ниже кода выдает:

RuntimeError: size mismatch, m1: [5 x 10], m2: [5 x 32] at /pytorch/aten/src/TH/generic/THTensorMath.cpp

Я посмотрел на похожие вопросы, но они связаны с изображением и предлагают упростить ввод, я попробовал их без удачи.

Я использую Python 3.6.8 и факел 1.1.0

пример кода:

state = [[307, 1588204935.0, 1.0869, 1.08708, 1.08659, 1.08662, 1.08708, 1.08724, 1.08674, 1.08677],
          [370, 1588204920.0, 1.08668, 1.08709, 1.08661, 1.08693, 1.08682, 1.08724, 1.08677, 1.08708],
          [243, 1588204905.0, 1.08637, 1.08671, 1.08624, 1.08669, 1.08651, 1.08686, 1.08639, 1.08683],
          [232, 1588204890.0, 1.08614, 1.08656, 1.08609, 1.08636, 1.08628, 1.0867, 1.08626, 1.0865],
          [349, 1588204875.0, 1.086, 1.08623, 1.08585, 1.08614, 1.08614, 1.08638, 1.08597, 1.0863]]

def predict(state, state_dim=5, action_dim=3, hidden_dim=32, lr=0.05):
    """ Compute Q values for all actions using the DQL. """
    criterion = torch.nn.MSELoss()
    model = torch.nn.Sequential(torch.nn.Linear(state_dim, hidden_dim),
                                     torch.nn.LeakyReLU(),
                                     torch.nn.Linear(hidden_dim, hidden_dim*2),
                                     torch.nn.LeakyReLU(),
                                     torch.nn.Linear(hidden_dim*2, action_dim))

    optimizer = torch.optim.Adam(model.parameters(), lr)

    with torch.no_grad():
        return model(torch.Tensor(state)) # Error throw here

predict(state).tolist()

1 Ответ

0 голосов
/ 05 мая 2020

Изменение моего state_dim с 5 на 10 решило мою проблему. Пожалуйста, найдите ответ здесь: https://discuss.pytorch.org/t/runtimeerror-size-mismatch-m1-5-x-10-m2-5-x-32-at-pytorch-aten-src-th-generic-thtensormath-cpp/79714/2?u=masilive_sifanele

...