自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数学公式推导——理解梯度消失和梯度爆炸

梯度消失和梯度爆炸的数学公式解释

2023-01-02 23:00:08 901

原创 Transformers代码笔记系列2(GenerationMixin生成模块)

应用实例(添加transformers代码)参数介绍input_ids:对于encoder-decoder模型(例如:T5),input_ids用于encoder输入,生成encoder_outputs特征;对于decoder模型(例如:GPT3),input_ids用于提示词,如果input_ids为None,则初始化为bos_token_iddecoder_input_ids:用于encoder-decoder模型中decoder模块的输入...

2021-12-17 17:58:20 2072

原创 Transformers代码笔记系列1(T5 model)

重要参数注释past_key_value: 只有Decoder模型在文本生成过程(训练过程用不上)中才能用到。顾名思义,它存储的是Decoder模型在t时刻前输入的token对应的key和value映射,用于减少计算,将input在Wk、Wv上的映射存储起来,进行下一个词预测时,就可以直接拿过来用了。它包括self_attention和cross_attention对应的key、value映射。单个key或者value单元shape:【batch_size, n_heads, q_len-1, dim_

2021-12-16 15:58:29 1989

原创 NER相关技术

实体词典匹配优点:缺点模型原理优点:缺点:模型蒸馏Teacher Model:BERTStudent Model:BiLSTM(unit一般为512为佳,也可以尝试1024或者256)蒸馏方式:logits学习+增强学习(此处,logits可以是经过CRF层的也可以是不经过CRF层的,采用的损失函数是均方误差MSE。如果采用未经CRF层的logits进行拟合学习,则student可以复用teacher模型的CRF层,效果达到最佳。CRF输出根据解码方式不同,输出结果也不同,如果采用vite

2021-12-06 11:30:49 266

原创 常用向量检索系统

K近邻算法(K-Nearest Neighbor, KNN)解决的问题:如何快速从数据集中找到和目标样本最接近的K个样本距离度量方法:欧式距离、余弦距离、曼哈顿距离、dot内积近似最近邻算法(Approximate Nearest Neighbor, ANN)ANN是一种通过牺牲精度来换取时间和空间的方式从大量样本中获取最近邻的方法,具有存储空间少、查找效率高等优点实现方法:二叉树结构(比如Annoy)、图结构(HNSW)、基于量化的索引类型(IVF_FLAT、IVF_SQ8、IVF_PQ)

2021-12-03 15:08:23 623

原创 相似文本聚类

聚类方法评价指标实际应用

2021-11-24 10:10:36 895

原创 triton-inference-server使用笔记

参考教程https://github.com/triton-inference-server/server/tree/r21.09安装服务端采用容器部署:docker pull nvcr.io/nvidia/tritonserver:21.09-py3客户端:???Model RepositoryModel Repository 是用于存放模型及配置文件的文件夹,其格式如下:回家补上重点:Model Repository下的每个子文件分别代表一个服务,在url服务请求时,当前文件名为其路

2021-11-06 17:24:13 2047

原创 文本向量编码及其应用

每个文本的语义都可以表示为一个多维空间内的点,相似文本的点应该距离相对较近,反之,语义无关的点距离应该相对较远。文本的语义向量有较多的应用场景,比如:EBR(embedding retrieval)、相似文本聚类等。接下来的3个章节将具体讲述文本的语义编码及其应用。语义编码模型框架训练数据获取模型蒸馏模型效果评测服务部署干预平台相同语义话术召回相同语义话术召回逻辑向量检索系统Milvus键值对存储Redis长尾query进行相似语义聚类聚类算法大数据下spark聚类评

2021-10-18 22:51:23 205

原创 文本生成相关的评测指标

一、文本生成相关任务翻译对话生成自动文摘image2caption二、文本生成评测指标BLEURougeNISTMETEORTER2.1 BLUE2.2 Rougereferencehttps://zhuanlan.zhihu.com/p/150057895

2021-09-26 10:49:42 574

原创 李弘毅深度学习笔记

最大似然估计 等效于 最小KL散度监督学习的本质是学习一个概率分布函数,使它的分布能够与真实数据的分布高度相识。由于真实的分布(记为Pdata)我们不知道,但是我们可以获取真实分布的样本,通过这些样本来学习一个概率分布函数PG。最大似然估计是认为当前样本集出现的概率应该是最大的;而最小KL散度认为, 模型学习的概率分布和真实的数据分布越接近,模型就更能真实的表示数据分布,两者是殊途同归的GAN模型的学习本质GAN模型的本质是学习一个generator,使generator的生成的数据分布和真实的分.

2021-09-25 23:22:22 118

原创 理解损失函数

常用损失函数:CE 交叉熵MSE 均方差KL散度问题一:模型蒸馏,对logits拟合为什么用CE而不用MSE之所以使用soft label而不是hard label进行蒸馏,是因为soft label中包含了较hard label更丰富的信息,即类内关系和类间关系都可以通过soft label进行体现。目前的大部分蒸馏loss的设计主要借鉴Hinton之前的"知识蒸馏"中的做法,即softmax + cross entropy,对logits进行蒸馏;还可以使用超参温度对softmax的输

2021-09-22 23:13:35 647

原创 理解python装饰器

关键点装饰器是一个函数。它的输入是一个函数I,输出也是一个函数O, 函数I表示需要被装饰的函数,函数O表示被装饰后的函数第一种装饰器:@wrapsdef actual_decorator(predict): def new_predict( inputs, output_ids, states, temperature=1, rtype='logits' ):

2021-09-15 16:27:43 81

原创 NLP-pytorch学习笔记

padding设置存在2种设置方式:采用attention_mask对padding处的token进行mask在nn.Embedding中设置padding_ids为pad_token_id, 此时,对应padding_ids的embedding vector 在训练时不会进行更新。cross_entropyignore_index表示计算交叉熵时,自动忽略的标签值,默认为 -100...

2021-09-15 14:26:51 172

原创 pytorch分布式训练理解

单机多卡训练配置每个进程的gpuddp模式local_rank = torch.distributed.get_rank() # 获取当前进程在所有进程中的编号torch.cuda.set_device(local_rank) # 等效使用CUDA_VISIBLE_DEVICES=local_rank,即指定当前进程使用的gpu编号device = torch.device("cuda", local_rank) ## 表示 torch.Tensor 分配到指定编号的设备device = t

2021-08-26 10:49:48 261

原创 pytorch-lightning使用笔记

tips汇总在DataLoader中采用多进程,进程数一般满足:num_worker = 4 * num_GPUPin memory使用。原因是部分显存被预留,不能被使用。使能Pin memory可以避免这种情况。等效torch中的torch.cuda.empty_cache()data_loader = DataLoader(dataset, num_workers=8, pin_memory=True)避免tensor从CPU转移到GPU不提倡调用.item(), .numpy(),

2021-08-25 15:42:43 644

原创 多进程文件写入

挑战向同一个文件写入数据的时候,由于多进程是并发进行,操作系统中会不清楚到底要写入哪个数据到文件中,所以会出现资源竞争混乱,导致文件内容轮乱方案方案一:通过Pool.imap生成一个iter,然后迭代写入func的参数通过iterable通过一个迭代器输出,当有多个参数时,需要组成一个tuple后进行输入def multiplication(x): num, cnt = x[0],x[1] return num*cntwith Pool(6) as pool: with

2021-08-10 10:22:45 467

原创 elastisearch_数据结构

导入数据:PUT twitter/_doc/0{ "user" : "kimchy", "post_date" : "2009-11-15T14:12:12", "message" : "trying out Elasticsearch"}获取数据:每个文档为json文件,自带属性key:_index, _type, _id and _version of the document we wish to retrieve。自己导入的信息在"_source"这个子字典.

2020-09-10 23:08:02 127

原创 elasticsearch_DELETE

Delete Index删除检索 twitterDELETE twitterDelete By Iddeletes the JSON document from an index called twitter, under a type called _doc, with id 1:DELETE /twitter/_doc/1Delete By Query通过条件查找符合条件的json文件并对进行delete其中, twitter为index(检索名)POST twitter/

2020-09-10 22:58:28 171

原创 子函数和类参数

类导入不确定参数class ObjectDict(dict): def __init__(self, *args, **kwargs): super(ObjectDict, self).__init__(*args, **kwargs) def __getattr__(self, name): value = self[name] if isinstance(value, dict): value = ObjectD

2020-07-20 16:40:39 266

原创 多模型运行冲突问题

g1 = tf.Graph()sess1 = tf.Session(graph=g1)tf.Session 的注释If no graph argument is specified when constructing the session,the default graph will be launched in the session. If you areusing more than one graph (created with tf.Graph() in the sameproc

2020-06-30 12:05:03 385

原创 python_elasticsearch

查看es的所有索引es.indices.get_alias("*")查看索引system_positive_query的所有字段es.indices.get_mapping("system_positive_query")

2020-06-30 11:56:57 75

转载 python基础知识

可以调用的对象关于 call 方法,不得不先提到一个概念,就是可调用对象(callable),我们平时自定义的函数、内置函数和类都属于可调用对象,但凡是可以把一对括号()应用到某个对象身上都可称之为可调用对象,判断对象是否为可调用对象可以用函数 callable如果在类中实现了 call 方法,那么实例对象也将成为一个可调用对象,你也许已经知道,在Python中,方法也是一种高等的对象。这意...

2020-04-02 11:32:38 83

原创 elasticsearch相关笔记

elasticsearch安装elasticsearch + kibana + Nginx字段属性修改获取原索引的mapping:GET vehicle_info/hive_data/_mapping重新创建一个索引: PUT vehicle_info2/{修改后的mapping}将原索引的数据reindex到新索引:POST _reindex/{ "source": {...

2020-03-31 20:00:56 72

原创 进程理解

何为进程,与线程的区别在电脑上每打开一个应用,就是一个进程,比如word、腾讯视频、浏览器。但是在看视频时,需要同时播放视频和音频,这就是同一个进程的两个线程在Thread和Process中,应当优选Process,因为Process更稳定,而且,Process可以分布到多台机器上,而Thread最多只能分布到同一台机器的多个CPU上。线程是什么呢?进程的颗粒度太大,每次都要有上下的调入...

2020-02-26 11:08:15 170

原创 命令行参数格式介绍

命令行参数sys.argv 命令行参数列表getopt.getoptargparseargparse例子import argparsedef cmd(): args = argparse.ArgumentParser(description='Personal Information ') # 必写属性,第一位 args.add_argument("nam...

2019-12-04 14:36:34 833

空空如也

空空如也

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

TA关注的人

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