自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Transformer深入理解

前言Transformer除了本身是一个重要的深度学习模型外,内部的一些实现细节(尤其是self-attention)也经常会使用到,为了防止遗忘,这里对Transformer的实现做一个详细的记录。(内容是对李宏毅老师课程的记录)RNNs的缺点和并行化的思想在RNN类的网络中(SimpleRNN,LSTM,GRU等),有一个很明显的缺点在于该网络无法实现并行化,因为下一步时间步的输入依赖于上一个时间步的输出。而transformer可以很好的解决这一个问题,做到并行化。在讲transf

2021-12-26 13:27:32 1314

原创 论文阅读笔记:An End-to-End Approach for Document-level Event Factuality Identification in Chinese

模型结构文本主要提出了一个用于识别篇章级可信度的端到端的模型,即不用任何其它的特征,仅需要一个最核心的事件和整篇文本来识别篇章级的可信度。文章中的模型如下所示:首先对于一个文档D,它的表示为D={S1, S2, …, Sn} ,其中Si表示文章中的第几句话,模型的输入层,Q是根据篇章的核心事件提出的一个问题,如果事件用E来表示,那么问题Q就可以表述为“事件 E 的事实性值是什么”,举个具体的例子,比如篇章中最核心的事件E:United States reach an agreement wi

2021-03-28 21:48:45 350

原创 Pytorch简单实现TextCNN

代码来自于博客:https://wmathor.com/index.php/archives/1445/TextCNN代码的流程分析TextCNN将图像领域的CNN运用到了文本领域中,在论文Convolutional Neural Networks for Sentence Classification中提出。TextCNN最核心的就是如下所示的一张图:图中左边红色方框代表输入的样本(共有两个方框,可以理解为batch_size=2),我们按照图中所示分析红色方框的句子,这个句子中有9个

2021-03-08 21:16:08 632

原创 Pytorch实现word2vec(Skip-gram训练方式)

简易版本的word2vec实现skip-gram原理简述skip-gram是word2vec的一种训练方法,是核心思想是用中心词预测周围词,相比起用周围词预测中心词的CBOW训练方法,skip-gram训练的“难度更大”,因此训练出来的词向量往往也要比CBOW的要好一些。从理论到代码最重要的一步就是要认识到在用中心词预测周围词的时候,比如当我们指定窗口为2,那么左右的周围词共有四个,skip-gram的训练过程不是一次性用中心词预测四个词,而是中心词和一个周围词组成一个训练样本,有4个周围词的话

2021-03-07 16:04:21 5435 12

原创 使用Pytorch简单实现NNLM(Nerual Network Language Model)

前言NNLM在NLP中有着举足轻重的地位,该模型将深度学习运用到了NLP中,其副产物词向量更是开创了NLP中预训练模型的先河,此文章使用Pytorch实现了NNLM的模型结构,并用简单的数据进行了模型的训练和测试。示例代码来自于:https://wmathor.com/index.php/archives/1442/本文在原博客的基础上进行了一些补充,使其更加通俗易懂。模型结构分析NNLM的模型是一个三层的神经网络,如图所示:NNLM模型的任务是通过句子中的前n-1个词,来.

2021-03-03 19:02:41 1008 5

原创 详解Pytorch实现MNIST手写数字识别

目录1.思路和流程分析2.准备训练集和测试集2.1 torchvision.transforms的图形数据处理方法2.1.1 torchvision.transforms.ToTensor2.1.2 torchvision.transforms.Normalize(mean, std)2.1.3torchvision.transforms.Compose(transforms)2.2准备MNIST数据集的Dataset和DataLoader3.构建模型3.1 激...

2021-01-30 16:57:23 1581

原创 pytorch实现IMDB数据集情感分类(全连接层的网络、LSTM)

任务描述使用Pytorch相关API,设计两种网络结构,一种网络结构中只有全连接层,一种使用文本处理中最为常用的LSTM,将数据集进行10分类,观察并对比两者的分类效果。模型情感分类的数据集是经典的IMDB数据集,数据集下载地址:http://ai.stanford.edu/~amaas/data/sentiment/。这是一份包含了5万条流行电影的评论数据,其中训练集25000条,测试集25000条。数据格式如下:数据的标签以文件名的方式呈现,图中左边为名称,其中名称包含两部分,分别是序号

2021-01-30 13:19:41 13184 17

原创 万字长文:深入理解各类型神经网络(简单神经网络,CNN,LSTM)的输入和输出

简单神经网络当输入为标量对于一个最简单的神经网络而言,它的一个神经元通常长这个样子:假设我们有a1, a2, ... , an共n个输入,对于每个输入都给定一个权重w1, w2, ... , wn,再给定一个偏置b,将权重和输入相乘,加上偏置,就得到了一个神经元SUM,SUM的表达式为:SUM = w1 * x1 + w2 * x2 + ... + wn * xn + b,在这里由于各个项都是标量,得到的结果SUM也是一个标量。得到了SUM这个输出神经元后,我们通常会在后面加一个激活函数(上

2021-01-28 15:34:17 11125 14

原创 详解使用pytorch实现线性回归

引言pytorch作为一门主流的深度学习框架,API是非常多的,但使用pytorch搭建神经网络模型时,往往套路又较为固定。因此通过一些实际的例子去熟悉如何搭建模型,如何训练、测试数据,在实践中学习的效果往往要比漫无目的的学语法和API要好的多。本文主要从最为基础的线性回归着手,严格来说线性回归更多的在机器学习中讨论,但是我们也能搭建一个简单的“神经网络”,用深度学习的套路来解决这个问题,而这个基本套路,即使是在搭建极为复杂的神经网络中也是适用的。...

2021-01-25 09:32:31 8033 6

原创 论文阅读笔记:A Two-Step Approach for Event Factuality Identification

摘要原文的表述本文着重于确定事件的事实性。与以往的基于规则的方法不同,本文提出了一种将机器学习和基于规则的方法相结合的新颖的两步方法。首先,构造一个最大熵模型来确定事件确定性程度是否被表达。然后,引入了一组包含提示(cue)和范围(scope)检测的规则,以进一步标识各种事件事实值。实验结果表明,与基于规则的最新系统相比,我们的两步式方法可以实现更高的性能。本文的工作是按照事件的可信度能否被确定,将其分为两类(具体如何划分在下文会提到),一类使用最大熵模型,另一类使用基于规则的方法,提出两...

2020-12-03 14:47:18 745

原创 论文阅读笔记:A Text Mining Approach for Evaluating Event Credibility on Twitter

A Text Mining Approach for Evaluating Event Credibility on Twitter(一种在Twitter上评估事件可信度的文本挖掘方法)2018 IEEE 27th International Conference on Enabling Technologies: Infrastructure for Collaborative Enterprises Abstract社交媒体平台上的用户倾向于相信与事件相关的帖子的内容。但是,其中一些事.

2020-11-25 22:17:28 637

原创 如何检索、阅读NLP论文

自然语言处理领域顶会:ACL EMNLP NACAL COLING机器学习/深度学习领域:ICML NIPS UAI AISTATS ICLR数据挖掘领域:KDD WSDM SDM人工智能领域:IJCAI AAAI每个期刊都会有一个领域的综述,和未来的前景等,可以去看看可以订阅arXiv,来获取每天的信息如何检索和阅读论文期刊的审稿周期比较长,篇幅也比较长(相对可能比会议更详细些)PaperWeekly比较好CS Rating...

2020-11-21 15:59:50 2636

原创 A Sociolinguistic Route to the Characterization and Detection of the Credibility of Event on Twitter

A Sociolinguistic Route to the Characterization and Detection of the Credibility of Events on Twitter(Twitter上表征和检测事件可信度的社会语言学途径)目录摘要介绍前置知识可信度的定义和在文中的使用贡献和主要结果相关工作数据集:CREDBANK corpus事件的语言结构可信度类别的划分数据预处理研究可信度和LIWC / Empath类别的关系一些额外

2020-11-19 17:04:17 488

原创 字典树的创建以及增删改查方法详解(Python实现)

《自然语言处理入门》-2.4字典树 学习笔记字典树的定义参考博客:https://blog.csdn.net/weixin_39778570/article/details/81990417这里还有一个映射的概念,图中能表示一个个字符串的集合,除了集合的功能之外,字典树也可以实现映射,只需将相应的值悬挂在键的终点节点上即可,后续的代码实现也是关于字典树的映射的。字典树节点和树的Python代码实现class Node(object): def __init__(self,

2020-10-17 12:34:13 884

原创 在Linux服务器环境下使用yolov3训练自己的数据集(VOC格式)

使用yolov3训练自己VOC格式的数据集的步骤与训练VOC数据集的步骤大致相同,这里只阐述一些重要的不同点,具体可以参考:在Linux服务器环境下使用yolov3训练voc数据集省略的步骤:(可以在上述链接中找到)一、.准备工作:检查cuda版本,创建项目的文件夹等二、.安装好darknet三、.下载权重文件测试一下yolov3(选做)四、创建所需的文件夹进入到darknet/scripts目录下,创建如下6个文件夹,缩进代表父目录和子目录的关系五、标...

2020-10-15 18:03:41 968 1

原创 在Linux服务器环境下使用yolov3训练voc数据集

一、通过Xshell等工具连接到Linux服务器由于我使用的是window电脑,所以需要借助第三方工具来连接服务器,使用mac系统或者Linux系统的话,可以直接在终端使用ssh连接到远程服务器。可以在服务器中新建一个文件夹来放置项目所需的各种文件。二、检查服务器中的cuda版本在服务器终端中输入以下命令,查看cuda的版本,注意V需要大写nvcc -V可以看到服务器中的cuda版本是10.0之所以要检查cuda的版本,是因为之前在cuda9.0版本下,训练数据集后,最后的

2020-10-09 15:57:56 1485 15

原创 Pandas知识点总结

Pandas常用数据类型1.Series 一维,带便签的数组2.DataFrame 二维,Series容器创建Series对象# pandas的常用数据类型:# 1.Series 一维,带便签的数组# 2.DataFrame 二维,Series容器import pandas as pdimport numpy as npimport string# 创建一个Series对象t = pd.Series(np.arange(10), index=list(string.asci

2020-07-23 15:25:08 430

原创 numpy知识点总结

1. 使用numpy生成数组,得到ndarray的类型import numpy as npimport random# 方法1:t1 = np.array([1, 2, 3])print(t1)print(type(t1))# 方法2:t2 = np.array(range(10))print(t2)print(type(t2))# 方法3:t3 = np.arange(4, 10, 2)print(t3)print(type(t3))2. numpy中的数据

2020-07-23 10:11:36 386

原创 (LeetCode)使用Python中内置API解决“删除排序数组中的重复项“

题目描述:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新...

2020-07-22 19:46:36 210

原创 matplotlib学习总结:06在一张图中绘制多个坐标轴(多个坐标系显示)

在使用matplotlib绘图的过程中,有时会有将多个不同的图绘制在不同坐标轴上的需求,这个时候就要借助subplots方法来实现。如果我们想要将上海和北京的天气图显示在同一个图的不同坐标系当中,显示的效果如下图所示:实现的代码如下,注意点已经在注释中标明:from matplotlib import pyplot as pltimport randomplt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 显示中文# 0

2020-07-22 19:31:45 4393 1

原创 matplotlib学习总结:05直方图

绘制简单直方图直方图是统计出现的次数的,因此和其他的图不同,它的横轴是连续的,代表某一个区间,纵轴代表出现的次数 直方图需要计算出组距和组数,组数=(数据的最大值-数据的最小值)/组距,因此组距设计的尽量能够被整除,否则绘制的直方图会出现偏差。from matplotlib import pyplot as plta = [131, 98, 125, 131, 124, 139, 131, 117, 128, 108, 135, 138, 131, 102, 107, 114, 119, 12

2020-07-22 18:56:27 304

原创 matplotlib学习总结:04绘制条线图、横向条形图、多个条形图

1. 简单条形图使用bar方法绘制条形图 width参数可以指定条形图的宽度 其他的一些设置与之前相同from matplotlib import pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 显示中文a = ["战狼2", "速度与激情8", "功夫瑜伽", "西游伏妖篇", "变形金刚5:最后的骑士", "摔跤吧!爸爸", "加勒比海盗5:死无对证", "金刚:骷髅岛", "极限特工:终极回

2020-07-22 17:11:46 905

原创 matplotlib学习总结:03绘制散点图

问题:假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此时如何寻找出气温和随时间(天)变化的某种规律?解答:在同一张图中绘制3月和10月的数据plt.scatter方法绘制散点图,并指定label属性 为了使两个月份的数据区分开,在x轴的设置上,中间空一截距离 x轴刻度使用+=,将两个月份的x轴数据绘制到一起 其他的一些API,均和绘制折线图相同# 假设通过爬虫你获取到了北京2016年3,10月份每天白天的最高气温(分别位于列表a,b),那么此

2020-07-22 16:35:25 275

原创 matplotlib学习总结:02绘制双折线

给定两条曲线,将其绘制在一张图中绘制折线时指定颜色,折线的类型,线的宽度等 设置背景网格线的类型 添加图例,并指定图例所处的位置 plt.plot调用两次,绘制双折线from matplotlib import pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei'] # 显示中文y_1 = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1,

2020-07-22 16:21:04 1087

原创 matplotlib学习总结:01使用matplotlib绘制简单的折线图

1. 使用指定的数据绘制简单气温折线图设置图片大小和像素 坐标轴刻度常见的设置方法 保存图片from matplotlib import pyplot as pltx = range(2, 26, 2)y = [15, 13, 14.5, 17, 20, 25, 26, 26, 24, 22, 18, 15]# 设置图片大小plt.figure(figsize=(20, 8), dpi=80) # 20表示宽,8表示高,dpi是像素,越高越清晰# 绘图plt.plot.

2020-07-22 16:13:42 445

原创 Tensorflow默认安装的numpy版本与其他第三方库安装的numpy导致的错误:ImportError: numpy.core.multiarray failed to import问题解决

问题发生错误的发生是在我安装了Tensorflow2.0.0版本后,在Anaconda创建的虚拟环境中使用conda install pandas安装了pandas,在运行程序时,发生了如下的错误:ImportError: DLL load failed: 找不到指定的模块。ImportError: numpy.core.multiarray failed to import查阅了许多博客,并研究了很久发现,错误发生的原因是:在用conda安装Tensorflow后,会自动安装与之相兼容的n

2020-07-21 09:43:11 3630

原创 Django实战项目-04系统后台中文件上传与显示

系统后台文件上传(使用Admin后台管理系统上传文件)1.首先模型类中有相关文件上传的字段:其中FileFiled和ImageField都可用于文件上传,但是处理图片的话ImageField会更好 upload_to属性后面解释class GoodsType(BaseModel): '''商品类型模型类''' name = models.CharField(max_l...

2020-04-04 11:43:54 373

原创 Django实战项目-03用户中心的开发

概览开发user_center_info、user_center_order、user_center_site三个页面,三个页面都属于apps中的user模块,其中user_center_info默认第一个显示,三个页面可以通过页面左侧的选项卡随时切换。 上述的三个应该在用户登录后才能继续访问,应该需要对用户是否登录进行校验,若未登录,则返回login页面登录。 templates中页面代...

2020-04-03 14:52:49 539

原创 Django实战项目-02注册和登录

前期准备登录和注册功能应该定义在用户模块中,即apps/user应用中准备工作:将项目的前端页面放入static文件夹中, 将登录/注册的页面,和首页一起放入templates中,然后需要把相应的静态文件引用目录进行改变,否则样式会无法显示 对相关的views,urls等文件进行编码其中引用静态文件static可以使用Django的标签,在之前需要对setting.py进行引入s...

2020-04-01 22:28:38 684

原创 Django实战项目-01项目框架搭建

项目所需要的第三方库python版本:python 3.5 pip安装的第三方库(重要的,需要注意的已经用红色方框标明)其中Django1.8.2最高兼容python3.5,如果安装了python更高版本,则对应的Django版本也需要更高。 redis版本和celery也存在一定的兼容关系,已知celery最新版本(4.4)对应的redis版本最低为3.2.0,而安装了更低版本的c...

2020-04-01 16:45:58 332

原创 Python实现简单的名片管理系统

1.程序说明和运行结果Python版本:Python 3.8文件:card_main.py card_tools.py功能:实现一个简单的名片管理系统,增删改查程序运行结果:主页面:新建名片:显示全部:查询(在选择修改操作后,如是直接回车,那么信息则不会修改):2.程序源代码(两个.py文件)# cards_main....

2020-01-01 14:51:54 817

原创 Python学习01(输入输出、字符串)

1.Python定义变量和其他语言不同,前面不需要加上变量类型。示例如下:elem = input("please input something") # elem接收输入的字符串2.条件语句中无else if,应写为elif3.用户登录(三次机会重试)count = 3while count > 0: username = input(">>&g...

2019-10-20 14:46:11 725

原创 (LeetCode)使用最小花费爬楼梯

1.题目描述数组的每个索引做为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例1:输入: cost = [10, 15, 20]输出: 15解释:...

2019-03-20 22:48:07 377

原创 算法练习:动态规划

从下面三道LeetCode的习题中分析简单的动态规划的思想1.(LeetCode) 70.爬楼梯题目描述:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例...

2019-03-17 23:35:01 321

空空如也

空空如也

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

TA关注的人

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