我尝试使用 R2in nn.LSTM 创建损失函数,但我找不到任何有关它的文档。我已经使用了 pytorch 的 RMSE 和 MAE 损失。
我的数据是一个时间序列,我正在做时间序列预测
这是我在数据训练中使用 RMSE 损失函数的代码
model = LSTM_model(input_size=1, output_size=1, hidden_size=512, num_layers=2, dropout=0).to(device)
criterion = nn.MSELoss(reduction="sum")
optimizer = optim.Adam(model.parameters(), lr=0.001)
callback = Callback(model, early_stop_patience=10 ,outdir="model/lstm", plot_every=20,)
from tqdm.auto import tqdm
def loop_fn(mode, dataset, dataloader, model, criterion, optimizer,device):
if mode =="train":
model.train()
elif mode =="test":
model.eval()
cost = 0
for feature, target in tqdm(dataloader, desc=mode.title()):
feature, target = feature.to(device), target.to(device)
output , hidden = model(feature,None)
loss = torch.sqrt(criterion(output,target))
if mode =="train":
loss.backward()
optimizer.step() …Run Code Online (Sandbox Code Playgroud)