当前位置: 首页 > news >正文

Python训练第四十三天

DAY 43 复习日

作业:

kaggle找到一个图像数据集,用cnn网络进行训练并且用grad-cam做可视化

进阶:并拆分成多个文件

import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms, models
from torch.utils.data import DataLoader
import matplotlib.pyplot as plt
import numpy as np
import torch.nn.functional as F# 设置随机种子确保结果可复现
torch.manual_seed(42)
np.random.seed(42)# 设置中文字体支持
plt.rcParams["font.family"] = ["SimHei"]
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题# 检查GPU是否可用
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(f"使用设备: {device}")# 1. 数据预处理
# 训练集:使用多种数据增强方法提高模型泛化能力
train_transform = transforms.Compose([# 新增:调整图像大小为统一尺寸transforms.Resize((32, 32)),  # 确保所有图像都是32x32像素transforms.RandomCrop(32, padding=4),transforms.RandomHorizontalFlip(),transforms.ColorJitter(brightness=0.2, contrast=0.2, saturation=0.2, hue=0.1),transforms.RandomRotation(15),transforms.ToTensor(),transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225))])# 测试集:仅进行必要的标准化,保持数据原始特性
test_transform = transforms.Compose([# 新增:调整图像大小为统一尺寸transforms.Resize((32, 32)),  # 确保所有图像都是32x32像素transforms.ToTensor(),transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225))
])# 定义数据集根目录
root = r'C:\Users\vijay\Desktop\1'train_dataset = datasets.ImageFolder(root=root + '/train',  # 指向 train 子文件夹transform=train_transform
)
test_dataset = datasets.ImageFolder(root=root + '/test',  # 指向 test 子文件夹transform=test_transform
)# 打印类别信息,确认数据加载正确
print(f"训练集类别: {train_dataset.classes}")
print(f"测试集类别: {test_dataset.classes}")# 3. 创建数据加载器
batch_size = 64
train_loader = DataLoader(train_dataset, batch_size=batch_size, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=batch_size, shuffle=False)

@浙大疏锦行

http://www.lqws.cn/news/101629.html

相关文章:

  • 定时线程池失效问题引发的思考
  • 智启未来:AI重构制造业供应链的五大革命性突破
  • 阿里云为何,一个邮箱绑定了两个账号
  • 冷雨泉教授团队:新型视觉驱动智能假肢手,拟人化抓握技术突破,助力截肢者重获生活自信
  • LINUX63 硬链接、软链接;FTP默认配置
  • 基于蝙蝠算法的路径优化
  • 基于大模型的短暂性脑缺血发作(TIA)全流程预测与干预系统技术方案
  • istringstream
  • ArrayList和LinkedList(深入源码加扩展)
  • 如何在PowerBI中使用Analyze in Excel
  • 基于springboot的图书管理系统的设计与实现
  • React 项目初始化与搭建指南
  • windows可视化粘贴使用剪贴板
  • 湖北理元理律师事务所:法律视角下的债务优化与生活平衡之道
  • 小体积涵盖日常办公等多功能的软件
  • NLP学习路线图(二十一): 词向量可视化与分析
  • unity UI Rect Transform“高”性能写法
  • 第1章_数据分析认知_知识点笔记
  • 强化学习鱼书(10)——更多深度强化学习的算法
  • 前端与后端
  • uniapp+vue2+uView项目学习知识点记录
  • HertzBeat的安装和使用教程
  • Manus AI与多语言手写识别的创新革命:从技术突破到行业赋能
  • Python与数据分析期末复习笔记
  • 【C/C++】template 入门到高阶简单大纲
  • 【Python进阶】装饰器
  • Python 训练营打卡 Day 34-GPU训练及类的call方法
  • 如何爬取google应用商店的应用分类呢?
  • 深入解析Playwright for Python:浏览器功能与代码实例详解
  • Python数据可视化科技图表绘制系列教程(一)