- 博客(27)
- 收藏
- 关注
原创 Pytorch模型复现笔记-FPN特征金字塔讲解+架构搭建(可直接copy运行)+冒烟测试
特征金字塔的原理讲解,网络源码搭建(有可直接执行的pytorch模型源码),以及网络的冒烟测试
2025-08-09 10:31:55
515
原创 Pytorch-07 如何快速把已经有的视觉模型权重扒拉过来为己所用
在这一节里面我们会过一遍对模型权重的常用操作,比如:- 如何下载常用模型的预训练权重- 如何下载常用模型的无训练权重(只下载网络结构)- 如何加载模型权重- 如何保存权重- 加载模型权重后进行推理的注意事项
2025-08-06 21:59:34
1258
原创 Pytorch-06 如何开启模型训练(模型训练工作流梳理)
这篇文章介绍了如何使用 PyTorch 框架进行模型训练的完整工作流程。它首先准备了 FashionMNIST 数据集和神经网络模型,然后详细讲解了训练前的必要设置,包括超参数(学习率、批次大小、轮次)的定义,以及损失函数 (nn.CrossEntropyLoss) 和优化器 (torch.optim.SGD) 的作用。文章还通过伪代码和图示解释了训练和测试循环的具体实现,并展示了最终的训练输出,为读者梳理了模型训练的核心步骤。
2025-08-05 14:12:36
1181
原创 Pytorch-05 所以计算图和自动微分到底是什么?(计算图及自动微分引擎原理讲解)
本文深入解析了PyTorch中的自动微分机制,重点介绍了计算图和反向传播的原理。文章首先通过一个单层神经网络示例,展示了PyTorch如何动态构建计算图,其中每个操作都被封装为Function类,包含前向和反向方法。关键点包括:1)requires_grad属性控制梯度保存;2)grad_fn属性形成反向传播链;3)调用backward()时自动应用链式法则计算梯度。文章还解释了如何用torch.no_grad()关闭梯度追踪,并指出PyTorch计算图是有向无环图(DAG),每次backward()都会重
2025-08-04 21:56:32
929
原创 Pytorch-速查表-常用层和模块以及使用方法
本文章会持续更新,目前已包含Flatten层的使用和图示Linear层的使用和图示ReLU层的使用和图示Softmax层的使用和图示之前的文章已经完成了FashionMNIST分类网络的搭建。现在我们来总结一下里面用到的layer,用一个3x28x28的minibatch来看看每一层以及模块的作用是什么。其代表着3张28x28灰度图的照片,作为一个minibatch。现在我会将它传入各种不同的层,看看每个层的作用会是什么。
2025-08-04 11:40:16
766
原创 Pytorch-04 搭建神经网络架构工作流
如何使用 PyTorch 搭建神经网络,包括设备选择、定义网络结构、用随机数据进行“冒烟测试”,以及如何查看和检查模型的参数(权重和偏差)。
2025-08-03 10:11:24
1050
2
原创 算法-广度优先遍历-判断迷宫是否有出口
题目的题目大致如下:判断在一个由0(通路)和1(墙壁)组成的二维迷宫中,是否存在一条从起点到终点的有效路径。我只能上下左右移动,不能穿墙,也不能走出迷宫。
2025-08-03 00:23:29
389
原创 Pytorch-02数据集和数据加载器的基本原理和基本操作
pytorch dataloader和dataset类的基本原理讲解以及基本操作和用法
2025-08-02 22:12:55
1118
原创 Pytorch-00快速开始-过一遍Pytorch机器学习的基本工作流以及基本API
Dataset这里使用了这个类。在抽象层面上,Dataset类存储了样本和它们对应的标签。但是,从底层存储机制来看,Dataset并没有真正地存储数据本身,而是存储了数据的元信息和访问数据的方法。大多数情况下,Dataset 对象不会把你的整个数据集(比如几百GB的图像文件)直接加载到内存中。那样会很快耗尽内存。相反,它通常存储的是:文件路径列表: 例如,一个包含所有图片文件路径的 Python 列表。数据库连接信息: 如果数据在数据库中。
2025-07-29 21:33:29
1052
原创 Python-List 如何获得列表中某个元素第一次出现的索引
返回该元素在列表中第一次出现的位置,并且存到。获取启动DFS遍历图前还没有被访问过的节点。
2025-07-22 16:41:56
146
原创 炼丹日记03-疑惑解答:为何姿态估计模型训练时的验证集需要独立的bbox文件?
我训练的姿态估计模型是ViTPose,是一种自顶向下的姿态估计方法,人话就是先把人给框出来,然后再对这个框进行模型推理,获得最终的关键点:因此,理论上来说,标注数据仅仅需要bbox和关键点坐标就可以了。但是我在写ViTPose训练配置文件的时候,我发现了一个匪夷所思的现象:我发现官方的训练文档中的val_dataloader指定了bbox_file为COCO_val2017_Detections.json,但是这东西不应该在ann_file里面中就给了吗?
2025-07-20 20:04:10
269
原创 炼丹日记01-ViTPose-S 从头训练遇到的所有坑,以及GPU训练速度调优的实践教程
后台运行防断线,散热莫教温度蹿。炼中关注炉火候,功耗利用两相看。工人数量取一半,(逻辑核心的一半)核心线程莫占满。批次大小非越满,带宽瓶颈是大患。吞吐高低见分晓,万勿拼写错一环。谨慎细查免心烦,功成丹熟笑开颜。
2025-07-19 23:14:34
956
原创 算法解题范式
这是我在刷算法题的时候总结出来的经验以及思考范式,之后有什么新的感悟都会往这里面添加。接下来进入中期部分。如果你对每种数据结构或者算法的基本用法,使用场景都比较熟悉,这一步对付简单或者中等难度的题目一般就秒了。不过在写题的时候也要遵循以下核心步骤和原则:一般情况下我都会在这个阶段把题做出来,如果很遗憾的,在挣扎半天都写不出来一个 优雅/简介/清晰的, 使用了我识别出来的数据结构或者算法的 自动机来解决这个问题,那么我就要进入后期阶段了。当你使用 识别出的算法/数据结构 的 常规使用方法 无法秒掉这个题,且挣
2025-07-18 18:08:21
295
原创 炼丹日记00-RTX4070 windows系统跑通MMPose示例代码(解决了ValueError: numpy.dtype size changed,...)
解决MMPose配置环境中的所有坑点,包括你该选什么docker镜像,系统库缺了啥,还有最要命的numpy和xtcocotools的dtype冲突问题
2025-07-16 12:32:55
1583
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人