- 博客(28)
- 收藏
- 关注
原创 完整的训练与测试套路 小土堆pytorch记录
设备一致性 (Device Consistency)黄金法则:模型、损失函数、输入数据必须在同一个设备上(CPU或GPU)。务必使用来移动模型和张量。模式切换 (Train/Eval Mode):训练模式,启用Dropout、BatchNorm的更新。:评估模式,关闭Dropout、固定BatchNorm的统计量。忘记切换是常见错误,会导致评估结果不一致。梯度管理 (Gradient Management)每次反向传播前必须,否则梯度会累积。上下文管理器用于禁用梯度计算,节省测试时的内存和计算。
2025-08-19 23:35:24
535
原创 神经网络 小土堆pytorch记录
视频代码# 加载CIFAR10数据集transform=torchvision.transforms.ToTensor(), # 转换为Tensor# 定义测试神经网络# 创建卷积层# 创建网络实例一般也不平展,不介绍了。
2025-08-15 21:09:59
1044
原创 torchvision中数据集的使用与DataLoader 小土堆pytorch记录
DataLoader是PyTorch数据管道的核心组件,它不仅仅是简单的数据分批工具,更是连接数据预处理与模型训练的桥梁。合理配置DataLoader参数可以显著提升训练效率和资源利用率,特别是在处理大规模数据集时。命名技巧: 包含epoch信息便于区分不同训练阶段。:True=训练集,False=测试集。:提供常用计算机视觉数据集的便捷访问。表示64张32x32的RGB图像。:大规模图像分类(需单独下载): 添加多张图像(整个批次):手写数字/服装灰度图像。:目标检测与分割数据集。:小尺寸彩色图像分类。
2025-08-14 17:17:18
397
原创 transforms的使用 小土堆pytorch记录
作用:实时可视化训练过程、模型结构和数据核心组件:创建日志写入器:记录图像数据:记录标量数据(如损失函数)使用流程writer = SummaryWriter("logs") # 创建写入器writer.add_image("tag", tensor, step) # 记录数据writer.close() # 关闭资源查看日志:终端执行。
2025-08-13 18:27:07
367
原创 TensorBoard的使用 小土堆pytorch记录
TensorBoard 是 TensorFlow 提供的可视化工具,PyTorch 通过模块支持主要功能:可视化训练过程、模型结构、图像数据等。
2025-08-13 00:02:07
398
原创 Dataset类案例 小土堆Pytorch入门视频记录
import osself.root_dir = root_dir # 数据集根目录self.label_dir = label_dir # 类别标签目录self.path = os.path.join(root_dir, label_dir) # 拼接完整路径self.img_path = os.listdir(self.path) # 获取所有图片文件名img_name = self.img_path[idx] # 获取指定索引的图片名。
2025-08-12 16:09:06
264
原创 238. 除自身以外数组的乘积(C语言,动态分配解析)
想象你有一个盒子(内存),静态分配的盒子大小是固定的(比如),而动态分配的盒子大小可以在程序运行时决定(比如根据用户输入确定大小)。动态内存分配就是通过代码在程序运行时“申请”一块内存空间,用完后再“归还”给系统。动态分配的核心函数malloc:分配一块指定大小的内存。free:释放之前分配的内存。calloc:分配内存并初始化为 0。realloc:调整已分配内存的大小。这里主要介绍malloc何时用动态分配:数组大小不确定、需要函数返回数组、需要大内存。关键步骤malloc。
2025-03-22 13:12:51
806
原创 3.无重复字符的最长字串(滑动窗口+哈希)C语言
滑动窗口的核心思想是通过两个指针动态维护一个窗口,确保窗口内的字符没有重复,并记录最大长度。下面是模板// 哈希表,记录字符的状态// 窗口的起始位置// 记录最大长度s[end];end++) // 遍历字符串// 更新窗口的状态(例如:记录字符的出现次数或位置)// 如果窗口不满足条件,则收缩窗口while (/* 窗口不满足条件 */)// 更新窗口的状态start++;// 收缩窗口// 更新结果(例如:计算窗口的长度)// 返回结果。
2025-03-21 17:12:43
1273
原创 11.盛最多水的容器(C语言)
思路:双指针通过两个指针left和right从数组的两端向中间移动,逐步计算容器的容量,并记录最大值。left指针指向数组的开头(0right指针指向数组的末尾(max_water用于记录最大容量,初始值为0。使用循环,直到两个指针相遇。计算最大容量,不断更新,最后输出最大容量。
2025-03-21 11:58:13
252
原创 283.移动零
先遍历一遍数组, not_zero_index记录非零元素,起始为0,若原数组中位置不为零,就放到 not_zero_index的位置, not_zero_index自增。第二次遍历从 not_zero_index开始,就是第一个零的位置,把跳过的零按照数组原来的长度numsize补满后输出即可。
2025-03-21 10:33:38
246
原创 常用算法模板(自用)
最大子数组和、最小覆盖子串。:二叉树前序、中序、后序遍历。:反转字符串、判断回文。:数组去重、移除元素。:区间求和、统计问题。
2025-03-20 20:33:55
235
原创 内存碎片整理
由于频繁的内存申请和释放,会产生大量的内存碎片,假设用链表管理内存的分配与回收,要求实现对存在内存碎片内存进行整理,将不连续的已释放的内存合并成大块内存。- *current_ptr = new_node 相当于 head = new_node(首次)或前一个节点的next赋值(后续)- current_ptr = &(new_node->next) 将指针移动到新节点的next字段地址。- 这种写法无需单独处理头节点,实现优雅的链表构建。- 内存安全:及时释放被合并节点的内存。管理内存的节点定义如下。
2025-03-20 17:25:09
235
原创 438.找到字符串中所有字母异位词(滑动窗口)
滑动窗口:通过滑动窗口统计字符频率,判断是否与p的字符频率匹配。时间复杂度:O(n * m),其中n是s的长度,m是p的长度。空间复杂度:O(1),使用了固定大小的计数数组。
2025-03-19 22:50:50
1031
原创 最长美好字串2024-02(暴力+滑动窗口)
记录解题过程,自用【问题描述】:当一个字符串s同时 出现在s 中,就称这个字符串s是 美好 字符串。比方说,“abABB”是美好字符串,因为‘A’和‘a’ 同‘B’没有出现。给你一个字符串s,请你返回s 最长的 美好子字符串。如果有多个答案,请你返回出现的一个。如果不存在美好子字符串,请你返回一个空字符串。【示例1】:输入:输出:“aAa”解释:“aAa”是一个美好字符串,因为这个子串中仅含一种字母,其小写形式‘a’ 和大写形式‘A’也同时出现了。
2025-03-19 17:24:29
272
原创 最长公共前缀2023-01(暴力+横向扫描)
先计算第一个字符串的长度,然后遍历其它字符串,看看每个字符串的相同位置的字符是否与第一个字符串的相同,如果所有字符串都相同,最长公共前缀+1;根据最长前缀长度,输出第一个字符串的前几位就是公共前缀串。时间复杂度为:O(M*n*length)带大概是所有字符串的总字符数这个次数,length是while循环的次数,就是字符串长度。编写一个函数来查找 n(正整数)个字符串中的最长公共前缀。思路:二维数组存储strs[][]来存储字符串,一个用来代表序号,一个用来存储字符串。初始时假设第一个字符串为公共前缀。
2025-03-19 15:49:20
274
原创 字符串相似度计算 2022-02
字符串的相似度计算是自然语言处理中常用的方法,给定两个字符串 S1 和 S2,不超过 20 个字符(字符串中不出现空格),其相似度的计算方法为:S=A/(A+B+C),其中,A 是两个字符串中都存在的字符个数(重复出现的字符,只算一次),B 是 S1 中有,但是 S2 中没有的字符个数:C是 S2 中有,但是 S1 中设有的字符个数。两个字符串中都有的字符是 H,e,1,o,w,u,其中 1 和 w 都出现了两次,只算一次。S2 中的在 S1 中未出现,C=1,7,所以 S=6/ (6+3+1)=0.6。
2025-03-18 21:43:42
349
原创 猴子选大王 2021-02
记录自己刷题过程猴子选大王是一道经典的数学问题。问题描述如下有N 只猴子围成一圈,依次编号为1,2,.3.….N。从1号猴子开始依次报数,报到M 的猴子出局。出局的猴子不再参与报数,下一个猴子从1开始重新报数。如此循环,直到只剩下―只猴子为止,这只猴子即为大王。例如,当N=5M=3时,猴子出局的顺序为:3,1,5,2,最后剩下的猴子编号为4,所以4 号猴子是大王。输入猴子数量N,出局的数字M,求最后选出的猴子大王的编号。样例输入:5 3输出 :猴王是4号。
2025-03-18 20:36:42
280
原创 字符串相似度 2021 _01(暴力+DP)
最长公共子串指给定的两个字符串之间最长的相同子字符串(忽略大小写), 最长公共子串长度可用来定义字符串相似度。通过这种设计,动态规划高效地避免了重复计算,时间复杂度为 O(mn),空间复杂度为 O(mn)。个字符,所有字符均为可打印字符,包括大小写字母,标点符号和空格。现给出两个字符串,请计算它们的相似度,结果保留 3。:找到两个字符串的最长公共连续子串(忽略大小写)。:O(m×n),远优于暴力解法的 O(n⁴)。(边界条件,无法继承前面的结果)。的公共子串后,形成更长的子串。表的过程中,始终记录最大值。
2025-03-17 21:33:51
608
原创 力扣 53.最大字数和 C(前缀和+动态规划)
核心思想:每一步决定是继续累加还是重新开始,并始终记录最大值。通俗类比:就像你捡金币,如果之前捡的金币总和是负数,不如从当前位置重新开始捡,否则就继续累加。
2025-03-17 16:43:47
529
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2