Začněte nyníZačněte zdarma

Trénovací smyčka klasifikátoru obrázků

Čas natrénovat klasifikátor obrázků! Použiješ síť Net, kterou jsi definoval/a dříve, a naučíš ji rozlišovat mezi sedmi typy mraků.

Pro definici ztrátové funkce a optimalizátoru využiješ funkce z torch.nn a torch.optim, které jsou importované jako nn a optim. Samotnou trénovací smyčku měnit nemusíš – je stejná jako ty, které jsi psal/a dříve, jen s přidanou logikou pro výpis hodnoty ztráty během trénování.

Toto cvičení je součástí kurzu

Intermediate Deep Learning with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Definuj model pomocí své třídy Net s num_classes nastaveným na 7 a přiřaď ho do proměnné net.
  • Definuj ztrátovou funkci jako cross-entropy loss a přiřaď ji do criterion.
  • Definuj optimalizátor Adam, předej mu parametry modelu a rychlost učení 0.001, a přiřaď ho do optimizer.
  • Spusť trénovací for-cyklus iterací přes trénovací images a labels z dataloader_train.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Define the model
____ = ____
# Define the loss function
____ = ____
# Define the optimizer
____ = ____

for epoch in range(3):
    running_loss = 0.0
    # Iterate over training batches
    ____
        optimizer.zero_grad()
        outputs = net(images)
        loss = criterion(outputs, labels)
        loss.backward()
        optimizer.step()
        running_loss += loss.item()
    
    epoch_loss = running_loss / len(dataloader_train)
    print(f"Epoch {epoch+1}, Loss: {epoch_loss:.4f}")
Upravit a spustit kód