- 博客(393)
- 资源 (2)
- 收藏
- 关注
原创 weight_norm随手笔记
经过pytorch中的torch.nn.utils.parametrizations.weight_norm包装后,只是将原来的矩阵weight分解为两个部分。
2025-03-26 10:14:18
281
原创 torch.meshgrid代码测试
x_meshgrid,y_meshgrid=torch.meshgrid(x_tensor,y_tensor) 函数的功能是根据x_tensor,y_tensor来生成网格矩阵x_meshgrid,y_meshgrid,注意这里的x_tensor和y_tensor的方向和实际方向相反,具体如下描述。
2025-03-24 11:04:26
129
原创 LayerScale类测试
在神经网络够着过程中,比如我们使用dropout功能时,需要丢弃部分的参数,但是为了保证训练中参数在dropout前后的期望保持一致,所以有必要将矩阵等比放大一定的比例,这样在丢弃前后参数的期望值就保持不变,这样就引申出一个新的类。
2025-03-19 10:08:34
296
原创 tensor.flatten(2).transpose(1,2)
对于一个四维向量来说,A=[batch_size,in_channles,height,width]
2025-03-18 14:22:54
311
原创 torch.argsort&torch.gather
torch.argsort 的作用是可以将矩阵中的元素进行从小到大排序,得到对应的序号。假设我们有一个向量a表示如下。如果我想通过序号向量b来直接从小到大排序的向量c,那么就需要torch.gather函数。那么从小到大可以得到排序向量为b。
2025-03-17 21:43:11
574
原创 42. MAE(Masked Autoencoders Are Scalable Vision Learners)
step4: 将25%未被掩码的表征向量和 75%可学习的相同的表征向量一起,根据原来的位置编码来组合成新的表征矩阵进入decoder解码器。step1: 将输入图像进行patch分块处理,并通过均匀分布来将75%的Patch块进行掩码遮掉处理。step5: 将decoder 生成新的解码特征向量通过逆块unpatch的方式重新生成新的图像。step2: 将剩下的25%未被掩码块组成新的矩阵后,拉成一个矩阵A后进行映射成新的隐藏表征。step3: 将被掩码的75%的块映射后用同一个可学习的向量进行表征。
2025-03-14 20:11:13
456
原创 nn.Identity 单位矩阵,同一矩阵
在搭建网络结构中,为了保证搭建的网络具有高度扩展性和后续调试模型框架,在保证整体结构完整情况下,用nn.Identity 进行占位符处理。
2025-03-04 12:57:49
262
原创 关于attention中num_head 多头的小思考
在transformer中我们需要将自注意力q,k,v进行注意力attention计算,但有时候,我们用一个行向量表示一个样本的时候,发现行向量太长了,这样整体的计算匹配机制比较差,为了提高注意力匹配率,我们引入了多头注意力。
2025-03-02 10:45:59
356
原创 torch.permute测试
torch.permute 可以一次性的将矩阵的维度进行调换。比如我们有矩阵A的形状为[2,3,4,4],permute矩阵A为[0,2,3,1]那么可以得到矩阵B的形状为[2,4,3,3]的矩阵,具体的作用是为了后续进行维度的扩大和缩小。
2025-02-26 10:17:55
315
原创 向量元素间是否相等mask矩阵
假设有一个向量a_vector[1,2,1,4]此时就两个1相等,所以生成一个mask矩阵用来判断两个元素是否相等。给定一个向量a_vector,生成一个mask矩阵用来判断向量元素间是否相等。
2025-02-15 20:27:30
437
原创 torch_bmm验算及代码测试
torch.bmm的作用是基于batch_size的矩阵乘法,torch.bmm的作用是对应batch位置的矩阵相乘,比如,
2025-02-09 11:23:05
537
原创 torch_unbind&torch_chunk
torch.chunk 的作用是将矩阵按照指定维度分割成指定份数,先按照份数来均匀切割,最后的不够就单独保留。torch.unbind的作用是将矩阵沿着指定维度进行解耦分割成一个。
2025-02-08 17:37:40
547
原创 embeddingbag词袋
词袋embeddingbag 是在embedding词表的基础上演变起来的,nn.embedding的作用是构建一个词表,通过输入index序号来索引词对应的词向量,是可以根据词索引index进行forward计算的,embeddingbag的作用是可以根据offset来按照序号将索引按照一批批来计算,offset相当于菜刀,根据offset索引将引入的词向量求均值或者求和表示出来。
2025-02-05 17:10:21
336
原创 手动计算conv1d 及pytorch源码
链接: https://pan.baidu.com/s/1WIM4Pp5nwa-uP67TMP-m8Q?pwd=uti7 提取码: uti7。conv1d的作用是进行一维的卷积计算,将卷积核沿着输入矩阵进行一维卷积,具体参考如下excel。通过网盘分享的文件:conv1d.xlsx。
2025-02-05 14:44:48
485
原创 torch.tile 手动实现 kron+矩阵乘法
torch.tile 是对矩阵进行指定维度的复制数据,为了实现矩阵复制,使用kron 算子将对角矩阵I 复制后形成基于行变换和列变换的矩阵。
2025-01-24 22:20:34
567
原创 多通道二维卷积手动版+pytorch版本
链接: https://pan.baidu.com/s/1q3McqwfcKO1iX-Ms0BfAGA?pwd=ttsu 提取码: ttsu。通过网盘分享的文件:conv2dtest.xlsx。
2025-01-14 13:02:23
552
原创 cross_entropy交叉熵损失计算
在pytorch中,我们可以通过调用torch.nn.functional.cross_entropy 来计算交叉熵损失。pytorch 代码测试,cross_entropy 选择none是,单独计算每个交叉熵,默认求平均值。
2025-01-13 09:54:32
284
原创 21、Transformer Masked loss原理精讲及其PyTorch逐行实现
【代码】21、Transformer Masked loss原理精讲及其PyTorch逐行实现。
2025-01-12 21:50:58
429
原创 Masked_Filled随机置列为零
在计算损失函数的时候,我们需要将我们填充为0的地方概率置为0,以免参与损失计算,我们一般会将需要置为0的位置上面通过masked_filled函数将为True的位置置为一个非常小的值1e-9,这样经过F.softmax函数后,其值为0。
2025-01-11 21:47:14
502
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人