news 2026/3/1 4:21:20

DAY 41

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DAY 41

# DAY 41 Grad-CAM 与 Hook 函数

知识点回顾

1. 回调函数

2. lambda 函数

3. hook 函数的模块钩子和张量钩子

4. Grad-CAM 的示例

预训练模型知识点回顾:

1. 预训练的概念

2. 常见的分类预训练模型

3. 图像预训练模型的发展史

4. 预训练的策略

5. 预训练代码实战: resnet18


作业:

- 尝试在 cifar10 对比如下其他的预训练模型,观察差异,尽可能和他人选择的不同

- 尝试通过 ctrl 进入 resnet 的内部,观察残差究竟是什么

# Alexnet模型与训练 import torch import torch.nn as nn import torchvision.models as models import torchvision.transforms as transforms import torchvision.datasets as datasets from torch.utils.data import DataLoader # 定义数据预处理 transform = transforms.Compose([ transforms.RandomHorizontalFlip(), transforms.RandomCrop(32, padding=4), transforms.ToTensor(), transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) ]) # 加载 CIFAR-10 数据集 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=64, shuffle=True) test_loader = DataLoader(test_dataset, batch_size=64, shuffle=False) # 加载预训练的 AlexNet 模型 model = models.alexnet(pretrained=True) num_ftrs = model.classifier[6].in_features model.classifier[6] = nn.Linear(num_ftrs, 10) # 修改分类器以适应 CIFAR-10 数据集 # 定义损失函数和优化器 criterion = nn.CrossEntropyLoss() optimizer = torch.optim.Adam(model.parameters(), lr=0.001) # 训练模型 for epoch in range(10): model.train() for inputs, labels in train_loader: optimizer.zero_grad() outputs = model(inputs) loss = criterion(outputs, labels) loss.backward() optimizer.step() print(f'Epoch {epoch+1}, Loss: {loss.item()}') # 测试模型 model.eval() correct = 0 total = 0 with torch.no_grad(): for inputs, labels in test_loader: outputs = model(inputs) _, predicted = torch.max(outputs.data, 1) total += labels.size(0) correct += (predicted == labels).sum().item() print(f'Accuracy: {100 * correct / total:.2f}%')
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/25 2:12:03

【Java毕设源码分享】基于springboot+vue的的大学校园旧物捐赠网站设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/28 1:32:00

【Java毕设源码分享】基于springboot+vue的的大学生兼职平台设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/23 9:07:16

【Java毕设源码分享】基于springboot+vue的的电力员工安全施工培训管理系统设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/2/24 18:56:01

Open-AutoGLM与TestComplete选型难题(90%团队忽略的关键指标)

第一章:Open-AutoGLM与TestComplete选型的核心挑战在自动化测试工具的选型过程中,Open-AutoGLM 与 TestComplete 的对比凸显出技术架构、生态兼容性以及维护成本等多方面的深层挑战。两者分别代表了开源智能化测试框架与商业集成化测试平台的不同路径&am…

作者头像 李华
网站建设 2026/2/23 2:28:04

企业级RPA选型难题(Open-AutoGLM与WinAutomation真实性能对比)

第一章:企业级RPA选型的核心挑战在企业数字化转型进程中,选择合适的企业级RPA(机器人流程自动化)平台面临多重挑战。技术架构的兼容性、扩展能力以及对复杂业务场景的支持程度,直接影响自动化项目的成功率。技术集成难…

作者头像 李华
网站建设 2026/2/26 14:19:22

Open-AutoGLM vs Selenium:谁才是手机端自动化测试的终极答案?

第一章:Open-AutoGLM 与 Selenium 手机端适配差异在移动端自动化测试中,Open-AutoGLM 与 Selenium 虽然均能实现设备控制,但在底层机制与适配策略上存在显著差异。核心架构差异 Open-AutoGLM 基于大语言模型驱动,通过自然语言理解…

作者头像 李华