pytorch学习_进阶知识
pytorch中文文档
Tensortorch.Tensor是一种包含单一数据类型元素的多维矩阵
Torch定义了10种CPU tensor类型和GPU tensor类型:
Data type
dtype
CPU tensor
GPU tensor
32-bit floating point
torch.float32 or torch.float
torch.FloatTensor
torch.cuda.FloatTensor
64-bit floating point
torch.float64 or torch.double
torch.DoubleTensor
torch.cuda.DoubleTensor
16-bit floating point [1]
torch.float16 or torch.half
torch.HalfTensor
torch.cuda.HalfTensor
16-bit floating point [2]
torch.bfloat16
torch.BFloat16Tensor
torch.cuda.BFloat ...
LLM Tokenizer分词系列
tokenizer
hugging face Tokenizer文档
huggingface的分词器的摘要
【LLM系列之Tokenizer】如何科学地训练一个LLM分词器
概述文本分词的过程涉及将文本拆分成多个单词或子单词。接着,这些单词或子单词会被映射到特定的ID,转换过程涉及一个查找表,这是一种简单的对应关系
因此,我们的主要关注点在于解析文本为一系列的单词或子单词
更具体地说,我们将探讨🤗 Transformers库中常用的三种主要分词器类型:Byte-Pair Encoding (BPE)、WordPiece和SentencePiece,并且我们将提供实例说明哪种模型采用了哪种分词器
要了解特定预训练模型使用了哪种分词器,你可以参考每个模型主页上的文档说明,例如BertTokenizer,你会发现模型采用的是WordPiece分词器
分词例子将一段文本分词到小块是一个比它看起来更加困难的任务,并且有很多方式来实现分词,举个例子,让我们看看这个句子
1"Don't you love 🤗 Transformers? We sure do."
...
咕呱锻炼随笔
关于健身当我们谈论健身时,我们实际上在追求一种全面的生活方式,旨在提高身体和心理的健康
健身不仅仅是锻炼身体肌肉,更是一种投资自己长期健康的行为。通过定期的锻炼,我们不仅能够改善体能和体型,还能提高免疫系统的功能、增强心血管健康,甚至改善情绪和心理状态
健身是一个多元化的概念,可以包括有氧运动、力量训练、柔韧性训练以及心理健康的培养
无论是跑步、举重、瑜伽还是冥想,每种形式的运动都为我们提供了不同的益处。而更为重要的是,通过锻炼,我们培养了坚韧、毅力和自律,这些品质也会渗透到我们的日常生活中
健身并不是一蹴而就的过程,而是一个持之以恒的旅程。它不仅关乎身体的变化,更关乎养成积极的生活习惯
无论是早晨的晨练,还是晚上的瑜伽冥想,每一次锻炼都是对自己的一份投资,是为了更好地迎接生活的挑战
总的来说,健身是一种生活态度,是对自己身体和心灵的关爱。通过坚持不懈的努力,我们能够创造一个更加健康、活力和充实的生活
不要把健身看作是一项任务,而是将其融入到日常生活中,成为生活的一部分
健康的身体是我们追求更丰富人生的基石,而健身正是为了实现这一目标的重要途径
五大要素健身通常分为五个主要方面,被称 ...
机器学习_一元函数微积分(2)
写在前面,本系列主要是对下面这本书做的学习笔记
微分中值定理微分中值定理建立了导数与函数值之间的关系
罗尔中值定理拉格朗日中值定理柯西中值定理
定义
罗尔中值定理(Rolle Mean Value Theorem)是指如果函数$f(x)$在闭区间$[a,b]$内连续,在开区间$(a,b)$内可导,且在区间的两个端点处的值相等,即$f(a)=f(b)$,则在区间$[a,b]$内至少存在一点$\xi$使得$f’(\xi)=0$
举一个罗尔中值定理的示例: $f(x)=sin(x)$,考虑间$[0,\pi]$,有$f(0)=f(\pi)=0$,函数在$x=\frac{\pi}{2}$处有极大值,显然在该点处导数值为$0$
用费马定理证明罗尔中值定理
如果$f(x)$在闭区间$[a,b]$内是常数,则在该区间内任一点处都有$f’(x)=0$
如果不为常数,则必定存在极大值点和极小值点,根据连续函数的性质,极大值和极小值中至少有一个区间$(a,b)$内取得,在该点处有$f’(x)=0$
几何意义
对于区间两个端点处的函数值相等的函数,在区间内至少存在一点的导数值为$0$,该 ...
机器学习_最优化方法(2)
凸优化问题求解一般的最优化问题的全局最优解通常是困难的,至少会面临局部极值与鞍点问题,如果对优化问题加以限定,则可以有效地避免这些问遉,保证求得全局极值点
典型的限定问题为凸优化(Convex Optimization)问题
数值优化面临的问题其于导数的数值优化算法判断收敛的依据是梯度为$\mathbf{0}$,但梯度为$\mathbf{0}$只是函数取得局部极值的必要条件而非充分条件,更不是取得全局极值的充分条件,因此,这类算法会面临如下问题
无法收敛到梯度为$\mathbf{0}$的点,此时算法不收敛
能够收敛到梯度为$\mathbf{0}$的点,但在该点处黑塞矩阵不正定,因此不是局部极值点,称为鞍点问题
能够收敛到梯度为$0$的点,在该点处黑塞矩阵正定,找到了局部极值点,但不是全局极值点
xxx图 4.17$-x^{2}+y^{2}$的击点
对于上图所示的目标函数,如果以$(0,4)$作为初始迭代点,迭代法最后会陷人鞍点$(0,0)$,在$(0,0)$点处梯度为$\mathbf{0}$,黑塞矩阵为
\left(\begin{array}{cc}
-2 & 0 \\
...
机器学习_概率论(2)
分布变换已知从某一概率分布的随机变量$X$,可以对它进行变换,得到服从其他概率分布的随机变量$Y$,即根据一个概率分布的样本得到另一个概率分存的样本
随机变量函数
定义
随机变量函数是以随机变量为自变量的函数,它将一个随机变量映射成另外一个随机变量,二者一般有不同的分布
假设随机变量$X$的概率密度函数为f_{X}(x),分布函数为F_{X}(x),对于$X$的函数
Y=g(X)假设该函数严格单调,反函数存在且$g^{-1}(x)=h(x)$,现在计算$Y$所服从的概率分布
首先计算$Y$的分布函数,由于$X$的分布函数是已知的,因此需要借助于它的分布函数,如果$g(x)$单调增,根据分布函数的定义,$Y$的分布函数为
F_{Y}(y)=p(Y \leqslant y)=p(g(X) \leqslant y)=p\left(X \leqslant g^{-1}(y)\right)=F_{X}(h(y))=\int_{-\infty}^{h(y)} f_{X}(x) \mathrm{d} x即有
F_{Y}(y)=F_{X}(h(y))对该函数进行求导即可得到$Y$的概率密度函 ...
机器学习_线性代数与矩阵论(3)
二次型二次型是一种特殊的二次函数,只含有二次项,它在线性代数与多元函数微积分中被广泛使用
在机器学习中二次型经常作为目标函数出现
基本概念二次型(Quadric Form) 是由纯二次项构成的函数,即二次齐次多项式,如下面的函数
2 x^{2}-3 x y+y^{2}+z^{2}二次型可以写成矩阵形式
x^{\mathrm{T}} \boldsymbol{A x}其中$\boldsymbol{A}$是$n$阶对称矩阵,$\boldsymbol{x}$是一个列向量,上面的二次型展开之后为
\sum_{i=1}^{n} \sum_{j=1}^{n} a_{i j} x_{i} x_{j}这里要求a_{i j}=a_{j i},需要注意的是,一般的二次函数不一定是二次型,它可能有一次项和常数项
上式的二次型对应的矩阵为
\left(\begin{array}{ccc}
2 & -1.5 & 0 \\
-1.5 & 1 & 0 \\
0 & 0 & 1
\end{array}\right)平方项a x_{i}^{2}的系数是矩阵的主对角线元素,交叉乘积项a x_{i} x_{j}的系 ...
机器学习_线性代数与矩阵论(2)
线性方程组高斯消元法高斯消元法(Gaussian Elimination Method)即加减消元法,是求解线性方程组的经典方法
通过将一个方程减掉另一个方程的倍数消掉末知数,得到阶梯型方程组,然后依次解出每一个末知数
下面用一个简单的例子进行说明,对于如下的线性方程组
\left\{\begin{array}{l}
2 x_{1}+x_{2}+x_{3}=1 \\
6 x_{1}+2 x_{2}+x_{3}=-1 \\
-2 x_{1}+2 x_{2}+x_{3}=7
\end{array}\right.先消去方程2和方程3的第一个末知数,将方程2减去方程1的3倍,将方程3加上方程1,消掉方程2和方程3中的$x_{1}$,得
\left\{\begin{array}{l}
2 x_{1}+x_{2}+x_{3}=1 \\
-x_{2}-2 x_{3}=-4 \\
3 x_{2}+2 x_{3}=8
\end{array}\right.然后将方程3加上方程2的3倍,消掉方程3中的$x_{2}$,得
\left\{\begin{array}{l}
2 x_{1}+x_{2}+x_ ...
豚妞成长记录
语文从我身边走过
语文从我身边倘徉而过,留下唐风宋韵的淋漓酣畅!
语文从我身边流淌而过,留下诗林词苑的慷慨激昂!
语文从我身边飘然而过,留下美文小说的婉转悠扬!
朦胧中芳香扑鼻,是满园春色中,那枝出墙红杏的香甜之味?还是夏日荷塘那靖蜓伫立小荷所溢的清幽?是重阳菊花怒放带出怡人的淡雅之香?还是冬日山园小梅凌寒傲雪浮动的暗香?
如果你是“大漠孤烟直,长河落日圆”的边塞大漠,我愿飞奔在漫天黄沙里;如采你是“惊涛拍岸,卷起千堆雪”的浩瀚长江,我愿遨游于猛浪湍漩中;如果你是“山重水复疑无路,柳暗花明又一村”的深山丛林 ...
图神经网络
概述
PyG Documentation
PyG(PyTorch Geometric)是一个建立在 PyTorch 基础上的库,用于轻松编写和训练图神经网络(GNN),用于与结构化数据相关的广泛应用
任务形态
GNN中常见任务:Graph级别任务、Node级别任务、Edge级别任务
包括:节点分类,节点连接预测,图相似度检测,异常检测,图分类
多层GNN不会改变图的拓扑结构,但是会改变点的特征,多层GNN处理可以扩大感受野
GCN和CNN有什么不同和相同点
不同点:图卷积中每个点的邻居数量是不确定的,图卷积中的数据输入格式不确定
相同点:GCN和CNN本质都需要对输入数据做特征提取,且都是根据某个点周围点的情况提取特征
GCN 可以处理 semi-supervised learning,即只有部分节点有标签的情况,计算损失时只用有标签的计算
GCN 的层数一般3~5层比较好,层数叠加可能导致反效果








