深度学习
文章平均质量分 66
Quinn-ntmy
这个作者很懒,什么都没留下…
展开
-
PyTorch的数据读取机制
PyTorch 中的 Dataset 和 DataLoader读哪些数据?根据 Sampler(DataLoader源码中)输出的 index 决定。从哪里读数据?根据Dataset中设置的数据路径读取数据。如何读数据?Dataset的 __getitem__() 方法,可以帮助我们获取一个样本。代码示例(以下代码均选自细粒度情感分析的AEN模型): # 构建ABSADataset实例 self.trainset = ABSADataset(op原创 2022-05-24 17:37:43 · 1868 阅读 · 2 评论 -
PyTorch中的模型构建
一、构建模型的两个要素构建子模块:在自己建立的模型(继承nn.Module)的__init__()方法;拼接子模块:在模型的forward()方法中。二、nn.Module类模型中的 nn.Module :我们所有的模型,所有的网络层都是继承与这个类的。torch.nn包括(1)nn.Parameter、(2)nn.functional、(3)nn.Module、(4)nn.init,这几个子模块协同工作。1. nn.Parameter张量子类,表示可学习参数,如weight、bias。原创 2022-05-24 17:38:35 · 858 阅读 · 0 评论 -
预训练语言模型的使用方法
如何使用预训练模型一、思路首先要考虑目标模型的数据量及目标数据与源数据的相关性。一般要根据数据集与预训练模型数据集的不同相似度,采用不同的处理方法。上图中1、数据集小,数据相似度高理想情况,可以将预训练模型当做特征提取器使用,所以有时候称为特征抽取。做法:去掉输出层,将剩下的整个网络当做一个固定的特征提取机,应用到新的数据集中。2、数据集大,数据相似度高冻结预处理模型中少量较低层,修改分类器,然后在新数据集的基础上重新开始训练。3、数据集小,数据相似度不高冻结预训练模型中较少的网络原创 2022-05-08 15:44:40 · 1596 阅读 · 0 评论 -
NLP领域的AM模型
1. Encoder-Decoder框架绝大多数文献中出现的AM模型都是附着在Encoder-Decoder框架下。但!!AM模型本身并不依赖于Encoder-Decoder框架。Encoder-Decoder框架:可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。Encoder:对输入句子X进行编码,将输入句子通过非线性变换转化为中间语义表示C:C=F(x1, x2, …, xm)。Decoder:根据句子X的中间语义表示C和之前已经生成的历史信息 y1, y2,原创 2022-05-07 11:23:17 · 589 阅读 · 0 评论 -
Transformer回顾+理解
Transformer采用自注意力机制,与一般注意力机制计算分配值的方法基本相同,原理可参考https://editor.csdn.net/md/?articleId=124623933但!Query的来源不同,一般AM中的query来源于目标语句,而self-AM的query来源于源语句本身...原创 2022-05-09 16:35:40 · 712 阅读 · 2 评论 -
神经网络相关知识回顾(PyTorch篇)
一、常见概念1、Batch(批量)(1)如果是模型训练方法,batch指将所有数据处理完以后一次性更新权重或参数的估计;(2)如果是模型训练中的数据,batch是一次输入供模型计算用的数据量。基于批量的模型训练步骤:a) 初始化参数b) 重复以下步骤:处理所有数据,更新参数与其对应的是递增算法,步骤如下:a) 初始化参数b) 重复以下步骤:处理一个或者一组数据点,更新参数(BP算法中,“处理”的具体操作是计算损失函数的梯度变化曲线。对于批量算法——计算平均或者总体损失函数的梯度变化曲线;原创 2022-04-14 10:39:32 · 1070 阅读 · 0 评论 -
fastText学习——文本分类
之前主要有One-hot、Bag of Words、N-gram、TF-IDF词向量表示方法,但它们存在不足:转换得到的向量维度很高,需要较长训练时间;没有考虑单词与单词之间的关系,只是进行了统计。且优于TF-IDF具体表现在:1、FastText用单词的Embedding叠加获得的文档向量,将相似的句子分为一类;2、FastText学习到的Embedding空间维度比较低,可以快速进行训练。后将深度学习应用于文本表示,典型例子:fastText、Word2Vec、Bert。接下来本文主要原创 2022-05-04 15:05:21 · 1288 阅读 · 0 评论 -
过拟合问题总结
11.11 记最近跑实验模型遇到了训练精度很高,验证精度很低的情况,搜集资料对解决方案进行了整理。原创 2023-05-29 10:10:49 · 73 阅读 · 0 评论 -
Bert实战(基于PyTorch)
利用Bert进行特征提取原创 2023-05-29 10:15:49 · 1165 阅读 · 0 评论 -
torch.nn.Parameter()函数理解
使用PyTorch训练神经网络时,本质上相当于训练一个函数,输入数据 经过这个函数 输出一个预测,而我们给定这个函数的结构(如卷积、全连接等)之后,能够学习的就是这个函数的参数了。所以,可以把 torch.nn.Parameter() 理解为类型转换函数,将一个不可训练的类型Tensor转换成可以训练的类型parameter,并将这个parameter绑定到这个module里面,经过类型转换这个 self.v 变成了模型的一部分,成为模型中根据训练可以改动的参数。使用 torch.nn.Paramete原创 2022-05-09 17:07:32 · 2346 阅读 · 0 评论 -
torch.nn.Embedding()详解
PyTorch中的Embedding Layer一、语法格式torch.nn.Embedding(num_embeddings, embedding_dim, padding_idx=None, max_norm=None, norm_type=2.0, scale_grad_by_freq=False, sparse=False, _weight=None)1、参数说明(1)num_embeddings(int):语料原创 2022-05-04 15:04:12 · 7508 阅读 · 0 评论 -
tensorflow中tf.get_variable()函数详解
如果变量存在,函数tf.get_variable()会返回现有的变量;如果变量不存在,会根据给定形状和初始值创建一个新的变量。def get_variable(name, shape=None, dtype=None, initializer=None, regularizer=None, trainable=True,原创 2022-03-28 19:47:54 · 1725 阅读 · 0 评论 -
引入Spacy模块出错—OSError: [E941] Can‘t find model ‘en‘.
导入spacy模块包:import spacynlp=spacy.load(‘en’)报错:OSError: [E941] Can’t find model ‘en’. It looks like you’re trying to load a model from a shortcut, which is deprecated as of spaCy v3.0. To load the model, use its full name instead.解决方法:将import spacyn原创 2022-03-25 10:13:20 · 1312 阅读 · 0 评论 -
ValueError:only one element tensors can be converted to Python scalars解决办法
ValueError:only one element tensors can be converted to Python scalars解决办法原创 2022-09-28 09:23:05 · 2697 阅读 · 0 评论