生成了一个AI算法

import torch

import torch.nn as nn

import torch.optim as optim

from torchvision import datasets, transforms

1. 数据预处理

transform = transforms.Compose([

transforms.ToTensor(),

transforms.Normalize((0.5,), (0.5,)) # MNIST单通道归一化

])

train_data = datasets.MNIST(root='./data', train=True, download=True, transform=transform)

test_data = datasets.MNIST(root='./data', train=False, transform=transform)

2. 模型定义

class NeuralNetwork(nn.Module):

def init(self):

super().init()

self.flatten = nn.Flatten()

self.layers = nn.Sequential(

nn.Linear(28*28, 128), # 输入层

nn.ReLU(), # 激活函数

nn.Dropout(0.2), # 防过拟合

nn.Linear(128, 10) # 输出层(10分类)

)

def forward(self, x):

x = self.flatten(x)

return self.layers(x)

3. 训练配置

model = NeuralNetwork()

criterion = nn.CrossEntropyLoss()

optimizer = optim.Adam(model.parameters(), lr=0.001)

batch_size = 64

train_loader = torch.utils.data.DataLoader(train_data, batch_size=batch_size, shuffle=True)

4. 训练循环

for epoch in range(10):

for images, labels in train_loader:

outputs = model(images)

loss = criterion(outputs, labels)

optimizer.zero_grad()

loss.backward()

optimizer.step()

5. 评估

test_loader = torch.utils.data.DataLoader(test_data, batch_size=256)

correct = 0

with torch.no_grad():

for images, labels in test_loader:

outputs = model(images)

_, predicted = torch.max(outputs, 1)

correct += (predicted == labels).sum().item()

print(f'准确率: {100 * correct / len(test_data):.2f}%')

相关推荐
小陈phd39 分钟前
多模态大模型学习笔记(三十)—— 基于YOLO26 Pose实现车牌检测
笔记·学习
野指针YZZ1 小时前
XV6操作系统:trap机制学习笔记
笔记·学习
量子位3 小时前
开源模型首超Opus4.6!智谱GLM-5.1登场,14小时后CUDA专家被冲了
aigc
-许平安-3 小时前
MCP项目笔记九(插件 bacio-quote)
c++·笔记·ai·plugin·mcp
Xudde.3 小时前
班级作业笔记报告0x10
笔记·学习·安全·web安全·php
降临-max4 小时前
Git 协同开发与冲突解决
笔记·git
南境十里·墨染春水6 小时前
Linux学习进展 进程管理命令 及文件压缩解压
linux·运维·笔记·学习
CS创新实验室6 小时前
AI 领域的 Harness Engineering:概念、实践与前景综述
人工智能·机器学习·aigc·harness
航Hang*6 小时前
第2章:进阶Linux系统——第4节:配置与管理NFS服务器
linux·运维·服务器·笔记·学习·vmware
ZhiqianXia6 小时前
Pytorch 学习笔记(8): PyTorch FX
pytorch·笔记·学习