自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Pytorch torch.Tensor.detach()方法的用法及修改指定模块权重的方法

Pytorch torch.Tensor.detach()方法的用法及修改指定模块权重的方法_笨笨的蛋的博客-CSDN博客_tensor.detach

2021-12-09 18:27:05 443

原创 阅读 A New Architecture for Multi-turn Response Selection in Retrieval-Based Chatbots

Abstract已经存在的工作要么将句子联结起来并入上下文要么用一个高密度的上下文向量匹配回复,这样会损失掉句子之间的相关性,或者是重要的上下文语境信息,因此提出序列化匹配网络解决这两个问题。SMN首先在对话中的每一个句子以多粒度的方式与回复进行匹配,然后从每一对句子中用卷积核池化操作蒸馏出重要匹配信息并用向量表示,之后通过RNN网络建模句子之间的关系,以时间的顺序将向量累计起来,最终用RNN隐藏层状态计算匹配分数。Introduction在多轮对话中,关键性问题是:1、怎么在上下文中分别出重要信息

2021-11-20 11:34:19 1207

原创 阅读 Multi-view Response Section for Human-Computer Conversation

Abstract之前的研究只是将上下文和回复以一种词序列进行建模,这样就忽略了句子整体的语义信息以及句子之间的依赖关系,因此作者提出一种多个视角选择回复的模型,分别从单词序列视角和句子序列视角整合信息Intruduction之前的DNN是基于上下文和回复作为两个embedding进行回复的 ,有一些工作是基于这两者的相似度进行选择回复但是没有考虑两者的关联性而且只是利用词级别上的建模(在这篇paper中这样命名),此外保证上下文topic的一致性以及连贯性,在词级别上的依赖,句子级别上的语义以及

2021-11-19 21:00:44 694

原创 记录常用conda 命令

创建环境:conda create -n name python=版本号删除环境:conda remove -n 环境名 --all安装requirement.txt:pip install -r requirements.txt生成requirmeny.txt:pip freeze > requirements.txt利用requirement.txt创建环境:conda create --name <环境名> --file requirements.txt...

2021-11-02 15:08:11 503

原创 Multi-hop QA based KG

论文:Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base EmbeddingsACL 2020的一篇论文,涉及multi-hop QA,有完整代码。作者:Apoorv Saxena∗ Aditay Tripathi∗ Partha Talukdargithub:https://github.com/malllabiisc/EmbedKGQA文章地址:https://www.aclw

2021-10-28 22:11:11 572

原创 知识图谱一些基础知识

看到有关知识图谱多条问答的paper,对这个领域了解较少,看到一些资料,便记载什么是知识图谱:是一种有向的图结构,由节点和有向边组成,节点代表“知识”,边代表节点与节点之间的关系。例如,<姚明> 是一个实体,<上海> 也是一个实体,它们之间的关系是 <出生于>。这样的一个三元组 <姚明,出生于,上海> 表示一个事实 (Fact)。知识即一个文本中的含义或者可以说成语义,有向边是因为,有时节点与节点之间的关系不是双向的,举个例子,衡山对应的拼音是h...

2021-10-27 00:21:29 218

转载 Git 报错:Updates were rejected because the tip of your current branch is behind

在操作git遇到此问题,Updates were rejected because the tip of your current branch is behind,一下博客经测验可以完美解决此问题,特此转载:git提交时报错:Updates were rejected because the tip of your current branch is behind - 简书...

2021-10-19 11:17:31 166

转载 在操作git时fatal: refusing to merge unrelated histories

在操作git时遇到此问题:fatal: refusing to merge unrelated histories,特此转载可以解决问题的博客:解决Git中fatal: refusing to merge unrelated histories_向小凯同学学习-CSDN博客

2021-10-19 11:15:49 74

原创 pytorch 的torch.bmm()、 torch.matmul()与 torch.mm()

torch.bmm(): torch.bmm(batch1, batch2, out=None)返回一个张量 bach1和batch2 都要是三维的张量,而且batch1和batch2的第一维度是一样的,例如:batch1是b×n×m的张量,batch2是b×m×p的张量,则输出的形状为(b,n,p)torch.mm():torch.mm(mat1, mat2, out=None) 返回一个张量对矩阵mat1和mat2进...

2021-10-11 02:02:38 588

原创 keras 的dot、multiply区别

今天看对着公式看代码发现,在公式中一个向量进行转置而在代码中却没有进行转置的相关运算,特此折腾一番,便记录。首先看到这个公式简单说明一下什么意思:就是说P是一个多维向量,与这两个是不同的一维向量,在这个公式中想表达的意思就是这样:这个也就是keras中dot的函数用法,也就是说dot函数只需要将两个一维向量传入即可,就会将对应向量相乘之后相加。keras的multipy函数所对应的数学公式表达符号是下面这样的其接收一个列表的同shape张量,并返回它们的逐元素积的张量,s..

2021-10-11 01:34:38 1604 1

转载 循环神经网络从零开始实现

import mathimport torchfrom torch import nnfrom torch.nn import functional as Ffrom d2l import torch as d2lbatch_size, num_steps = 32, 35 #bach_size为batch中样本的数量,num_step为一个样本的序列长度train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps).

2021-10-11 01:01:09 682 1

原创 keras 的dot函数

首先先弄清楚哪是0轴(-1轴),1轴(-2轴)看下面例子:import tensorflow as tfx = tf.constant([[1, 2, 3], [4, 5, 6]])y2 = tf.reduce_sum(x, axis = 0) print("沿着张量0轴方向求和:\n",y2.eval())y3 = tf.reduce_sum(x, axis = 1) print("沿着张量1轴方向求和:\n",y3.eval())y4 = tf.reduce_sum(x,

2021-10-09 23:16:19 1067 1

原创 学习word2vec 的一些积累

在看代码的时候想多一下Word2vec,感觉确实比较难,就记录一下,以免忘掉。一、word2vec是什么东西,他能干什么根据wrd2vec的定义,他是一种基于基于语言模型的一种词嵌入(word embending)技术,词嵌入(word embending)又叫做词向量词向量:用Distributed Representation表示词,通常也被称为(Word Representation)或(Word Embedding)。因为语言是不能被计算机所识别的,而计算机能识别的是二进制编码0,1

2021-10-09 18:36:31 303

原创 tokenizer 中num_words 遇到的问题

举个例子:In [1]: from keras.preprocessing.text import TokenizerIn [2]: texts = ['a a a', 'b b', 'c']In [3]: tokenizer = Tokenizer(num_words=2)In [4]: tokenizer.fit_on_texts(texts)In [5]: tokenizer.word_indexOut[5]: {'a': 1, 'b': 2, 'c': 3}In [6]: toke

2021-10-09 00:13:47 537

原创 Keras的Tokenizer分词器

Tokenizer类keras.preprocessing.text.Tokenizer( num_words=None, filters='!"#$%&()*+,-./:;<=>?@[\]^_`{|}~ ', lower=True, split=' ', char_level=Fals

2021-10-08 21:09:16 2176

原创 gensim的Wordvec

在阅读代码时对于gensim中的word2vec函数不是很了解,特此记录一些参数,以备不时之需class gensim.models.word2vec.Word2Vec( sentences=None, size=100, alpha=0.025, window=5, min_count=5, max_vocab_size=None,

2021-10-08 20:06:22 158

原创 jieba 学习

一、分词:全模式:把句子中的所有可以成词的词语都扫描出来, 精确模式:试图将文本最精确的分开,适合于做文本分析。 搜索引擎模式:在精确的基础上对长词进行进一步的切分函数jieba.cut接受两个输入参数,第一个是将要分词的对象,第二个是采用的模式。该函数返回的是一个可以迭代的生成器, 可以使用for循环得到分词后得到的每一个词语import jieba seg_list = jieba.cut("香农在信息论中提出的信息熵定义为自信息的期望", cut_all=True)...

2021-10-08 20:03:10 137

转载 keras Embedding层

keras.layers.Embedding(input_dim, output_dim, embeddings_initializer='uniform', embeddings_regularizer=None, activity_regularizer=None, embeddings_constraint=None, mask_zero=False, input_length=None)将正整数(索引值)转换为固定尺寸的稠密向量该层只能用作模型中的第一层。例子model ...

2021-10-08 19:23:29 215

转载 python的pickle模块dump()和load()函数使用介绍(附代码)

1.什么是序列化,反序列化?序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。自我理解:在代码运行时,我们看到很多的对象,可以是一个,也可以是一类对象的集合,很多的对象数据,这些数据中,有些信息我们想让它持久的保存起来,那么这个就需要做:数据写入 》》》**序列化**——就是把内存里面的这些对象给变成一连串的字节描述的过程。常见的就是把项目中的数据写入,变成文件保存本地。同样的,如果要把保存的文件读取出来,成为数据显示.

2021-10-08 15:13:06 3366

转载 torch.gt()函数

torch.gt(Tensor1,Tensor2)其中Tensor1和Tensor2为同维度的张量或者矩阵含义:比较Tensor1和Tensor2的每一个元素,并返回一个0-1值.若Tensor1中的元素大于Tensor2中的元素,则结果取1,否则取0例如:a = torch.rand(4,3) print('矩阵a:\n',a)b = torch.rand(4,3) print('矩阵b:\n',b)ss = torch.gt(a,b) print('比较的结果:\n'

2021-10-07 19:56:17 1709

转载 torch.from_numpy VS torch.Tensor

在学习tansformer的时候,发现torch.from_numpy函数,因此查阅,发现有 torch.from_numpy和torch,Tensor一样的用法,但有区别,特此转载一片博主文章,感觉写的还不错torch.from_numpy VS torch.Tensor最近在造dataset的时候,突然发现,在输入图像转tensor的时候,我可以用torch.Tensor直接强制转型将numpy类转成tensor类,也可以用torch.from_numpy这个方法将numpy类转换成tensor

2021-10-07 19:42:38 798 1

转载 Numpy中的一个函数用法:np.triu() & np.tril()

#取上三角阵 def triu(m, k):m:表示一个矩阵K:表示对角线的起始位置(k取值默认为0)以一个5*5的矩阵举例说明:#k=0表示正常的上三角矩阵 upper_triangle = np.triu(data, 0) [[1 2 3 4 5] [0 5 6 7 8] [0 0 7 8 9] [0 0 0 7 8] [0 0 0 0 5]] #k=-1表示对角线的位置下移1个对角线 upper_...

2021-10-07 19:32:02 630

转载 repeat()和expand()区别

orch.Tensor是包含一种数据类型元素的多维矩阵。A torch.Tensor is a multi-dimensional matrix containing elements of a single data type.torch.Tensor有两个实例方法可以用来扩展某维的数据的尺寸,分别是repeat()和expand():expand()expand(*sizes) -> Tensor*sizes(torch.Size or int) - the desired ex

2021-10-07 18:43:51 182

转载 torch.unsqueeze() 和 torch.squeeze()

1. torch.unsqueeze 详解torch.unsqueeze(input, dim, out=None)作用:扩展维度返回一个新的张量,对输入的既定位置插入维度 1注意: 返回张量与输入张量共享内存,所以改变其中一个的内容会改变另一个。如果dim为负,则将会被转化dim+input.dim()+1参数: tensor (Tensor) – 输入张量 dim (int) – 插入维度的索引 out (Tensor, optional) – 结果张量import tor

2021-10-07 18:41:40 627

转载 pytorch 中view函数用法

在pytorch中view函数的作用为重构张量的维度,相当于numpy中resize()的功能,但是用法可能不太一样。如下例所示>>> import torch>>> tt1=torch.tensor([-0.3623, -0.6115, 0.7283, 0.4699, 2.3261, 0.1599])>>> result=tt1.view(3,2)>>> resulttensor([[-0.3623, -0.61

2021-10-07 17:25:31 1901

原创 NLP学习之语篇

1、语篇 1.1语篇相关概念语篇:在文档中理解句子之间怎么关联起来的,在浏览文档时语篇可以将整个文档串成一条故事线,从上到下连贯有逻辑性。 词性标注:在一个句子中标注所有单词的词性 词汇/分布语义学:当我们训练这些模型时通常是以句子作为边界的 1.2 三个关键语篇任务: 语篇分段(discourse se...

2021-10-05 13:48:21 1195

转载 并行连接的网络(GoogleLeNet)

Inception块在GoogLeNet中,基本的卷积块被称为Inception块Inception块由四条并行路径组成。 前三条路径使用窗口大小为1×1、3×3 和5×5的卷积层,从不同空间大小中提取信息。 中间的两条路径在输入上执行1×1 卷积,以减少通道数,从而降低模型的复杂性。 第四条路径使用3× 最大汇聚层,然后使用1×1 卷积层来改变通道数。 这四条路径都使用合适的填充来使输入与输出的高和宽一致,最后我们将每条线路的输出在通道维度上连结,并构成I...

2021-09-28 16:29:59 1066

原创 卷积神经网络中用1*1 卷积有什么作用或者好处

卷积神经网络中用1*1 卷积有什么作用或者好处呢?为什么非要加个1*1 呢,那不就是简单的线性变换吗??作者:东东https://www.zhihu.com/question/56024942/answer/154291405来源:知乎1*1卷积过滤器和正常的过滤器一样,唯一不同的是它的大小是1*1,没有考虑在前一层局部信息之间的关系。最早出现在 Network In Network的论文中 ,使用1*1卷积是想加深加宽网络结构 ,在Inception网络( Going Deeper .

2021-09-28 15:04:30 816

转载 网络中的网络(NiN)

NiN使用窗口形状为11×1111×11、5×55×5和3×33×3的卷积层,输出通道数量与 AlexNet 中的相同。 每个 NiN 块后有一个最大汇聚层,池化窗口形状为3×33×3,步幅为 2NiN 和 AlexNet 之间的一个显著区别是 NiN 完全取消了全连接层。 相反,NiN 使用一个 NiN块,其输出通道数等于标签类别的数量。最后放一个全局平均汇聚层(global average pooling layer),生成一个多元逻辑向量(logits)...

2021-09-28 13:19:08 352

转载 使用块的网络(VGG)

VGG 块同样由一系列卷积层组成,后面再加上用于空间下采样的最大汇聚层。在最初的 VGG 论文中,作者使用了带有3×3卷积核、填充为 1(保持高度和宽度)的卷积层,和带有2×2池化窗口、步幅为 2(每个块后的分辨率减半)的最大汇聚层。在下面的代码中,我们定义了一个名为vgg_block的函数来实现一个 VGG 块该函数有三个参数,分别对应于卷积层的数量num_convs、输入通道的数量in_channels和输出通道的数量out_channelsi...

2021-09-28 11:18:04 323

转载 深度神经网络--AlexNet

AlexNet通过dropout控制全连接层的模型复杂度,而LeNet只使用了权重衰减。 为了进一步扩充数据,AlexNet在训练时增加了大量的图像增强数据,如翻转、裁切和变色。 这使得模型更健壮,更大的样本量有效地减少了过拟合。...

2021-09-27 17:49:34 80

转载 卷积神经网络(LeNet)

先附上LeNet的网络结构图1、Input 输入为一32*32的图像2、C1层-卷积层 输入图片:32*32 卷积核大小:5*5 卷积核种类:6

2021-09-27 16:32:55 1458

转载 继承Module类来构造模型

Module类是nn模块里提供的一个模型构造类,是所有神经网络模块的基类,我们可以继承它来定义我们想要的模型,MLP类重载了Module类的__init__函数和forward函数。它们分别用于创建模型参数和定义前向计算。前向计算也即正向传播。import torchfrom torch import nnclass MLP(nn.Module):# 声明模型参数层 def __init__(self, **kwargs):# 初始化# **kwargs..

2021-09-25 21:47:35 386

转载 深度学习--读写文件

加载和保存张量对于单个张量,我们可以直接调用load和save函数分别读写它们。这两个函数都要求我们提供一个名称,save要求将要保存的变量作为输入import torchfrom torch import nnfrom torch.nn import functional as Fx = torch.arange(4)torch.save(x,'x-file') 将存储在文件中的数据读回内存x2 = torch.load('x-file')...

2021-09-25 00:24:20 588

转载 深度学习之自定义层

不带参数的层下面的CenteredLayer类要从其输入中减去均值。要构建它,我们只需继承基础层类并实现正向传播功能import torchimport torch.nn.functional as Ffrom torch import nnclass CenteredLayer(nn.Module): def __init__(self): super().__init__() def forward(self, X...

2021-09-24 23:57:31 213

转载 深度学习之参数管理

我们在选择架构和设置了超参数后,就进入训练阶段,我们的目标是找到使损失函数最小化的参数值。经过训练,我们需要使用这些参数作出未来的预测。有时,我么需要提取参数以便在其他环境中复用他们,将模型保存到磁盘,以便在其他软件中可以执行 本节介绍: 1、访问参数,用于调式、诊断和可视化 2、参数初始化 3、在不同模型组建间共享参数#我们首先关注具有单隐藏层的多层感知机例子:...

2021-09-24 22:24:09 959 1

转载 自定义层和快

自定义块 自定义块必须提供基本的功能 1、将输入数据作为其正向传播函数的参数、 2、通过正向传播函数来生成输出。请注意,输出的形状可能与输入的形状不同 3、计算其输出关于输入的梯度,可通过其反向传播函数进行访问,通常这是自动发生的 4、 存储和访问正向传播计算所需的参数 5、 根据需要初始化模型参数下面从零开始编写一个块,它包含一个多层感知机,其具有256个隐藏单元的隐藏层和一个...

2021-09-24 20:09:22 102

转载 Dropout

在这节中论证通过惩罚权重的????2范数来正则化统计模型的合理性 dropout 被称为暂退法,dropout 在正向传播过程中计算每一层的同时注入噪声,增强输入-输出的有效性。利用高级API实现net = nn.Sequential(nn.Flatten(), nn.Linear(784, 256), nn.ReLU(), # 在第一个全连接层之后添加一个dropout层 nn.Dropout(dropout1), ...

2021-09-24 13:53:19 104

转载 权重衰减(正则化)

权重衰减(通常称为????2正则化)是最广泛使用的正则化的技术之一范数与权重衰减我们选择标签是关于输入的线性函数。标签同时被均值为0,标准差为0.01高斯噪声破坏。为了使过拟合的效果更加明显,我们可以将问题的维数增加到????=200d=200,并使用一个只包含20个样本的小训练集import torchfrom torch import nnfrom d2l import torch as d2ln_train, n_test, num_inputs, batch_size...

2021-09-24 10:58:05 1898

转载 模型选择、欠拟合和过拟合

只有模型真正发现了一种泛化模式,才会作出有效预测如何发现可以泛化的模式是机器学习的根本问题将模型在训练数据上拟合得比在潜在分布中更接近的现象称为过拟合,用于对抗过拟合的技术称为正则化 有时会发现,在实验中,调整模型结构或超参数,会发现,如果有足够多的神经元、层数和训练迭代周期,模型最终可以在训练集上到达完美的精度,此后四测试集上的准确性却下降训练误差和泛化误差 为了进一步了解上述现象,需要了解训练误差和泛化误差,训练误差是指模型在训练数据集上计算...

2021-09-23 21:16:37 186

空空如也

空空如也

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

TA关注的人

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