Artikelverzeichnis
提示:以下是本篇文章正文内容,下面案例可供参考
1. Grundkenntnisse von tqdm
„tqdm“ ist eine Python-Bibliothek zum Erstellen von Fortschrittsbalken in der Befehlszeilenschnittstelle.
Die grundlegende Verwendung ist wie folgt:
from tqdm import tqdm
import time
items = range(10)
for item in tqdm(items, desc="Test", total=len(items)):
time.sleep(1)
Die Dokumentation lautet wie folgt:
Es werden nur die drei übergebenen Parameter eingeführt: iterable, desc, total
iterable: ist ein iterierbares Objekt
desc: beschreibende Informationen vor dem Fortschrittsbalken
total: die Länge des iterierbaren Objekts.
Die Ergebnisse sind wie folgt:
Sie Sie können sehen, dass es beschreibende Informationen, einen Fortschrittsbalken, die gelaufene Zeit, die verbleibende Zeit und die Geschwindigkeit gibt. Sie können auch später eine Suffixbeschreibung hinzufügen, siehe unten.
2. Verwenden Sie tqdm in Pytorch
Im Allgemeinen wird tqdm in der Zugfunktion verwendet. Der Dataloader wird als iterierbares Objekt an tqdm übergeben.
loop = tqdm((dataloader_train), desc=f"Epoch: [{
epoch}/20]", total=len(dataloader_train))
for img, label in loop:
img = img.to(device)
label = label.to(device)
output = model(img)
optimizer.zero_grad()
loss = criterion(output,label)
loss.backward()
optimizer.step()
train_loss += loss.item()
correct += (torch.argmax(output,dim=1) == label).sum().item()
loop.set_postfix(loss=loss.item() / label.shape[0])
print("epoch: {i} Train Loss: {loss}".format(i=epoch, loss=train_loss))
print("epoch: {i} Train Accuracy: {acc}".format(i=epoch, acc=correct / len(dataset_train)))