自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(281)
  • 资源 (5)
  • 收藏
  • 关注

原创 KMP算法、AC自动机算法的原理介绍以及Python实现

KMP算法要弄懂AC自动机算法,首先弄清楚KMP算法。这篇文章讲的很好:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html结合这篇文章,我说下我的理解比如如下查找,上面是原始串,下面是搜索串要从原始串中查找是否出现搜索串,现在已经查到ABCDAB...

2019-05-10 15:21:20 2859

原创 python项目“内存泄漏”的调试过程

现象:在压测的过程中,服务消耗的内存不断飙升,使用的内存大大超过了它可能消耗的内存大小首先是内存泄漏的几个可能原因:1、存在循环引用,gc不能释放;2、存在全局对象,该对象不断的变大,占据内存;3、使用了c或者c++扩展,扩展内存溢出了;1、首先检查代码,把代码中可能发生内存小泄漏的地方全部修改下、代码中没有调用c或者c++的扩展库2、查看下gc是否被禁止了i...

2019-04-29 09:56:01 5911 2

原创 服务超时实战分析

开发服务的时候,经常发现客户端超时的情况,但是从服务端的日志来看又都比较正常,下面是我项目中遇到的一些不同的超时情况。业务场景: 基于一段长文本,划出文本中的内链我主要遇到过如下三种场景的超时1、客户端query太长服务对这个query的处理消耗的时间比客户端设置的超时长,导致服务还没有把请求处理完毕,客户端就已经超时断开了当时调用方反馈了超时情况后,...

2019-04-29 09:46:57 1831

原创 不重启服务如何定时更新进程中的一个对象

场景: 主进程中初始化了一个对象(C++模块的对象,占用内存比较大,因为加载了一个很大的词表),然后启动子进程,并在子进程中使用这个对象,子进程对这个对象只读,不写 这个对象需要周期性的更新,因为要在对象中重新加载一些数据 如何不重启服务来更新这个对象呢?首先: 子进程因为不会对这个对象写,所以它们使用的其实跟主进程是同一个...

2019-03-01 10:30:46 1125

原创 Redis底部的几种存储结构(sds、dict、ziplist、intset、skiplist)

首先本文参考的是这个系列的文章:https://mp.weixin.qq.com/s?__biz=MzA4NTg1MjM0Mg==&mid=509777776&idx=1&sn=e56f24bdf2de7e25515fe9f25ef57557&mpshare=1&scene=1博主写的非常好,非常详细,我个人看完后,对核心部分进行了如下总结第一层...

2019-01-08 17:36:02 4898 3

原创 Redis慢日志问题解决

现象: 无线词条页访问失败问题分析:1、首先,查看日志日志中非常显眼的是,从Redis读取词条的pv耗时很长,高达20多秒, 看样子是访问Redis速度很慢导致2、查看Redis的慢日志> SLOWLOG GET可以得到如下结果:25) 1) (integer) 160 #日志的唯一标识符(uid) 2...

2018-12-10 16:53:32 1880

原创 写磁盘太慢导致服务超时问题分析

服务逻辑:     接收客户端的请求参数,写文件到本地磁盘 问题发现:     客户端报超时, 每天日志理论上是有几万条的,但是近几天只收到了几条 问题分析:     其实最开始的时候,以为是服务端处理不过来导致的,因为最开始服务端只有两个服务进程,后来增加了服务进程数,但是超时问题仍然没有得到解决     也怪自己没有做压力测试,如果做了压测,那么服务处理不过来的...

2018-12-10 12:11:43 2272

原创 tornado异步请求响应速度的实例测试

为什么要用异步处理?大部分Web应用(包括我们之前的例子)都是阻塞性质的,也就是说当一个请求被处理时,这个进程就会被挂起直至请求完成。在大多数情况下,Tornado处理的Web请求完成得足够快使得这个问题并不需要被关注。然而,对于那些需要一些时间来完成的操作(像大数据库的请求或外部API),这意味着应用程序被有效的锁定直至处理结束,很明显这在可扩展性上出现了问题。不过,Tornado给了我...

2018-12-06 18:53:17 2191 1

原创 scrapy自定义网页中图片的下载策略

自定义的初衷是:想修改保存文件的默认名称, 我们希望保留图片原始的文件名。 此外,scrapy图片的下载过滤策略是用了过期时间,可以通过在settings.py中配置如下参数来设置图片的过期时间:IMAGES_EXPIRES = 90但是对我们抓取百度百科的业务,一张图片如果已经抓取过,则不需要再重新抓取,所以这个是一次性的, 因为图片发生变化的可能性很小,所以没有必要做重复性的抓取...

2018-11-30 18:48:16 525

原创 scrapy自定义Request的缓存策略(减少内存占用)

scrapy-redis大概的架构:从redis中拉url,构造Request对象,写入SCHEDULER_QUEUE_CLASS定义的队列中,调度器从队列中拉取Request进行抓取想自定义Request的初衷主要是为了减少内存的占用,当然虽然我们的内存消耗的也不是那么多,也就几个Gscrapy自带的几个队列有这么几个:* scrapy_redis.queue.SpiderQu...

2018-11-30 11:01:23 2195

原创 scrapy中自定义过滤规则以及start_urls不进过滤器的问题

为什么要自定义过滤规则呢? 首先,我们需要过滤,但是不是说抓一次就不抓了,因为我们的抓取是一段时间抓取一次自定义策略如下:首先我试图直接继承RFPDupeFilter在settings.py同级的目录下新建dupefilter.py文件,按照网上说的方法,写了内容如下from scrapy.dupefilter import RFPDupeFilterimport hashli...

2018-11-29 19:22:10 3503

原创 请求方报超时,服务日志中记录的时间却少有超时

请求方报超时的比例大概有4%他们设置的超时时间是500ms但是我们统计日志,服务时间超过500ms的日志很少原因是什么呢? 超时原因分析:1、请求内容太长根据请求方超时日志, 大多数query的长度都是1w以上,这些query我手动请求,响应时间的确大于500ms, 在服务端还没有处理完的时候,客户端已经超时断开了2、等待时间太长客户端报超时的query,其中有...

2018-11-27 14:19:44 2165

原创 日志中每段代码执行时间的和不等于整段代码执行的总时间

代码逻辑:def  getInlink()     A  -> B  -> C ->  D 在tornado中调用[email protected]    def get(self):        start2 = int(time.time()*1000)        error, errReason, lstS...

2018-11-22 10:10:21 351

原创 日志中每段代码执行时间的和不等于整段代码执行的总时间

代码逻辑:A  -> B  -> C ->  D 实践中,分别记录了上面四个步骤执行的时间, 假设为At, Bt, Ct, Dt,并且记录了整个4步的时间,假设为ADt发现4个代码片段的时间的和不等于总的时间, 也就是:        ADt >  At+Bt+Ct+Dt 原因是什么呢?A->D这个步骤中应该还有CPU调度的等待时间,这...

2018-11-21 19:24:06 348

原创 压测中提高并发数后服务端处理时间增长的原因分析

后端逻辑:  接收请求、分词匹配、读redis做一些过滤策略在不断提高并发数的压测过程中,发现一个问题,后台服务对一个请求的处理时间也在增高, 而且增高的主要时间是消耗在读redis过滤那块过滤那块的主要逻辑是:从redis中读数据,并基于这些数据做一些过滤的策略为什么这块的耗时会增长呢?难道是redis的线程池不够用?导致有些redis的io请求要等待一会?应该不会,因为redi...

2018-11-20 15:02:35 2771

原创 两台机器实现QPS3000的服务优化

服务流程:     输入为一句话, 分词、匹配百科词条,读redis过滤、从redis读词条summary信息、返回 需求:     业务方的峰值QPS为3000 按照之前相关百科的一套逻辑: 单机tornado服务进程数4个模拟10个并发,压测的QPS为332, 响应时间为30ms$siege -c10 -r5000 -f urls.lstTransacti...

2018-11-16 19:41:18 2241

原创 一次Redis任务队列积压的问题分析与解决

目前的流程:两个Redis:Redis1: 存储词条的summary信息Redis2:任务队列,用于暂存Redis中没有summary,需要进行处理获取summary, 队列用的Redis的list结构两个进程:1、 进程1:服务进程接收请求,划内链词,然后从Redis1中去获取词的summary, 如果获取失败,则返回code=4的错误,并将词条id写入任务队...

2018-11-16 11:32:32 5960

原创 tf.layers.conv1d函数解析(一维卷积)

一维卷积一般用于处理文本,所以输入一般是一段长文本,就是词的列表函数定义如下:tf.layers.conv1d(inputs,filters,kernel_size,strides=1,padding='valid',data_format='channels_last',dilation_rate=1,activation=None,use_bias=True,...

2018-11-14 15:09:10 51862 17

原创 二维卷积神经网络的结构理解

针对这个图,我们对应着卷积的api函数来说:tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)如上图:第一列为一张输入图像, 大小为7*7*3, 即宽高为7*7, 通道数为3所以inputs的维度就是: [-1, 7, 7, 3] , -1是表示batch的大小可以...

2018-11-14 15:07:13 6302

原创 个人对stacking的思想理解

主要分为几个基础模型,一个元模型对于基础模型,采用K折交叉的方式来采样数据,并分别进行训练,这样对于每个模型,都会用K组采样数据来进行训练,从而得到K个不同的模型版本假设现在基础模型有KNN,SVM, 那么对基础模型训练后会得到如下几个模型:KNN_model1, KNN_model2....KNN_modelKSVM_model1, SVM_model2....SVM_model...

2018-11-14 15:05:50 623

原创 preprocessing.StandardScaler中fit、fit_transform、transform的区别

1、fit用于计算训练数据的均值和方差, 后面就会用均值和方差来转换训练数据 2、fit_transform不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转换成标准的正太分布 3、transform很显然,它只是进行转换,只是把训练数据转换成标准的正态分布 一般使用方法:a) 先用fitscaler = prepro...

2018-11-14 15:04:15 32543 8

原创 sklearn相关积累

sklearn的参考教程:https://morvanzhou.github.io/tutorials/machine-learning/sklearn/3-5-save/ 1、 解决的问题分类、回归、聚类和特征降维sklearn中有很多数据库可以用来练习 2、交叉验证: cross_val_score作用:用来评估模型的准确性,基于准确性,选择最好的模型。优势...

2018-11-14 15:02:54 408

原创 机器学习中遇到的问题

1、ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory找不到so库文件用自己的账户运行包会报上面的错误,但是用root账户运行却没有问题原因:root账户里面的LD_LIBRARY_PATH路径能找到这个so文件,但是自己的账户的LD_LIBRARY_PATH路...

2018-11-14 14:59:29 2263

原创 客户端请求时间和服务端处理时间不匹配问题

现象: 客户端日志,调一个接口耗时为2-3s 服务端日志,处理一个请求耗时只有100-200ms问题: 这明显速度不匹配, 理论上差不了太多才对分析原因: 可能是服务端处理不过来,虽然一个请求服务端处理的时间很短,但是客户端请求响应的时间主要是消耗在等待被处理上目前客户端的进程数是25, 服务端的服务进程数是2....

2018-11-14 14:54:26 4555

转载 从Encoder到Decoder实现Seq2Seq模型

参考文章: https://zhuanlan.zhihu.com/p/27608348

2018-09-12 19:12:59 1498

原创 ab测试post如何用文件提交json格式的参数

在网上找了很多方法都失败首先我的参数是这样的:服务端需要一个名称为data的参数值为:"{'title': "刘德华"}", 即值是一个json格式的字符串错误方法:ab -n10000 -c10 -T application/json -p post.json http://10.134.75.38:1234/find/lemma/categorypost.json的...

2018-08-28 15:56:06 5862

原创 用Docker容器自带的tensorflow serving部署模型对外服务(成功率100%)

前传:相信很多人和我一样,在试图安装tensorflow serving的时候,翻遍了网上的博客和官网文档,安装都是以失败而告终,我也是一样,这个问题折磨了我两个星期之久,都快放弃了。幸运的是在同事的建议下,我采用了一种迂回的策略安装成功了。我们采用的策略是: pull一个已经安装好了tensorflow serving的docker镜像,替换它自带的一些模型为我们...

2018-08-27 10:36:36 15627 16

转载 机器学习算法实践-SVM中的SMO算法

前言前两篇关于SVM的文章分别总结了SVM基本原理和核函数以及软间隔原理,本文我们就针对前面推导出的SVM对偶问题的一种高效的优化方法-序列最小优化算法(Sequential Minimal Optimization, SMO)的原理进行总结并进行相应的Python实现。坐标上升算法(Coordinate Ascent)在SMO算法之前,还是需要总结下坐标上升算法,因为SMO算法的...

2018-07-27 10:59:31 2049

转载 KKT条件

KKT条件介绍       最近学习的时候用到了最优化理论,但是我没有多少这方面的理论基础。于是翻了很多大神的博客把容易理解的内容记载到这篇博客中。因此这是篇汇总博客,不算是全部原创,但是基础理论,应该也都差不多吧。因才疏学浅,有纰漏的地方恳请指出。      KKT条件是解决最优化问题的时用到的一种方法。我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值。...

2018-07-27 10:29:02 5455

转载 dropout为什么有效

开篇明义,dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。dropout是CNN中防止过拟合提高效果的一个大杀器,但对于其为何有效,却众说纷纭。在下读到两篇代表性的论文,代表两种不同的观点,特此分享给大家。组合派参考文献中第一篇中的观点,Hinto...

2018-07-06 16:03:58 1814 1

转载 MLP多层感知机(人工神经网络)原理及代码实现

一、多层感知机(MLP)原理简介多层感知机(MLP,Multilayer Perceptron)也叫人工神经网络(ANN,Artificial Neural Network),除了输入输出层,它中间可以有多个隐层,最简单的MLP只含一个隐层,即三层的结构,如下图:从上图可以看到,多层感知机层与层之间是全连接的(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。多层感知机最底层...

2018-07-05 11:23:19 64799 2

原创 基于sigmoid的文本多标签分类模型代码实现

sigmoid一般是用来做二分类的,它是将一个标量的数字转换成[0,1]之间的一个概率值,如果概率值大于0.5, 则判定为是某个分类,否则则不是某个分类,公式如下:本文基于sigmoid做了一个将一段长文本打上多个标签的算法模型,首先声明,我的模型最终的效果不好,因为我的文本很长,而且采用的模型很简单,就一层神经网络,权当练手。数据集文件的格式为每行一个样本,以制表符分隔。第一列为文本...

2018-07-05 10:45:01 6560 4

原创 如何用softmax和sigmoid来做多类分类和多标签分类

首先,说下多类分类和多标签分类的区别多标签分类: 一个样本可以属于多个类别(或标签),不同类之间是有关联的,比如一个文本被被划分成“人物”和“体育人物”两个标签。很显然这两个标签不是互斥的,而是有关联的多类分类: 一个样本属于且只属于多个分类中的一个,一个样本只能属于一个类,不同类之间是互斥的,比如一个文本只能被划分成“人物”,或者被划分成“文化”,而不能同时被划分成“人物”和“文...

2018-07-04 17:07:28 15699 5

原创 基于softmax的文本多分类模型代码实现

对于多分类问题,可以使用softmax来做,但是效果不是那么好,当做一个算法的练手吧首先是数据集处理的代码:文件名:data_loader.py# coding: utf-8import sysfrom collections import Counterimport pdbimport numpy as npimport tensorflow.contrib.keras as kr...

2018-07-04 15:59:34 2834 1

转载 softmax实现多分类算法推导及代码实现

关于多分类我们常见的逻辑回归、SVM等常用于解决二分类问题,对于多分类问题,比如识别手写数字,它就需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这里讨论另外一种方式来解决多分类——softmax。关于softmax如何多分类从下图看,神经网络中包含了输入层,然后通过两个特征层处理,最后通过softmax分析器就能得到不同条件下的概率,这里需要分成三个类别,最终会得...

2018-07-03 10:40:53 10356 1

转载 Attension Mechanism模型的详细介绍,原理、分类及应用

模型汇总24 - 深度学习中Attention Mechanism详细介绍:原理、分类及应用Attention是一种用于提升基于RNN(LSTM或GRU)的Encoder + Decoder模型的效果的的机制(Mechanism),一般称为Attention Mechanism。Attention Mechanism目前非常流行,广泛应用于机器翻译、语音识别、图像标注(Image Caption)...

2018-06-28 18:39:42 1896

转载 朴素贝叶斯分类器的例子

一、病人分类的例子让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难。某个医院早上收了六个门诊病人,如下表。  症状  职业   疾病  打喷嚏 护士   感冒   打喷嚏 农夫   过敏   头痛  建筑工人 脑震荡   头痛  建筑工人 感冒   打喷嚏 教师   感冒   头痛  教师   脑震荡现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大?根据贝叶斯...

2018-06-12 11:32:57 1107

转载 支持向量机(SVM)

参考地址:https://blog.csdn.net/Left_Think/article/details/76726568

2018-06-04 15:08:16 305

转载 一文详解LDA主题模型

【本文作者】达观数据 夏琦【作者简介】夏琦,达观数据NLP组实习生,就读于东南大学和 Monash University,自然语言处理方向二年级研究生,师从知识图谱专家漆桂林教授。曾获第五届“蓝桥杯”江苏省一等奖、国家二等奖。前言本篇博文将详细讲解LDA主题模型,从最底层数学推导的角度来详细讲解,只想了解LDA的读者,可以只看第一小节简介即可。PLSA和LDA非常相似,PLSA也是主题模型方面非常...

2018-05-24 20:34:08 4451

原创 matplotlib画折线图中文乱码解决

说到底,乱码的原因是因为没有安装中文字体导致的,所以首先要做的就是安装一个中文字体。报表中发现有中文乱码和中文字体不整齐(重叠)的情况,首先考虑的就是操作系统是否有中文字体,在CentOS 7中发现输入命令查看字体列表是提示命令无效:  如上图可以看出,不仅没有中文字体,连字体库都没有,那么接下来就记录一下在Linux CentOS 7中如何安装字体库以及中文字体。安装字体库在CentOS 4.x...

2018-05-23 14:33:43 2722

mysql-5.1.69.tar.gz

mysql-5.1.69.tar.gz mysql数据库源码。

2013-09-10

httpd-2.2.20.tar.gz

httpd-2.2.20.tar.gz,apache服务器源码

2013-09-10

apache+php+mysql的嵌入式移植详细过程

这篇文档是apache+php+mysql的嵌入式移植详细过程。是本人整个移植过程的经验总结,包含了移植过程中出现的问题的解决方法

2013-09-10

arm-linux-gcc-4.4.3.tar.gz

arm-linux-gcc-4.4.3.tar.gz

2013-09-07

apache+sqlite+php的嵌入式移植

这里面包含了apache,php,sqlite详细的嵌入式移植步骤。

2013-09-07

空空如也

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

TA关注的人

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