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

相关推荐
xian_wwq30 分钟前
【学习笔记】「大模型安全:攻击面演化史」第 07 篇-安全左移
人工智能·笔记·学习
向量引擎2 小时前
腾讯混元 API 接入与国内模型统一入口实践:API Key、OpenAI 兼容调用、向量引擎中转配置与企业安全检查
人工智能·gpt·aigc·ai编程·ai写作·agi·api调用
nnsix3 小时前
Unity 贴图压缩格式 笔记
笔记·unity·贴图
xian_wwq3 小时前
【学习笔记】「大模型安全:攻击面演化史」第 03 篇-数据投毒
笔记·学习·ai安全
sheeta19984 小时前
LeetCode 每日一题笔记 日期:2026.06.06 题目:2196. 根据描述创建二叉树
笔记·算法·leetcode
.千余4 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
Oll Correct5 小时前
实验三十一:配置DHCP中继代理
网络·笔记
衫水6 小时前
家庭投资组合方案(2026/6/7版)
经验分享
库拉大叔6 小时前
GPT-5.5 多模态能力实战:2026 年 AI 工具进阶使用指南
人工智能·gpt·aigc
是上好佳佳佳呀6 小时前
【数据分析|Day02】数据收集、数据清洗、数据分析笔记
笔记·数据分析