| # EVOLVE-BLOCK-START | |
| def run_experiment(train_dataset, device): | |
| epochs = 5 | |
| batch_size = 64 | |
| learning_rate = 0.01 | |
| train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True) | |
| # Initialize model, loss function, and optimizer | |
| model = MNISTNet().to(device) | |
| criterion = nn.CrossEntropyLoss() | |
| optimizer = optim.SGD(model.parameters(), lr=learning_rate) | |
| # Training loop | |
| for epoch in range(1, epochs + 1): | |
| train(model, device, train_loader, optimizer, criterion, epoch) | |
| return model | |
| # EVOLVE-BLOCK-END | |