生成了一个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}%')

相关推荐
AlbertZein5 小时前
从“看图说话”到“动手干活”:看看国产多模态模型在生产场景下的真实表现
aigc·openai·ai编程
plainGeekDev6 小时前
别再说 Claude Code 上下文不够用了,是你没管好
aigc·ai编程
leeyi10 小时前
MCP 工具集成:外部工具变 Eino Tool
aigc·agent·mcp
Coffeeee11 小时前
Prompt要花心思写,与 AI 对话的七个技巧
人工智能·aigc·ai编程
刘棕霆11 小时前
27—AI Skill 测评如何避免确认偏误:盲测对比与解盲分析
aigc·ai编程·测试
深蓝AI11 小时前
从零搭建 MCP Server:用 Python 把任意数据源接入 Claude
aigc
老程序猿12 小时前
AI 的「狼来了」,该不该信?一次真正感受到「恶意提示词」的误报
aigc·ai编程
AI袋鼠帝13 小时前
开源「仓颉.Skill」2.0,你现在可以蒸馏任何视频!
开源·aigc
AI袋鼠帝13 小时前
懂事的Agent已经自己看屏幕干活了!效率起飞~
aigc