import torch def save_model(model, path): """Сохраняет модель в указанный файл.""" torch.save(model.state_dict(), path) def load_model(model, path): """Загружает веса модели из файла.""" model.load_state_dict(torch.load(path)) return model def calculate_accuracy(model, data_loader, device): """Подсчитывает точность модели на заданном наборе данных.""" model.eval() correct = 0 total = 0 with torch.no_grad(): for inputs, labels in data_loader: inputs, labels = inputs.to(device), labels.to(device) outputs = model(inputs) _, predicted = torch.max(outputs, 1) total += labels.size(0) correct += (predicted == labels).sum().item() return 100 * correct / total