![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Pytorch实战
文章平均质量分 89
狗狗狗大王
自然语言处理 语音识别 语音合成
展开
-
超平实版Pytorch CNN Conv2d
对于每一次kernel的移动:完全对应的位置,数字两两相乘,然后每一对的结果相加,最后加上bias。这里不确定为什么kernel画了三个颜色,我觉得可能只是表示下面计算的顺序是从左到右、从上到下写的。如果是int,就是对于高那条边、宽那条边应用一样的值。比如如果你的kernel是int,那就是一个正方形的kernel。比如一个2D的图片,由R、G、B三个通道的2D数据叠加。Default: True.指的就是当前batch中第I个数据的第j个通道的情况。,也就是循环一遍input中的通道数量而已。原创 2024-04-17 12:50:43 · 1120 阅读 · 0 评论 -
Pytorch中计算余弦相似度、欧式距离、范数 (捋清pairwise distance, norm, 详解cdist)
设a,b分别为两个tensorimport torchimport torch.nn as nna = torch.tensor([1,2],dtype=float)b = torch.tensor([5,7],dtype=float)余弦相似度余弦相似度非常简单cos_sim = nn.CosineSimilarity(dim=0, eps=1e-6)sim = cos_sim(a,b)print(sim) # tensor(0.9878, dtype=torch.float64)原创 2021-12-08 14:52:54 · 16572 阅读 · 3 评论 -
保姆级详解Pytorch/Numpy中的Broadcasting: 广播机制
本文参考BROADCASTING SEMANTICS1,搭配一些个人理解。什么是广播机制?如果一个Pytorch运算支持广播的话,那么就意味着传给这个运算的参数会被自动扩张成相同的size,在不复制数据的情况下就能行。两个张量可广播的前提前提1: 两个张量都至少有一个维度。像下面这种情况下就不行,因为x不满足这个条件。x=torch.empty((0,))y=torch.empty(2,2) 前提2: 按顺序看两个张量的每一个维度,x和y每个对应着的两个维度都需要能够匹配上。什么情况下算是原创 2021-10-28 16:20:48 · 1982 阅读 · 3 评论 -
对抗训练+FGSM, FGM理解与详解
简介本文旨在收集对抗训练相关的内容,并作出比较详细的理解和讲解。 概念本部分收集对抗训练相关的一些词汇和理解。对抗样本我们对数据集中的数据,做一些比较小的、但却能带来很大杀伤力的改动。改动后的数据可能会让模型以较高的confidence输出一个错误的预测。1很多模型面对这种样本的时候,是很容易出错的。2Towards Deep Learning Models Resistant to Adversarial Attacks ↩︎Intriguing properties of ne原创 2021-04-28 22:41:42 · 6800 阅读 · 2 评论 -
Label Smoothing标签平滑详解+Pytorch保姆级实际操作
简介Label Smoothing是一个帮助多分类模型进行正则化的操作。从提出Label Smoothing的论文出发"When Does Label Smoothing Help? "这篇文章指出Szegedy et al.提出了Label Smoothing. 因此我们就从Szegedy et al.的文章入手。在这里我们简称Label Smoothing为LS。标签平滑也可以被简称为LSR(Label-Smoothing Regularization)。不使用LS时的情况假设我们有一个K分原创 2021-04-20 00:08:13 · 12736 阅读 · 5 评论 -
Pytorch中的torch.gather函数详解,从抽象到具体
从官方文档出发这个官方文档写得看起来非常不人道,但实际上它已经包含了我们理解所需要的信息,我们来仔细看一下。首先来理解一下输入:torch.gather(input, dim, index, *, sparse_grad=False, out=None)此处的input是一个张量,假设是个三维张量吧。dim是指定的维度。index也是一个张量,它必须和input有一样的维度,所以这里也假设是三维。 假设我们设置dim=1out[i][j][k] = input[i][index[i][j原创 2021-04-19 17:45:57 · 716 阅读 · 1 评论 -
Pytorch中保存模型,并在测试集上训练前加载模型。
1原创 2020-06-20 12:36:26 · 2373 阅读 · 0 评论 -
超平实版Pytorch Self-Attention: 参数详解(尤其是mask)(使用nn.MultiheadAttention)
目录Self-Attention的结构图forward输入中的query、key、valueforward的输出实例化一个nn.MultiheadAttention进行forward操作关于maskReferenceSelf-Attention的结构图本文侧重于Pytorch中对self-attention的具体实践,具体原理不作大量说明,self-attention的具体结构请参照下图。(图中为输出第二项attention output的情况,k与q为key、query的缩写)本文中将使用Pyt原创 2020-06-17 18:07:59 · 41109 阅读 · 9 评论 -
超平实版Pytorch LSTM模块输入输出以及参数详解
本篇文章包含什么?本篇文章侧重于Pytorch实践过程中对LSTM的使用,主要讲解torch.nn.LSTM输入和输出的内容,不包含LSTM的原理和细节。LSTM作用在什么上?LSTM是作用在==一整个序列(sequence)==上的。也就是说,我们输入的是一整个串S,LSTM层会对里面的每一个小单位(element)x进行LSTM操作。(注意:此处我们以大写S表示整个串,小写x表示串中的某个单位。以一个句子为例,整个句子是S,每一个单词是一个x。)在每一个单词x上会发生什么?你可以这样理解,每原创 2020-06-17 10:45:16 · 3233 阅读 · 4 评论