import torch
import torch.nn as nn
import torch.optim as optim
import torchvision
import torchvision.transforms as transforms
from torch.utils.data import DataLoader
transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5),
(0.5, 0.5, 0.5))
])
# Загрузка данных
trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
download=True, transform=transform)
trainloader = DataLoader(trainset, batch_size=100,
shuffle=True, num_workers=2)
testset = torchvision.datasets.CIFAR10(root='./data', train=False,
download=True, transform=transform)
testloader = DataLoader(testset, batch_size=100,
shuffle=False, num_workers=2)
classes = ('plane', 'car', 'bird', 'cat',
'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
class SimpleCNN(nn.Module):
def __init__(self):
...
def forward(self, x):
...
device = ...
print(f"Используемый девайс: {device}")
net = SimpleCNN().to(device)
criterion = ...
optimizer = ...
# Обучение
num_epochs = 2
# YOUR_TRAIN_EVAL_LOOP
# print(f"Эпоха {epoch+1}/{num_epochs} | "
# f"Train Loss: {train_loss:.3f} | Train Acc: {train_accuracy:.2f}% | "
# f"Test Loss: {test_loss:.3f} | Test Acc: {test_accuracy:.2f}%")