- 博客(53)
- 收藏
- 关注
原创 深度学习基础——(4)自然语言处理基础
难点是歧义分词、未登录词(网络新词、人名、地名、专业术语)给每个词分配一个唯一编号,只有对应位置是 1,其他全是 0。把数字序列转换成稠密向量,是模型真正能理解的形式。:把长篇文本按句号、问号、感叹号切分成句子。索引化主要是把词语映射成唯一数字编号,构建。无法处理多义词(苹果 = 水果 / 公司),让词语变成模型能处理的数字序列。无监督训练,一个词固定一个向量。随机初始化 → 随任务训练优化。第一个真正的上下文词向量。同一个词不同语境向量不同。
2026-05-02 14:39:34
17
原创 深度学习基础——(3)视觉处理基础实战【CNN实现CIFAR10 多分类】
使用全局平均池化确实能减少很多参数,而且泛化能力也比较好。它的缺点是收敛速度比较慢,但是这个不足可以通过增加循环次数进行弥补。通过一个用卷积网络实现分类的实例,来说明如何处理数据,借助 nn工具箱来实现神经网络,并实现训练测试等完整过程。前者只用了16022个参数,后者使用了173742个参数,是前者的10倍多。循环同样的次数,其精度达到 63% 左右,但其使用的参数比没使用全局池化层的网络少很。:包含 10 类小图片:飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船、卡车。简单,如果遇到复杂网络,差距将更大。
2026-04-30 21:25:51
332
原创 深度学习基础——(2)视觉处理基础
黑白图(灰度图):形状 [高度H,宽度W],每个像素 0-255 ,0 表示纯黑,255 表示纯白彩色图(RGB):形状 [通道C,高度H,宽度W],3个通道(红色R,绿色G,蓝色B),每一次都是一张灰度梳子矩阵,叠加成彩色。深度学习统一格式:[Batch, Channel, Height, Width]通道数(灰度 = 1,彩色 = 3)图像天然具备两大关键结构特征,优秀的图像神经网络(CNN),必须贴合、保留这两种特性。局部性 Locality。
2026-04-27 17:24:44
308
原创 深度学习基础——(1)机器学习基础
机器学习是人工智能的分支,让计算机不从人为硬编码规则,而是从大量数据中自动学习规律、挖掘模式,并利用学到的规律,完成预测、分类、判断、识别等任务。机器学习的基本任务一般分为4大类:监督学习、无监督学习、半监督学习和强化学习。学习类型核心原理典型任务实际案例监督学习训练数据带有明确标签(输入 + 正确答案),模型依据标准答案修正误差、学习映射规律分类、回归手写数字识别、猫狗分类、房价预测无监督学习训练使用无标签数据,无标准答案,模型自动挖掘数据内部结构、分布与相似特征聚类、降维。
2026-04-26 16:49:45
366
原创 Pytorch基础——(0)基本概念与numpy相关知识
帮你快速搭建、训练神经网络自动计算梯度(不用手动写求导公式)支持 GPU 加速(训练速度超快)语法和 Python 几乎一样,最适合新手入门PyTorch工具箱神经网络的 “数据载体”,类似 NumPy 的数组,但支持 GPU 加速、自动求导。高效加载训练 / 测试数据,支持批量处理、打乱、多线程加速。torch.nn提供现成的网络层、激活函数、损失函数,快速搭建模型。实现梯度下降、Adam 等优化算法,更新模型参数。
2026-04-26 13:39:12
4
原创 pytorch基础——(1的实战)pytorch实现线性回归任务
损失函数的公式预测值和真实值的差的平方,差越大,损失越大。前面的 1/2 是为了后面求导方便,不影响优化结果。
2026-04-22 18:48:19
363
原创 Pytorch基础——(1)Tensor基础与autograd
Tensor 就是 PyTorch 里的 “数组”,和 NumPy 的数组几乎一样,但能在 GPU 上运行。二维矩阵乘法,A 形状:(n, m),B 形状:(m, p),相乘后形状:(n, p)高维矩阵乘法,乘法仅在最后两个维度上,要求前面的维度必须保持一致。逆运算:必须是浮点型、可逆方阵。多维矩阵只对【最后两个维度】生效。用 .dtype 属性查看 Tensor 的类型。多维矩阵只对【最后两个维度】生效。自然指数 eˣ:torch.exp()用 .type () 转换类型。
2026-04-22 13:39:16
370
原创 服务器使用指南
激活完之后,前面会出现一个小括号,括号内为环境名。后续操作需要保证在此环境下,即后续操作需要保证每一步前面都有小括号,才算正确。连接成功后如图所示,前面的点为绿色的。如果为红色即表示没有连接成功。有可能是因为校园网的缘故,换用自己的热点即可。安装pytorch之前必须查看CUDA版本,然后安装和CUDA适配的pytorch。容器实例——更多(最右边)——无卡模式开机(0.1r/h)点击绿色的按钮,即可连接xftp,实现文件的上传与下载。填写密码:复制上述登录指令下面的密码。点击连接,即可成功连接。
2026-04-19 13:07:21
126
原创 深度学习——SETR(Segmentation Transformer)学习(2020.12)
输入一张图片,输出一个或多个类别。只关心整张图的主体是什么,不关心位置、形状、边界。模型关心全局语义、整体特征,不需要空间细节,不需要位置信息。输入:一张猫的照片。输出:cat给每一个像素分类:这个像素是:人?车?路?天空?猫?狗?背景?模型关心每个像素的类别、物体边缘、形状、位置、多尺度信息(大物体 + 小物体都要识别)。输入:城市街景图。输出:和原图一样大的彩色掩码图,每个颜色代表一类维度图像分类语义分割输出粒度图像级别(1 个标签)像素级别(H×W 个标签)是否需要空间结构。
2026-03-16 16:48:46
506
原创 深度学习——ViT(Vision Transformer)学习(2020.10)
Vision Transformer(ViT) 是将自然语言处理领域的 Transformer 架构直接迁移到计算机视觉的开创性模型,由 Google 在 2020 年提出,论文标题为 《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》。简单来说,ViT就是把图片当成一句话,用 Transformer 做图像分类。ViT论文链接直接将图像视为序列,使用纯 Transformer 结构完成视觉任务。
2026-03-16 14:06:15
570
原创 深度学习——Transformer学习(2017.06)
Transformer 是 2017 年由 Google 团队在《Attention Is All You Need》中提出的纯注意力机制序列建模架构,彻底抛弃 RNN/LSTM 的递归结构,以多头自注意力 + 前馈网络为核心,实现全局并行计算与长距离依赖建模,是 GPT、BERT、LLaMA 等大模型的基础。序列到序列(Seq2Seq)建模框架,最初用于机器翻译,现已覆盖 NLP、CV、语音、多模态等领域。原论文链接位置编码:弥补注意力无位置感知的缺陷。
2026-03-15 17:01:03
814
原创 机器学习算法——高斯混合模型GMM
单一高斯分布:所有数据都来自 “同一群人”,服从同一个正态分布。一维:只有一个变量的正态分布,用平均值和宽度,描述数据中间多、两头少的分布形态。二维:两个变量共同服从同一个正态分布,用中心点 + 椭圆形状,描述它们的平均水平、分散程度和相关性。多维:多个变量共同服从同一个正态分布,用一个中心点、一个协方差矩阵,描述她们的的平均水平、分散程度和变量之间的相关性。混合高斯分布:数据不是来自一群人,而是来自好几群人,每群各自是高斯,合在一起就是混合高斯。
2026-03-12 09:22:42
415
原创 算法篇——动态规划【力扣Hot100】
例如,字符串 “ababcc” 能够被分为 [“abab”, “cc”],但类似 [“aba”, “bcc”] 或 [“ab”, “ab”, “cc”] 的划分是非法的。给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。
2025-09-09 21:55:12
1190
原创 数据结构——线性表【矩阵】
给你一个满足下述两条属性的 m x n 整数矩阵:每行中的整数从左到右按非严格递增顺序排列。给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix。给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0。这类题目侧重考察矩阵的基本遍历逻辑(行遍历、列遍历、对角线遍历等),以及简单的元素修改。
2025-09-05 21:39:08
1159
原创 算法篇——动态规划【打家劫舍&股票买卖】
买卖股票的最佳时期4:设计一个算法来计算你所能获取的最大利润。也就是说,你最多可以买 k 次,卖 k 次。买卖股票的最佳时期3:设计一个算法来计算你所能获取的最大利润。买卖股票的最佳时期2:在每一天,你可以决定是否购买和/或出售股票。买卖股票的最佳时期1:你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。买卖股票的最佳时期6:你可以无限次地完成交易,但是你每笔交易都需要付手续费。买卖股票的最佳时期5:卖出股票后,你无法在第二天买入股票 (即冷冻期为 1 天)。
2025-09-05 16:24:49
447
原创 数据结构——树(02二叉树,二叉树的构造与增删改查,代码练习)
展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null。如果两个节点重叠,那么将这两个节点的值相加作为合并后节点的新值;否则,不为 null 的节点将直接作为新二叉树的节点。翻转奇数层的节点:记录每一层的层数,然后将当前层的值保存下来,重新赋值给每一个节点。给定二叉树的前序遍历(根→左→右)和中序遍历(左→根→右)序列,重建二叉树。给定中序(左→根→右)和后序(左→右→根)遍历序列,重建二叉树。按照上述的思路,重复多次就能构造出整个树了。
2025-09-02 20:47:47
888
原创 数据结构——树(03二叉树,与路径有关的问题,代码练习)
判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum。给定一个二叉树的根节点 root ,和一个整数 targetSum ,求该二叉树里节点值之和等于 targetSum 的 路径 的数目。给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。路径 不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。返回所有从根节点到叶子节点的路径。
2025-09-02 20:47:33
701
原创 数据结构——树(04二叉树,二叉搜索树专项,代码练习)
二叉搜索树(Binary Search Tree,简称 BST)是一种特殊的二叉树,其核心特性围绕 “节点值的有序性” 展开。给定一个二叉搜索树 root 和一个目标结果 k,如果二叉搜索树中存在两个元素且它们的和等于给定的目标结果,则返回 true。给你一个 二叉搜索树 的根节点 root ,和一个由正整数组成、长度为 n 的数组 queries。给定二叉搜索树的根结点 root,返回值位于范围 [low, high] 之间的所有结点的值的和。二叉搜索树的中序遍历是有序的,且是升序的。
2025-09-02 20:47:18
747
原创 算法篇——动态规划【基础篇】
算爬 4 阶时又要算爬 3 阶和爬 2 阶 ——爬 3 阶被重复计算了 2 次。如果 n很大,重复计算的次数会爆炸式增长,效率极低。给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。给你一个整数 n ,对于0-n的n+1个数,计算其二进制表示中 1 的个数。如果是奇数,那么二进制的个数比i-1的1多一个。如果i是偶数,二进制最后一位是0,1的个数和。如果i是奇数,二进制最后一位是1,1的个数是。如果是偶数,那么二进制的个数与i%2一样。
2025-08-31 22:50:15
123
原创 查漏补缺——与日期有关的字符串
给你一个字符串 date,它的格式为 yyyy-mm-dd,表示一个公历日期。给定一个 “YYYY-MM-DD” 格式的日期和一个整数 N,计算 N 天后的日期,同样以 “YYYY-MM-DD” 格式返回。给你一个字符串 date ,它的格式为 Day Month Year ,请你将字符串转变为 YYYY-MM-DD 的格式。给定两个 “YYYY-MM-DD” 格式的日期,计算它们之间的工作日天数(周一至周五,不含法定节假日)。给定一个 “YYYY-MM-DD” 格式的日期,将年月日分离出来。
2025-08-31 18:06:28
2367
原创 数据结构——线性表(链表,力扣中等篇,增删查改)
请你生成一个大小为 m x n 的螺旋矩阵,矩阵包含链表中的所有整数。给定循环单调非递减列表中的一个点,写一个函数向这个列表中插入一个新元素 insertVal ,使这个列表仍然是循环升序的。重点在于栈内存储的是节点,最后返回时候需要使用头插法进行连接。在两个数A和B的中间插入A和B的公约数【公约数的值可以用gcd直接求】当前值与后面值比较:若存在一个值 > 当前值,将当前值删掉。单调栈的关键是维持栈内元素的单调性。给你两个整数:m 和 n ,表示矩阵的维数。组成的序列,直到不存在这样的序列为止。
2025-08-29 20:50:54
1141
原创 数据结构——线性表(数组vector与字符串string,C++常见操作)
【代码】数据结构——线性表(数组vector与字符串string,C++常见操作)
2025-08-28 15:59:58
552
原创 数据结构——线性表(链表,力扣中等篇,技巧型)
当链表无序时,去重操作无法像有序链表那样通过简单比较相邻节点来完成,需要借助额外的数据结构来记录已出现过的值。因为链表是排序的,重复元素一定相邻,所以只需比较当前节点和下一个节点的值。思路就是创建两个临时链表,分别存储小于 x 的节点和大于或等于 x 的节点,最后将这两个链表连接起来,保持原有节点的相对顺序。思路2:先将链表连成环,再找到新的头节点位置并断开环,从而完成旋转操作。思路1:将链表分成两个小链表,然后将两个链表交换位置,重新连接即可。不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
2025-08-25 17:11:59
2338
原创 深度学习——yolo学习(2015.06)
Step1:它把图像划分成S×SS×SS×S的网格,若物体object中心落在某个网格单元内,该网格单元就负责检测这个物体,需要预测该物体的边界框位置、置信度以及所属类别等信息。在一张没有任何物体的空白图像中,所有网格单元都没有物体中心落入,则它们都不需要检测物品。在包含少量物体的图像中,只有物体中心所在的少数网格单元需要检测对应的物品,其余网格无需检测。假设图像中有 3 个物体,那么理论上只有 3 个网格会主动负责预测这些物体。7*7=49个网格最多检测49个物体。
2025-08-21 15:02:25
3063
原创 深度学习——R-CNN及其变体
特性R-CNNFast R-CNN候选框RPN(网络生成)特征提取每个 RoI 单独整图共享 CNN整图共享 CNNROI 特征Warp 到固定大小分类/回归端到端多任务端到端多任务训练三阶段端到端联合训练端到端联合训练速度很慢快更快(≈5 FPS 以上)候选区域生成(Region Proposals):找出“可能有目标”的若干候选框;分类 + 回归(Detection Head):对每个候选框判别类别并精修边界框。
2025-08-18 22:33:52
1296
原创 深度学习——常见的神经网络
在 CNN 中,经过一系列卷积和池化操作后,输出的特征图通常是具有高度、宽度和通道数的三维张量(形状如 [batch_size, height, width, channels] );其核心思想是:信息从输入层开始,经过若干个隐藏层的非线性变换,最终到达输出层,且信号只沿单向传播,不会形成循环。池化的主要作用有1、保留边缘、纹理等显著特征2、将图片的大小变小:8 * 8的图片变成了4 * 4。RNN的核心思想:网络的隐藏状态记录历史信息,每个时间步的输出依赖当前输入和之前的隐藏状态。其计算方法不展开叙述。
2025-08-17 10:45:19
1665
原创 深度学习——常见问题与优化改进
在 PyTorch 中,L1 需手动加入损失,对于加了L1正则的神经网络,大部分深度学习框架自带的优化器训练获得不了稀疏解;Dropout 随机让一部分神经元 “失效”(输出为 0),使模型无法依赖固定的神经元组合,被迫学习更广泛、更具代表性的特征。当梯度的 “大小” 超过预设阈值时,按比例缩小梯度,使其控制在合理范围内,保证参数更新的稳定性。是指模型在训练数据上都表现不好,说明模型太简单,无法捕捉数据中的规律。:训练数据中某些类别样本太少,导致模型偏向多的类别,分类效果差。决定每次更新参数的步长。
2025-08-16 17:48:07
1052
原创 机器学习——线性回归
是从 “损失函数” 到 “参数梯度” 的计算过程,核心是通过求导(梯度)找到参数的优化方向,为参数更新提供依据。是从 “输入特征” 到 “输出预测值” 再到 “损失计算” 的过程,核心是利用当前参数计算模型的预测结果,并衡量预测与真实值的误差。类比蒙眼爬山时,通过脚底坡度(梯度)感受下山方向,一小步一小步(学习率)往山下走。梯度的模(长度)表示变化率的大小。输入:结构化的特征数据,通常用向量或矩阵表示。线性回归的核心是通过训练数据学习最优的。:衡量预测值与真实值的差异,输出:线性回归的输出的。
2025-08-16 14:52:18
874
原创 数据结构——线性表(链表,力扣简单篇)
需要注意的是:如果初始化dummy指向头结点,那么在第一次循环时,容易形成闭环。正常的1和2之间已经没有了联系,但是并不影响p的头插。反转2(反转部分链表):给出指针 p 以及指针 q 指向链表中的某个节点。给定两个单链表的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。使用头插法将整个链表重新插入,注意保存p的下一个指针 pnext。给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。给你一个链表的头节点 head ,判断链表中是否有环。
2025-08-14 15:16:55
764
原创 数据结构——线性表(核心操作,附代码)
max_size表示顺序表的最大容量,即有有多少个元素。length表示当前元素的个数,其范围为【0,max_size】index表示数组的有效索引,其范围为【0,length-1】100int length;简单操作包括:初始化链表,判空,判满,获取长度。// 初始化顺序表// 初始为空表// 判断顺序表是否为空// 判断顺序表是否已满// 获取顺序表长度ListNode结构体定义:值val和指向下一个节点的指针nextdummy:虚拟头结点,指向开始节点简化边界情况。
2025-08-12 14:32:27
785
原创 数据结构——线性表(概念与存储结构)
描述数据元素之间的逻辑关系,与数据的存储方式无关。它是数据结构的抽象模型。尾结点的next指针原本为null,现在让他指向头结点或者开始节点。描述数据在计算机内存中的存储方式,决定了数据的物理表示和操作效率。存储结构:线性表分为顺序存储结构和链式存储结构,即顺序表与链表。通常用数组实现顺序表,并记录当前元素个数(长度)和最大容量。逻辑结构:线性表示是具有相同特性数据元素的有限序列。除了指向下一个节点以外,还增加了指向前驱节点的指针。
2025-08-12 13:06:09
772
原创 数据结构——树(01二叉树,【特性,特殊节点,特殊树】,代码练习)
除了关于二叉树的遍历以及N叉树的遍历,在以下博文中已经讲解了。下列讲解一些力扣上面关于二叉树的题目。二叉树的递归解法本质是 “分治思想”:将问题分解为左右子树的子问题,解决子问题后合并结果。因此方法1就是用递归。涉及到遍历整个树的可以使用广度优先遍历求解。
2025-08-10 22:27:07
2745
原创 数据结构——图(图的遍历)
同理可得,对于图的深度优先遍历应该先访问节点root,然后访问第1个邻接点,第2个邻接点。总的来说,图中可能有节点没访问到,或被重复访问。初始化为0,表示没有被访问过。类似,因此可以参考树的先序遍历的代码实现。但是图的遍历和树的遍历的不同点在于。
2025-08-09 10:44:05
388
原创 数据结构——图(图的概念)
无向图用普通邻接表存储时,一条边会被存两次(比如边【0,1】,会在A的邻接表存B,也会在B的邻接表存A)。树的链式存储有一种是孩子链表存储。类似于树的孩子链表存储,可以用邻接表存储图。我们希望边【0,1】和边【1,0】只用一个节点存储。有向图:无权图的表示与带权图的表示。结合邻接表和逆邻接表。
2025-08-09 10:14:29
759
原创 Flask初步学习
首先,创建一个flask项目。我选择自定义环境——现存的——conda环境——sx2025。host=‘0.0.0.0’:允许外部设备访问你的应用。如图所示:URL中输入的5会打印出来。port=5000:指定访问端口。
2025-08-08 15:20:11
310
原创 数据结构——树(树的遍历,附代码)
只有先序遍历和后序遍历。因为二叉树每个节点固定分左、右子树,能明确“左→根→右”的中序顺序;要想先访问左节点,再访问右节点。第一次访问时打印:1-2-4-5-6-3(先序遍历:根左右)第二次访问时打印:4-2-5-1-6-3(中序遍历:左根右)第三次访问时打印:4-5-2-6-3-1(后序遍历:左右根)和二叉树的遍历类似,树的遍历主要是针对多个p->child。将逆后序遍历的结果压入栈中,再取出来就可以实现后序遍历了。从上到下,从左到右:遍历结果1-2-3-4-5-6。同样,森林只有先序遍历和后序遍历。
2025-08-08 15:17:30
1117
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅