自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 【Pytorch】index_select和gather函数的对比

在Pytorch中,index_select和gather均是被用于张量选取的常用函数,但其区别巨大,本文通过实例来介绍这种差异性。

2020-02-26 19:53:14 4714

原创 浅析深度学习中的mask操作

mask(掩码、掩膜)是深度学习中的常见操作。简单而言,其相当于在原始张量上盖上一层掩膜,从而屏蔽或选择一些特定元素,因此常用于构建张量的过滤器(见下图)。按照上述定义,非线性激活函数Relu(根据输出的正负区间进行简单粗暴的二分)、dropout机制(根据概率进行二分)都可以理解为泛化的mask操作。从任务适应性上,mask在图像和自然语言处理中都广为应用,其应用包括但不局限于:图像兴趣区...

2020-02-26 19:52:34 42451 4

原创 【Pytorch】对比clone、detach以及copy_等张量复制操作

pytorch提供了clone、detach、copy_和new_tensor等多种张量的复制操作,尤其前两者在深度学习的网络架构中经常被使用,本文旨在对比这些操作的差别。1. clone返回一个和源张量同shape、dtype和device的张量,与源张量不共享数据内存,但提供梯度的回溯。下面,通过例子来详细说明:示例:(1)定义import torcha = torch.ten...

2020-02-24 23:12:06 27808 7

原创 【Pytorch】对比expand和repeat函数

expand和repeat函数是pytorch中常用于进行张量数据复制和维度扩展的函数,但其工作机制差别很大,本文对这两个函数进行对比。1. expandtensor.expand(*sizes)expand函数用于将张量中单数维的数据扩展到指定的size。首先解释下什么叫单数维(singleton dimensions),张量在某个维度上的size为1,则称为单数维。比如zeros(2...

2020-02-23 21:29:08 6290 1

原创 Batch Normalization及各类衍生的Normalization

提出

2020-02-22 18:57:19 489 1

原创 【文本分类】TextCNN模型

111

2020-02-19 12:44:41 903

原创 【Pytorch】简析DataLoader中的collate_fn参数

如在博文数据批量化处理类Dataset和DataLoader中所介绍的一样,DataLoader可通过collate_fn参数,对Dataset生成的mini-batch的可迭代数据进行进一步处理,而本文就简要介绍下该参数,并给出一个简单的例子。1. collate_fn的设置、输入和输出collate_fn应当是一个可调用对象,常见的可以是外部定义的函数或者lambda函数。其接受DataL...

2020-02-18 23:02:53 2964 3

原创 【Pytorch】简析数据批量化处理类Dataset和DataLoader

在深度学习中,在将原始数据进行清理、规范化和编码后,就需要将数据进行序列化和批量化,而Pytorch提供这两项功能的类分别为Dataset和DataLoader。1. Dataset类Dataset类是将数据进行序列化封装的类,我们在为每个具体问题定制合适的Dataset子类时,仅需要继承该父类,同时覆写__init__、__getitem__和__len__三个魔鬼方法即可:__init...

2020-02-18 22:19:40 987

原创 【Pytorch】自定义损失函数

在torch.nn中提供了诸多的损失函数,但有时需要根据实际问题自定义损失函数,其流程和自定义网络模型一样,通过继承nn.Module类,并提供前向计算forward方法,就可以像积木一样放入整体模型中,参与整个动态流图的计算。下面是一个简单的例子:import torchimport torch.nn.functional as F# 定义一个二元交叉熵损失函数class MyLos...

2020-02-18 20:47:08 871

原创 【Pytorch】BCELoss和BCEWithLogitsLoss损失函数详解

在Pytorch中,BCELoss和BCEWithLogitsLoss是一组常用的二元交叉熵损失函数,常用于二分类问题,其区别在于前者的输入为已进行sigmoid处理过的值,而后者为sigmoid函数11+exp⁡(−x)\frac{1}{1+\exp(-x)}1+exp(−x)1​中的xxx。下面为一个简单的示例:import torchimport torch.nn as nnpre...

2020-02-18 20:34:36 18493 5

原创 【Pytorch】scatter函数详解

在pytorch中,scatter是一个非常实用的映射函数,其将一个源张量(source)中的值按照指定的轴方向(dim)和对应的位置关系(index)逐个填充到目标张量(target)中,其函数写法为:target.scatter(dim, index, source)其中各变量及参数的说明如下:target:即目标张量source:即源张量dim:指定轴方向,即填充方式。对于二维...

2020-02-14 11:24:54 18597 17

原创 【Pytorch】模型权重的初始化函数

在神经网络模型中,参数权重的初始设置非常重要,其合理设置能够保证模型的收敛以及数值运算的速度。pytorch中常用的初始化函数封装在torch.nn.init下,常见策略主要包括:1. 均匀分布初始化"""a: 均匀分布下限b: 均匀分布上限返回同tensor同shape的初始化张量"""init.uniform_(tensor, a=0, b=1)2. 正态分布初始化"""...

2020-02-04 22:34:43 3231

原创 【Pytorch】torchtext的简单使用

自然语言处理的数据预处理过程主要包括如下步骤:(1)文本数据集的划分(训练集、验证集和测试集);(2)文本数据的导入;(3)分词;(4)词汇表的构建;(5)文本数据对于词汇表的编码和映射;(6)词向量的生成;(7)批文本数据的生成。torchtext是一个高效、有力的文本预处理库(其对NLP的作用类似于torchvision之于CV),提供了涵盖上述诸步骤的一站式文本预处理功能。其...

2020-02-04 14:32:45 5155

原创 进度条Tqdm库的常用方法

Tqdm 是Python中一个快速、可扩展的进度条工具,可用于封装任意的迭代器对象,输出迭代器迭代进度信息。其常见的使用方法有如下三种:方法一、在for循环中用tdqm封装迭代器from tqdm import tqdmfor i in tqdm(range(10)): print(i)其输出效果如下:100%|██████████| 10/10 [00:00<0...

2020-02-03 14:55:29 932

原创 【Pytorch】对比matual,mm和bmm函数

pytorch中提供了 matmul、mm和bmm等矩阵的乘法运算功能,但其具体计算细节和场景截然不同,应予以注意和区别。1. torch.mm该函数即为矩阵的乘法,torch.mm(tensor1, tenor2),参与计算的两个张量必须为二维张量(即矩阵),其结果张量out的维度关系满足:out(p×q)=t1(p×m)∗t2(m×q)out(p\times q)=t_1(p\times ...

2020-02-01 17:51:12 4063

原创 【Pytorch】控制上下文局部梯度更新

在模型的evaluation阶段和实际应用时,需要关闭pytorch自带的自动求导autograd机制,以防止验证/应用数据对网络参数的变动,同时减少自动求导带来的运算和存储消耗。其常见的控制场景包括:(1)禁止计算局部梯度(2)在禁止计算局部梯度中,允许更精细的局部梯度计算(3)根据判断条件,控制是否允许进行梯度更新下面分别就上述三个场景,介绍常用的写法。场景一:禁止计算局部梯度p...

2020-02-01 17:07:08 1549

原创 将Unicode编码为plain ASCII

def unicodeToAscii(s): return ''.join( c for c in unicodedata.normalize('NFD', s) if unicodedata.category(c) != 'Mn' and c in all_letters )

2020-02-01 16:36:34 385

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除