Intermediate Deep Learning with PyTorch
Michal Oleszak
Machine Learning Engineer
import torch.nn as nn import torch.optim as optim criterion = nn.BCELoss() optimizer = optim.SGD(net.parameters(), lr=0.01)
for epoch in range(1000): for features, labels in dataloader_train:
optimizer.zero_grad()
outputs = net(features)
loss = criterion( outputs, labels.view(-1, 1) )
loss.backward()
optimizer.step()
BCELoss
for binary classificationSGD
optimizer
optimizer = optim.SGD(net.parameters(), lr=0.01)
optimizer = optim.Adagrad(net.parameters(), lr=0.01)
optimizer = optim.RMSprop(net.parameters(), lr=0.01)
optimizer = optim.Adam(net.parameters(), lr=0.01)
from torchmetrics import Accuracy acc = Accuracy(task="binary")
net.eval() with torch.no_grad(): for features, labels in dataloader_test:
outputs = net(features)
preds = (outputs >= 0.5).float()
acc(preds, labels.view(-1, 1))
accuracy = acc.compute() print(f"Accuracy: {accuracy}")
Accuracy: 0.6759443283081055
Intermediate Deep Learning with PyTorch