自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 一起刷Leecode-第42题-接雨水

本题是一道困难级别的题,本题在面试等情况下,是经常会被提及的,因此需要熟练掌握,该题的解法(使用C++语言实现)可以从动态规划、双指针和单调栈3种方法解决。题目描述:一、双指针方法双指针方法可以以行或者列来计算。注意2者不要混。下面按照列进行计算。因为,本题中按照列来计算的话,列的宽度固定为1,只需要求出每一列雨水的高度即可。可以看出每一列雨水的高度,取决于该列左侧最高的柱子和右侧最高的柱子中最矮的那个柱子的高度减去该列柱子的高度。1、首先第一个柱子和最后一个柱子不接水。for(int i=0;

2021-10-07 22:38:21 165

原创 Leecode--两数相加和返回数组中第k大的数值

本周练习两数相加和返回数组中第k大的数值,第一道题为简单,后面为中等。题目描述:两数相加,给定整形数组nums和整数值target,返回nums中和为target的两个数的下标。解题思路:使用一个数组temp[i]存放待比较数,使用target-nums[i] in temp方法判断是否为真,若满足该条件,则将j赋值temp.index(target-nums[i]).具体实现如下:class solution: def twosum(nums,target): lens = len(nums

2021-09-28 23:49:05 314

原创 Leecode-一起刷算法题-栈(最小栈)问题和数组中的第K个最大元素

题外话:今天是公元2021年9月21日,值此中秋佳节,祝大家节日快乐,阖家幸福!今天总结一下,如何快速掌握Leecode中算法,PS今天我捋了一下Leecode中算法题目,一共约2050道题,如何通过有限时间快速吃透以上题目,我想除了多多练习,勤实践外,还要善于从这么多题目中总结归类,形成体系。这样才能做到游刃有余。才能show others your code unhurried.题库中的题目大多集中在算法(时间复杂度、搜索、排序和图)和数据结构(数组、堆、队列、栈、树和图、集、哈希、映射)。后面,如

2021-09-21 23:33:59 224

原创 Transformer模型中的Attention机制

导读:本文将结合《Attention is all your need》论文读后感和网络高赞热文结合,谈一谈我对transformer模型中使用的attention机制的理解。首先,大家请花几分钟观察一下下图,把基本的要素,记住。后面会用到相关的概念。上图左边是编码器,它由6层组成,每一层由2个子层,分别是多头自注意力层和前向反馈层,2层之间使用残差网络连接,在正则化之后。每一个子层的输出是LayerNorm=(x+Sublayer(x)),为了控制残差连接,模型中的所有子层,和嵌入层,模型的输出维度

2021-09-16 23:51:32 333

原创 跟着我一起刷Leecode_SecondDay_包含main函数的栈

题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。class MinStack: def __init__(self): self.A, self.B = [], [] def push(self, x: int) -> None: self.A.append(x) if not self.B or self.B[-1] &gt

2021-09-16 23:10:57 61

原创 跟着我一起背NLP算法八股文_bert篇

导读:一提到NLP算法,必须手推bert模型。当小白问起bert与word2vec之间的区别时,如何简单易懂的说明这个问题呢?接下来,我将尝试说明。首先,word2vec将中文转变为可计算的向量,需要说明的是使用不同语料训练的word2vec不尽相同,需要看自己的任务文本和通用w2v训练使用的文本差距;bert预训练模型则是根据上下文训练出来的词向量,在同一个语料中每个token是不固定的,关于本部分细节可以查看层次softmax和霍尔曼编码相关知识。bert通过预训练,训练神经网络的隐藏层,使用隐藏层权

2021-09-16 00:12:03 2839

原创 跟着我一起刷Leecode_FirstDay_栈与队列

导读:从今天起我将带来为期1个月的LeeCode算法突破专栏,希望大家和我一起突破自我(大神可以重温)。今天开始刷栈与队列。第一题:用两个栈实现队列题目描述:用2个栈实现1个队列。队列的声明如下,请实现它的2个函数,appendTail和deleteHead,分别实现在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1)示例1:输入:["CQueue","appendTail","deleteHead","deleteHead"][[],[3],[

2021-09-15 23:31:41 73

原创 垂直领域知识图谱应用KBQA技术研究

导读:本文通过对各位老师开源的项目中代码及理论知识学习,结合自己的理解整理的一篇文章,如有错误之处,请各位读者朋友指出,谢谢。我觉得垂直领域知识图谱应用KBQA技术主要分为环境配置及相应版本的依赖安装(开发运行环境,pycharm、neo4j图数据库、jdk安装及环境变量的配置、python版本与tensorflow版本的对应)、数据的准备(数据爬虫、数据清洗,使用re正则表达式和一些技巧、将数据写入数据库建立图谱、意图识别(使用预训练好的bert模型)、知识抽取(使用bilstm+crf模型)、知识管理

2021-09-11 23:05:58 310

原创 漫漫NLP算法路_20210911

又到了一年一度的教师节,在这里祝福各位教师节日快乐,感谢给予我指导的各位老师。不管是曾经教过我的,还是网络中未曾谋面的老师。言归正传,说到NLP算法,如何才能体现价值,如何才能体现业内人士与门外汉的区别,我想除了自身的天分外,还要孜孜不倦,坚持不懈的追踪NLP领域的知识,不管是最新的研究成果,还是以往的知识,或者自己以前看过的博文,抑或是曾经做过的项目,经常回退,能够得到新的知识。在这条路上,要坚持不懈,加油吧。...

2021-09-11 00:16:28 66

原创 NLP算法中的Transformer/BERT知识点和对该领域理解

有向图称为朴素贝叶斯,无向图称为逻辑回归。Attention机制,适合于从众多任务中选取重点关注的任务。其中Self Attention机制介绍的论文中All Attention is your need是经典。基于此,transformer和bert等模型被发明,在众多NLP任务中取得了SOTA成绩。一、首先需要从论文中获取作者的观点,作者在此推荐2篇论文:1、TransformerTransformer-Attention is ALL Your Need2、bertbert-Pre-tra

2021-09-05 22:56:12 925

原创 bert中最大处理序列长度超过512的处理策略

导读:由于bert文本长度最大为512,因此当文本超过512时,需要改进bert。本文就此改进进行阐述。针对长度超过512的文本,可以应用如下转换策略(预留[CLS]和[SEP]):(1)head-only:前510tokens(2)tail-only:后510tokens;(3)head+tail:根据经验选择前128和382tokens(4)分段:首先将输入文本(长度为L)分成k = L/510个小段落,将它们依次输入BERT得到k个文本段落的表示。每个段落的representation是最后

2021-09-03 23:42:57 7318 1

原创 bert-源码学习(part I)

导读:今天对Google公司开源的大型文本预处理bert模型源码进行学习,首先对bert最主要的模型实现部分bertModel,代码位于modeling.py模块。该模块主要分为配置类(bertconfig)、获取词向量(embedding lookup)、词向量的后续处理(embedding postprocessor)、构造attention mask、注意力层attention layer、核心模块-transformer、bertmodel类的构造函数共7大部分构成。下面逐一对各模块解读。be

2021-09-03 00:05:39 165

原创 bert预训练实战篇-持续更新

导读使用bert预训练会遇到很多坑,包括但不限于数据预处理的正确姿势、数据预处理的高效实现、bert单机多卡分布式训练的基本实现,以及如何debug并提升使用单机多卡来进行深度学习训练的性能瓶颈。本篇记录bert预训练遇到的坑以及排坑方法。供大家参考。凡是涉及训练模型,总要涉及算力和数据,算力决定模型训练的速度,数据决定了训练的模型所能达到的高度。对于大多数人来说,实战平台仅仅是一台Intel CORE i7的CPU,数据只能从网上爬一些或者公开的数据集,这些数据标注量有限,因此无法引入监督训练,即使引

2021-09-01 00:11:29 1945

原创 bert性能优化及实现一个简单的文本分类任务

导读:bert性能优化的方法比较多,这一问题在NLP算法面试中时常被提起,平时做项目过程中,对bert模型进行优化也是经常遇到的。对bert进行优化前,需要了解bert是个什么鬼,bert简言之是一个语言模型,它由Google公司所发明,英文全称是Bidirectional Transformer。架构图如下:对其优化可从以下几点入手:1 、压缩层数,然后蒸馏,直接复用12层bert的前4层或者前6层,效果能和12层基本持平,如果不蒸馏会差一些。2 、双塔模型(短文本匹配任务),将bert作为一个

2021-08-31 00:20:55 1960

原创 2021-06-16

Django+mysql+Pycharm搭建web网站1、环境装备安装python并配置环境,安装IDE,pycharm或其它。Django版本:V3.2.3,mysql版本:V8.0.23,PyMySQL版本:V1.0.21.1、启动mysql服务首先,我的电脑->管理->服务,启动mysql服务。1.2、命令行启动mysqlcd至mysql安装路径(D:\Soft\mysql-8.0.23-winx64\bin),然后输入mysql –uroot -p,回车再输入密码:****

2021-06-16 22:00:03 83

原创 基于统计学的数据异常检测方法

基于统计学的数据异常检测方法概述:基于统计的方法对数据中的异常进行检测包括基于高斯分布的异常检测方法、非参数异常检测方法和HBOS算法。下面逐一进行介绍。一、基于高斯分布的数据异常检测方法(1)一元异常点检测仅涉及一个属性或变量的数据称为一元数据。我们假定数据由正态分布产生,然后可以由输入数据学习正态分布的参数,并把低概率的点识别为异常点。(2)多元异常点检测涉及两个或多个属性或变量的数据称为多元数据。许多一元异常点检测方法都可以扩充,用来处理多元数据。其核心思想是把多元异常点检测任务转换成一元

2021-05-14 22:22:10 1492

原创 在Qt中测试C++函数的运行时间

处理思路:调用计时函数,记下当前时间,执行程序,再调用计时函数,记下处理后的时间,两个时间做差。调用的函数不同,精度不同;(1) 一般使用QTime()函数,它以ms计数,缺点就是小于1ms的时间无法计算。使用方法:首先在.cpp的头部包括#include和#include在函数的开始处敲入:Qtime t; t.start();//将此时间设置为当前时间……………………代码...

2021-05-11 22:53:21 716

原创 异常检测介绍

一、异常检测的基本概念随着信息技术的快速发展,人们日常生活接触电子产品的频率越来越高,日常出行乘坐飞机、火车或打车,吃饭时订外卖或者餐饮店中扫码点餐等,均需要通过电子产品完成,随之而来的是数据的大量产生,金融机构希望从数据中获取有价值的数据,检测出“异常”的数据,方便他们作出“聪明”的决策。本文从异常检测定义以及检测方法入手进行研究,最后尝试通过一段代码实现数据的异常检测。1、异常检测的定义?异常检测(Outlier Detection),是识别与正常数据不同的数据,与预期行为差异大的数据。识别如信

2021-05-10 15:29:20 1416

DataBase.rar

该资源为数据库优化(重点为MySql数据库)的优化技术相关文献以及MySql数据库资源,为开发人员进行数据库相关的开发应用时,提供参考依据。

2020-02-04

Purify.rar

Purify为IBM开发的软件缺陷实时检测工具。本文档包括Purify的使用说明(Rational_Purify_使用手册)等相关资源.

2020-02-04

使用两种计时方法实现的计时函数示例

通过在QT中分别使用QTime和QElapsedTimer两个类,在一个简单的加法计算器的构造函数中测试其运行时间。结果证明使用QTime时间精度不如QElapsedTimer的计时精度,其运行时间可以精确至us级别,实测时间为0.04ms左右。

2019-10-04

空空如也

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

TA关注的人

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