Partage
  • Partager sur Facebook
  • Partager sur Twitter

Remplacer torche.optim.Adam par torche.optim.LBFGS

    11 juillet 2022 à 15:36:48

    s'il vous plaît, comment puis-je remplacer torch.optim.Adam par torch.optim.LBFGS dans ce code ?

    model = Net().to(device)
    crit = nn.BCELoss(reduce=True)
    optimizer = torch.optim.Adam(model.parameters(), lr=1e-3)
    
    def train():
        model.train()
        loss_all = 0
        for data in train_loader:
            data = data.to(device)
            optimizer.zero_grad()
            output = model(data)
            label = data.y
            loss = crit(output, label)
            loss.backward()
            loss_all += data.num_graphs * loss.item()
            optimizer.step()
        return loss_all / len(train_dataset)
    
    for epoch in tqdm(range(100), desc="Epochs: ", leave=True):
        loss = train()
        print('Epoch: {:03d}, Loss: {:.5f}.format(epoch, loss))


    et merci

    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2022 à 15:45:08

      tu te places sur Adam et tu rentres LBFGS à la place :lol:
      • Partager sur Facebook
      • Partager sur Twitter
        11 juillet 2022 à 17:28:38

        non !!! quand je fais ce que tu m'as dit !!! j'obtient ce message d'erreur

        TypeError: step() missing 1 required positional argument: 'closure'



        • Partager sur Facebook
        • Partager sur Twitter

        Remplacer torche.optim.Adam par torche.optim.LBFGS

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown