尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

pytorch作业

pytorch作业
📅 发布时间:2026/6/21 13:41:03

696e69b432a5b58a8a3c7f8270e6b47
import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt

===================== 1. 数据加载与预处理 =====================

transform = transforms.Compose([
transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])

train_dataset = datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)
test_dataset = datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)

train_loader = DataLoader(train_dataset, batch_size=128, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=128, shuffle=False)

classes = ('飞机', '汽车', '鸟', '猫', '鹿', '狗', '青蛙', '马', '船', '卡车')

===================== 2. 构建卷积神经网络 =====================

class CIFAR10Net(nn.Module):
def init(self):
super(CIFAR10Net, self).init()
self.conv1 = nn.Conv2d(3, 64, 3, padding=1)
self.relu1 = nn.ReLU()
self.pool1 = nn.MaxPool2d(2, 2)

    self.conv2 = nn.Conv2d(64, 128, 3, padding=1)self.relu2 = nn.ReLU()self.pool2 = nn.MaxPool2d(2, 2)self.fc1 = nn.Linear(128 * 8 * 8, 512)self.relu3 = nn.ReLU()self.fc2 = nn.Linear(512, 10)def forward(self, x):x = self.pool1(self.relu1(self.conv1(x)))x = self.pool2(self.relu2(self.conv2(x)))x = x.view(-1, 128 * 8 * 8)x = self.relu3(self.fc1(x))x = self.fc2(x)return x

model = CIFAR10Net()
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001, momentum=0.9)

===================== 3. 训练网络 =====================

epochs = 10
train_losses = []
train_accs = []

for epoch in range(epochs):
running_loss = 0.0
correct = 0
total = 0

for inputs, labels in train_loader:optimizer.zero_grad()outputs = model(inputs)loss = criterion(outputs, labels)loss.backward()optimizer.step()running_loss += loss.item()_, predicted = outputs.max(1)total += labels.size(0)correct += predicted.eq(labels).sum().item()epoch_loss = running_loss / len(train_loader)
epoch_acc = 100. * correct / total
train_losses.append(epoch_loss)
train_accs.append(epoch_acc)print(f'Epoch {epoch+1}/{epochs} | Loss: {epoch_loss:.3f} | Accuracy: {epoch_acc:.2f}%')

print("训练完成!")

===================== 4. 模型评估(测试集) =====================

model.eval()
correct = 0
total = 0

with torch.no_grad():
for inputs, labels in test_loader:
outputs = model(inputs)
_, predicted = outputs.max(1)
total += labels.size(0)
correct += predicted.eq(labels).sum().item()

test_acc = 100. * correct / total
print(f'测试集准确率: {test_acc:.2f}%')

===================== (可选)可视化训练过程 =====================

plt.figure(figsize=(12, 4))
plt.subplot(1, 2, 1)
plt.plot(range(1, epochs+1), train_losses)
plt.title('训练损失')
plt.xlabel('Epoch')
plt.ylabel('Loss')

plt.subplot(1, 2, 2)
plt.plot(range(1, epochs+1), train_accs)
plt.title('训练准确率')
plt.xlabel('Epoch')
plt.ylabel('Accuracy (%)')

plt.tight_layout()
plt.show()

相关新闻

  • pytorch实验题作业
  • P14223 [ICPC 2024 Kunming I] 乐观向上
  • C 语言 - 内存操作函数以及字符串操作函数解析

最新新闻

  • 暗黑3终极自动化指南:如何用D3KeyHelper解放双手,提升游戏体验
  • 2026年6月积家官方维修服务线下升级公告|多地新增直营售后中心,全新线下服务网点地址统一公示 - 积家中国服务中心
  • 2026年6月最新芝柏中国官方售后电话网点服务热线客服地址 - 亨得利官方服务中心
  • 2026年6月欧米茄维修服务中心线下实地核验报告,针对全国六十余家正规门店完成全新一轮全面调研 - 欧米茄中国服务中心
  • CVE-2024-46627漏洞剖析:DATAGERRY REST API身份验证绕过原理与防御
  • 2026 天梭售后网点真实性核验报告 最新维修地址一览 - 亨得利腕表服务中心

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号