RuntimeError: size mismatch, m1: [5 x 10],m2: 在pytorchatensrcTHgenericTHTensorMath.cpp处,[5 x 32] 。

问题描述 投票:0回答:1

我需要你的帮助。运行下面的代码就会抛出。

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

我看了类似的问题,但都是和图像有关的,建议将输入扁平化,我试了一下,没有效果。

我使用Python 3.6.8和Torch 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()
python deep-learning pytorch reinforcement-learning
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.