自定义博客皮肤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)
  • 收藏
  • 关注

原创 NLP错别字识别(附代码和模型和服务,可在线测试)

训练过程准备一批没有错误的正常样本根据正常样本随机生成错别字,错别字应该遵循同音、近音、词组的原则,同时避开人名地名机构名等专有名词用bert微调训练在线预估项目地址:https://github.com/ganguagua/error_recognize在线预估...

2020-06-25 18:03:13 4800 4

原创 一种可动态配置词典的LSTM中文切词

项目地址链接:https://github.com/ganguagua/priori-lstm解决问题模型不能充分运用词典的先验信息对于不能识别的新词,模型需要重新训练,流程冗长,效率低核心思路运用预训练模型,bert是字模型的,可以用bert的embedding矩阵,加速模型收敛,保证模型泛化模型结构采用双向LSTM,结合上下文信息,更准确把最大匹配的结果和字的embedding concat在一起作为LSTM输入,充分利用先验信息...

2020-06-02 17:24:43 223

原创 pyspark使用问题总结

pyspark使用问题总结1. 编码问题一开始以为输出需要转成str,也就是utf8编码,结果总是报UnicodeDecoder error,输出的时候会默认调unicode(output_line), 所以会错, 转成unicode就好了2. 无结果问题任务需要解析json串,一般会加try, 里面出了问题看不出来,检查输入字符串没问题,是正常json串,结果是忘了import json。。。3. 运行慢问题该cache的地方要cache,该释放就释放,尽量不要join,用union+red

2020-10-29 20:03:36 330

原创 推荐,NLP算法面试总结

凸优化问题相关:二阶导为0就是凸函数,凸函数没有局部最优,局部最优即是全局最优,典型的就是逻辑回归,凸优化问题可以用简单的梯度下降达到全局最优,例如sgd。但是神经网络肯定不是,所以需要更好的优化器去求解,避免陷入局部最优解,这也是神经网络两次训练基本不会得到相同的结果的原因,因为局部最优解很多,参数初始化的不一样就会导致陷入不同的局部最优解冷启动问题:新用户可以推荐热门物品,或者高转化物品,新物品可以按相似物品去推荐连续值特征的分桶:算皮尔逊相关系数协同过滤:计算杰卡德距离拿到相似度,再取topK.

2020-09-09 00:13:07 266

原创 计算机编程入门--python

计算机基础知识存储计算机是二进制进行存储和计算的,二进制就是逢二进一,所以存储的只有0和1,任何文件都是01串,至于怎么用01串表达各种形式的文件,就需要自行去了解各种协议了,就是大家怎么约定。计算机的最小存储单位是比特位,就是一个0或者1,系统会对存储单位做编号,0,1,2,3…,要查询的时候就通过这个编号去找。这个编号就是内存地址,后面简称地址。当我们需要存储的时候系统也会给我们分配一个地址,我们就可以往里面写数据。计算我们平常熟悉的是加减乘除运算,这些运算都可以用与、或、非、异或四种位运算来表

2020-08-02 16:26:10 557

原创 bert源码详解

模型构建modeling.pyclass BertConfig(object): def __init__(self, vocab_size, hidden_size=768, num_hidden_layers=12, num_attention_heads=12, intermediate_size=3072, hidd

2020-07-07 15:47:38 601

原创 NLP文本处理小工具函数

控制字符去除import unicodedatadef remove_control_character(content): result = "" for ch in content: if ch not in ("\t", "\n", "\r") and unicodedata.category(ch) in ("Cc", "Cf"): continue if ord(ch) in (0, 0xfffd): .

2020-06-24 16:10:21 202

原创 python selenium爬虫(模拟鼠标、键盘输入)

环境pip install selenium下载浏览器对应的driver,chromedriver地址:http://chromedriver.storage.googleapis.com/index.html,注意需要和自己的浏览器版本一致,地址栏输入chrome://version/即可查看,下载解压后的driver文件需要放到PATH路径中打开一个页面import selenium.webdriverbrowser = selenium.webdriver.Chrome()browse

2020-06-24 11:19:56 7420 2

原创 python多线程、多进程、多核

多线程python的多线程是不能实现多核的,类似go的协程,只有当线程I/O的时候才让出CPU,或者单个线程计算100次时。所以多线程的CPU最多只能打到100%代码实现如下:def work(num): for i in range(num): print(i)import threadingthreads = []for i in range(10): threads.append(threading.Thread(target=work, args=(1

2020-06-22 23:40:19 703

原创 训练loss不下降的原因总结

表现:训练过程中loss值一直震荡,没有下降趋势原因一:梯度消失;多因为网络深度过深,接近输入层的参数 梯度过小; 解决方法:调整网络,激活函数relu,batch normal等原因二:训练数据分布不均匀;这种情况对训练数据shuffle即可原因三:学习率过大或者过小;过大就会在loss最小处周围震荡,通常一开始会有一定下降;过小就是收敛太慢tensorflow2中可以直接打出每个step的梯度值,便于发现问题...

2020-06-08 10:59:15 11017

原创 基于tensorflow的多GPU训练

1.参考https://www.tensorflow.org/tutorials/distribute/custom_training必须在strategy.scope下创建模型和优化器。with strategy.scope(): model = create_model() optimizer = tf.keras.optimizers.Adam() checkpoint ...

2020-03-20 18:33:55 1247

原创 浅谈bert和lstm

LSTM概述:lstm是代表性的rnn结构,rnn提出是为了解决时序的问题;典型的例子就是NLP中的句子理解,视频的内容理解;模型结构的设计保证输入顺序按照时序顺序对结果产生影响,当前时间步的输入是当前位置和上一个时间步的输出。优点:解决了dnn或者是bow词袋模型的问题,不能区分时序缺点:处理长文本的时候耗时较长,考虑到上下文,一般还采用双向rnn结构;模型效果上,对于长依赖问题...

2020-03-19 11:54:30 9427 2

原创 python中文编码梳理

python3 默认都是unicode编码,可以通过encode得到其他编码>>> a = "我的">>> a.encode()b'\xe6\x88\x91\xe7\x9a\x84'>>> a.encode("unicode_escape")b'\\u6211\\u7684'二进制流转中文,decode>>&...

2020-02-26 15:48:39 340

原创 记一次装GPU环境

首先是装显卡驱动,显卡是英伟达的tesla v100,从官网上下载了驱动,系统是centos 7.5, 安装的时候首先提示安装kernel-devel,yum install即可,然后说找不到系统对应的源码,原来是下载的源码和系统版本对应不上,yun update kernel即可,紧接着又报gcc版本问题,说包的kernel是4.8.5 但是当前的gcc版本是6.3.1,出去gcc --ver...

2020-02-13 22:33:14 172

原创 tensorflow查看loss,防止过拟合

用tf.summary记录日志,然后tensorboard加载,浏览器中查看 #声明要查看的标量 tf.summary.scalar("loss", loss) tf.summary.scalar("test_loss", test_loss) merge_summary = tf.summary.merge_all() tf_config = t...

2019-12-18 20:11:36 1308

原创 tensorflow数据流编写 python版

文章介绍一种数据流生成方法,作为训练或者测试的输入,参考bert官方代码:省略了大部分的数据处理逻辑,只有代码框架#从文本文件读入待处理数据writer = tf.python_io.TFRecordWriter(output_file)# exmaple是你从原始文件读入的内容,可以做一些基本的过滤切割操作for example in examples: #填充数据 f...

2019-12-17 20:00:05 152

原创 模型训练loss先迅速下降后一直上升

loss函数走势如下:把学习率调低一点就好了,从0.01调到了0.001

2019-12-17 13:54:20 31682 19

原创 tensorflow UnimplementedError问题原因

今天运行tf代码报错:tensorflow.python.framework.errors_impl.UnimplementedError: Unsupported object type Tensor查看tensorflow官网解释:Some operations may raise this error when passed otherwise-valid arguments that i...

2019-12-16 11:42:25 4430

原创 Faster Transformer编译 使用

docker安装设置REPOSITORYsudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo...

2019-08-01 14:38:25 1632

原创 tornado的协程、多线程、多进程实例

tornado并发介绍 tornado处理请求是单线程的,如果所有操作都在这个线程做,qps就受限于你的业务复杂性。业务比较复杂时可以起协程去做一些耗时的操作,主线程处理一些简单操作。需要注意的是起的协程不宜过多,协程过多,上下文切换的开销就过大,得不偿失;如果真有这么多,那就应该起多进程去处理这些请求。协程加多线程实现异步 #耗时的事务函数 @tornado.gen.corou...

2019-07-12 19:23:01 1906

原创 tensorfow笔记

LSTMCellAPI说明: https://tensorflow.google.cn/versions/r1.9/api_docs/python/tf/contrib/rnn/LSTMCell论文:http://www.bioinf.jku.at/publications/older/2604.pdfcell = tf.contrib.rnn.LSTMCell(size)GRUCel...

2019-04-19 14:31:26 105

原创 激活函数总结

sigmoid函数,tf.nn.sigmoid, 1 / (1 + exp(-x))a = tf.constant([1.1, 2.1,3.1 ,4.1])tf.nn.sigmoid(a) #[0.7502601, 0.8909032, 0.9568927, 0.9836975]tanh函数,tf.nn.tanhb = tf.nn.tanh(a) # [0.8004991, 0.97...

2019-04-19 11:34:16 102

原创 tensorflow基本语法

tensor数据类型,理解为一个向量,创建方法可是tf.constant([1,2,3,4])tf.Variable(tf.random_normal([3, 3], stddev=0.1))shape,描述tensor的维度a = tf.constant([ [1, 2], [3, 4] ])print a.shape打印tensor的值b = tf.constant([1, ...

2019-04-18 19:50:34 177

原创 逻辑回归、FM、FFM比较总结

后端开发SQL注意事项in操作在很多时候是可以优化查询的,但是当有order by或者其他需要遍历所有结果的语句时需要注意,如果in的内容比较多,应该分批查,例如select * from table where name in (?) and type in (1,2,3) order by id desc limit 10,如果要查的name很多,数据库会查出所有结果再排序, 解决办法:把...

2019-02-19 21:49:18 2255

原创 后端开发SQL注意事项

in操作在很多时候是可以优化查询的,但是当有order by或者其他需要遍历所有结果的语句时需要注意,如果in的内容比较多,应该分批查,例如select * from table where name in (?) and type in (1,2,3) order by id desc limit 10,如果要查的name很多,数据库会查出所有结果再排序, 解决办法:把name分成若干堆,多个...

2018-11-21 22:26:24 271

空空如也

空空如也

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

TA关注的人

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