RuntimeError: input.size(-1) must be equal to input_size. Expected 3, got 2

具体代码错误:
Traceback (most recent call last):
  File "C:\Users\zss\Desktop\光伏\综合模型评估,预测,预警\时序预测_边坡\LSTM_Time_sequence_displacement_training.py", line 163, in <module>
    epoch_loss, epoch_test_loss = fit(epoch, model, loss_function, optimizer, train_loader, test_loader, bst_loss)
  File "C:\Users\zss\Desktop\光伏\综合模型评估,预测,预警\时序预测_边坡\LSTM_Time_sequence_displacement_training.py", line 114, in fit
    y_train_pred = model(x_train)  # 前向传播求出预测的值
  File "C:\Users\zss\anaconda3\envs\zss3\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "C:\Users\zss\Desktop\光伏\综合模型评估,预测,预警\时序预测_边坡\LSTM_Time_sequence_displacement_training.py", line 81, in forward
    out, _ = self.lstm(x, (h0, c0))
  File "C:\Users\zss\anaconda3\envs\zss3\lib\site-packages\torch\nn\modules\module.py", line 727, in _call_impl
    result = self.forward(*input, **kwargs)
  File "C:\Users\zss\anaconda3\envs\zss3\lib\site-packages\torch\nn\modules\rnn.py", line 579, in forward
    self.check_forward_args(input, hx, batch_sizes)
  File "C:\Users\zss\anaconda3\envs\zss3\lib\site-packages\torch\nn\modules\rnn.py", line 530, in check_forward_args
    self.check_input(input, batch_sizes)
  File "C:\Users\zss\anaconda3\envs\zss3\lib\site-packages\torch\nn\modules\rnn.py", line 180, in check_input
    self.input_size, input.size(-1)))
RuntimeError: input.size(-1) must be equal to input_size. Expected 3, got 2

原因:
我之前设置了时间序列:却写成了
 

# 选取第二、第三和第四列作为特征输入
input_features = data.iloc[:, 1:4] # 假设第一列是时间,从第二列开始取到第四列
target_columns = data.iloc[:, 2:4] # 目标列只包括第三和第四列

解决措施:

# 假设data已经将'时间'列设置为索引,您应该选择第一、第二和第三列作为输入特征
input_features = data.iloc[:, 0:3] # 选择第一列到第三列
target_columns = data.iloc[:, 1:3] # 目标列为第二列和第三列

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值