@浙大疏锦行  Python day43

import torch
import numpy as np
import pandas as pd
import torchvision 
import torchvision.transforms as transforms
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F 
from torch.utils.data import DataLoader, Datasettransform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))
])test_dataset = torchvision.datasets.CIFAR10(root='./data', train=False, download=True, transform=transform)
train_dataset = torchvision.datasets.CIFAR10(root='./data', train=True, download=True, transform=transform)train_dataloader = DataLoader(train_dataset,batch_size=32,shuffle=True,
)test_dataloader = DataLoader(test_dataset,batch_size=32,shuffle=False,
)
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
print(f"Using device: {device}")class Net(nn.Module):def __init__(self):super(Net,self).__init__()# Convolutional Layer 1self.conv1 = nn.Conv2d(in_channels =3,out_channels=32,padding=2,kernel_size=3,stride=1)# Batch Normlizationself.bn1 = nn.BatchNorm2d(num_features=32)# ReLU Activationself.relu1 = nn.ReLU()# CNN Layer 2self.conv2 = nn.Conv2d(in_channels=32,out_channels=64,padding=2,kernel_size=3,stride=1)self.bn2 = nn.BatchNorm2d(num_features=64)self.relu2 = nn.ReLU()# MLPself.fc1 = nn.Linear(in_features=64*8*8, out_features=128)# Dropoutself.dropout = nn.Dropout(p=0.5)# Output Layerself.fc2 = nn.Linear(in_features=128, out_features=10)def forward(self,x):# CNN layer 1x = self.conv1(x)x = self.bn1(x)x = self.relu1(x)# CNN layer 2x = self.conv2(x)x = self.bn2(x)x = self.relu2(x)# MLPx = x.view(-1, 64*8*8)x = self.fc1(x)         # MLPx = self.dropout(x)     # Dropout 随机丢弃神经元x = self.fc2(x)         # Output Layerreturn x            # 这里的x是未经过softmax的结果model = Net()
model.to(device)
print(model)criterion = nn.CrossEntropyLoss()                     # 交叉熵损失函数
optimizer = optim.Adam(model.parameters(), lr=0.001)  # Adam优化器# 引入学习率调度器,在训练过程中动态调整学习率--训练初期使用较大的 LR 快速降低损失,训练后期使用较小的 LR 更精细地逼近全局最优解。
# 在每个 epoch 结束后,需要手动调用调度器来更新学习率,可以在训练过程中调用 scheduler.step()
scheduler = optim.lr_scheduler.ReduceLROnPlateau(optimizer,        # 指定要控制的优化器(这里是Adam)mode='min',       # 监测的指标是"最小化"(如损失函数)patience=3,       # 如果连续3个epoch指标没有改善,才降低LRfactor=0.5        # 降低LR的比例(新LR = 旧LR × 0.5)
)def train():pass

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95400.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95400.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/95400.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python基于Hadoop的超市数据分析系统

前端开发框架:vue.js 数据库 mysql 版本不限 后端语言框架支持: 1 java(SSM/springboot)-idea/eclipse 2.NodejsVue.js -vscode 3.python(flask/django)–pycharm/vscode 4.php(thinkphp/laravel)-hbuilderx 数据库工具:Navicat/SQLyog等都可以 摘要&…

如何用 COLMAP 制作 Blender 格式的数据集

如何用 COLMAP 制作 Blender 格式的数据集并划分出 transforms_train.json、transforms_val.json 和 transforms_test.json。 一、什么是 Blender 格式数据集? Blender 格式数据集是 Nerf 和 Nerfstudio 常用的输入格式,其核心是包含了相机内外参的 JSON 文件,一般命名为:…

[GESP202309 六级] 2023年9月GESP C++六级上机题题解,附带讲解视频!

本文为GESP 2023年9月 六级的上机题目详细题解和讲解视频,觉得有帮助或者写的不错可以点个赞。 题目一讲解视频 GESP2023年9月六级上机题一题目二讲解视频 题目一:小羊买饮料 B3873 [GESP202309 六级] 小杨买饮料 - 洛谷 题目大意: 现在超市一共有n种饮料&#…

linux 操作ppt

目录 方法1:用 libreoffice 打开PPT文件 播放脚本: 方法2:用 python-pptx 创建和编辑PPT 方法3:其他方法 在Linux中,可以使用Python通过python-pptx库来创建和编辑PPT文件,但直接播放PPT文件需要借助其…

元数据管理与数据治理平台:Apache Atlas 基本搜索 Basic Search

文中内容仅限技术学习与代码实践参考,市场存在不确定性,技术分析需谨慎验证,不构成任何投资建议。 Apache Atlas 框架是一套可扩展的核心基础治理服务,使企业能够有效、高效地满足 Hadoop 中的合规性要求,并支持与整个…

LangChain4J-(1)-Hello World

一、LangChain4J是什么? LangChain4J 是一个专为 Java 生态系统设计的开源框架,用于简化与大语言模型(LLM,如 OpenAI 的 GPT 系列、Google 的 Gemini、Anthropic 的 Claude 等)的集成和交互。它借鉴了 Python 生态中 L…

HTTPS应用层协议-中间攻击人

HTTPS应用层协议-中间攻击人 • Man-in-the-MiddleAttack,简称“MITM 攻击” 确实,在方案 2/3/4 中,客户端获取到公钥 S 之后,对客户端形成的对称秘钥 X 用服务端给客户端的公钥 S 进行加密,中间人即使窃取到了数据&am…

利用 Makefile 高效启动 VIVADO 软件:深入解析与实践

利用 Makefile 高效启动 VIVADO 软件:深入解析与实践 系列文章目录 1、VMware Workstation Pro安装指南:详细步骤与配置选项说明 2、VMware 下 Ubuntu 操作系统下载与安装指南 3.基于 Ubuntu 的 Linux 系统中 Vivado 2020.1 下载安装教程 文章目录利用 …

[前端算法]排序算法

默认情况下,sort() 会将元素转换为字符串,然后按照 Unicode 编码的顺序进行排序: const fruits [apple, banana, cherry, date]; fruits.sort(); console.log(fruits); // 输出: ["apple", "banana", "cherry"…

C#标签批量打印程序开发

C#标签批量打印程序开发(集成Bartender解决方案)一、系统架构设计 1. 核心模块划分 public class LabelPrintingSystem {private IDataLoader _dataLoader; // 数据加载器private ITemplateEngine _templateEngine; // 模板引擎private IPrintControl…

ECC的原理、背景、工作机制和数学基础

ECC的原理、背景、工作机制和数学基础摘要:本文首先详细介绍ECC(Error-Correcting Code,纠错码)的原理,包括背景、工作机制和数学基础。然后,解释ECC在SRAM(Static Random-Access Memory&#x…

计算机网络2-2:物理层下面的传输媒体

目录 导引型传输媒体 同轴电缆 双绞线 光纤 电力线 非导引型传输媒体 无线电波 微波 红外线 可见光 无线电频谱管理机构 导引型传输媒体 同轴电缆 双绞线 光纤 光在光纤中传播的基本原理 电力线 非导引型传输媒体 无线电波 微波 红外线 可见光 LiFi(可见光通信) …

Dify 从入门到精通(第 32/100 篇):Dify 的日志分析与监控

Dify 从入门到精通(第 32/100 篇):Dify 的日志分析与监控 Dify 入门到精通系列文章目录 第一篇《Dify 究竟是什么?真能开启低代码 AI 应用开发的未来?》介绍了 Dify 的定位与优势第二篇《Dify 的核心组件&#xff1a…

【IntelliJ IDEA】修改堆内存

idea卡顿,鼠标漂移修改idea文件打开 idea 安装路径,【bin】目录下【idea64.exe.vmoptions】文件修改【-Xms】最小内存【-Xmx】最大内存-Xms2048m -Xmx9216midea更改内存设置工具栏帮助更改内存设置设置堆大小上限为 文件 设置的最大内存保存并重启Leslie…

Docker与Docker Compose:容器世界的“单兵作战”与“军团指挥官”

在容器化技术的浪潮中,Docker和Docker Compose如同“双子星”,一个专注于单兵作战,一个擅长军团指挥。它们看似相似,却各司其职。对于开发者来说,理解它们的区别不仅能让代码部署事半功倍,更能避免踩坑。本…

进阶向:Python编写自动化邮件发送程序

Python编写自动化邮件发送程序:从零开始详解在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具。据统计,全球每天发送的商业邮件超过30亿封,其中约40%是通过自动化系统发送的。这种功能被广泛应用于多种场景…

ChatGpt 5系列文章1——编码与智能体

人工智能技术正在以惊人的速度发展,重新定义着开发人员的工作方式。2025年8月,OpenAI正式发布了面向开发人员的GPT-5 一、GPT-5的编码能力突破 GPT-5在关键编码基准测试中创造了行业新纪录(SOTA),在SWE-bench Verified测试中得分74.9%&…

力扣top100(day02-05)--二叉树 02

102. 二叉树的层序遍历 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode() {}* TreeNode(int val) { this.val val; }* TreeNode(int val, TreeNode left, TreeNode right)…

开疆智能Ethernet转ModbusTCP网关连接发那科机器人与三菱PLC配置案例

本案例是三菱FX5U PLC通过ethernet/IP转ModbusTCP网关对发那科机器人进行控制的配置案例。PLC端主要配置以太网端口设置在通信测试中,PLC作为主站,在PLC设置中选择“以太网端口”非常关键,以确保通信测试的正常进行。1、首先,在PL…

VUE+SPRINGBOOT从0-1打造前后端-前后台系统-系统首页

在现代Web应用开发中,管理后台是几乎所有企业级应用不可或缺的部分。一个优秀的后台首页不仅需要提供清晰的信息展示,还需要具备良好的用户体验和视觉效果。本文将详细介绍如何使用Vue.js框架配合Element UI组件库和ECharts图表库,构建一个功…