自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 正则表达式引擎比较(翻译自:A comparison of regex engines)

原文: A comparison of regex engines – Rust Leipzig正则表达式(或简称regex)通常用于模式搜索算法。 有许多不同的正则表达式引擎提供不同的表达式支持、性能约束和语言绑定。 基于 John Maddock 之前的工作 (regex comparison)和 sljit 项目( regex comparison),这里概述下几个活跃开发的引擎的性能。这里的性能仅在我的戴尔笔记本上测试。它并不是最新的,但这并不重要,因为我对所有引擎使用相同的硬件,并且我对不同引擎性

2023-10-30 22:35:41 404

原创 redis基本数据结构之动态字符串(SDS)

SDS (Simple Dynamic Strings) 是redis 用于存储字符串的数据结构,有以下几个特性:二进制安全 兼容C语言标准字符串处理函数 节省空间二进制安全C语言中用'\0'表示字符串结尾,如果字符串内容含有'\0',就会提前截断(非二进制安全),redis 使用一个变量存放字符串长度,另一个字符柔性数组存放字符串实际内容,读取时根据len变量确定长度,不会出现截断:兼容C语言标准SDS 对外暴露buf的指针,而不是结构体的起始地址,上层可以类似处理C..

2021-12-11 17:05:29 632

原创 protobuf JsonStringToMessage 遇到bytes字段报错

在用proto协议的系统中,写自测用具用到json转pb的函数,但是如果proto协议中有bytes字段,纯json转pb就会报错,以下函数返回falseJsonStringToMessage(test_msg, &message).ok()查资料发现bytes 字段要先进行base64编码,再放到json里,这样就能成功解析成pb对象了。参考:https://github.com/protocolbuffers/protobuf/issues/5719https://github

2021-09-14 11:21:08 1898

转载 消息队列 pulsar 架构学习

转自:comparing-pulsar-and-kafka-how-a-segment-based-architecture-delivers-better-performance-scalability-and-resiliencePulsar 基础架构一个pulsar 集群由两层构成:无状态的服务层,由多个brokers组成,负责发送和接受消息 有状态的持久化层,由多个BookKeeper存储节点(bookies)来持久化消息一个典型的pulsar 架构如图:应用通过pul...

2021-05-26 08:33:19 1469 1

转载 win10 powershell 用资源管理器打开当前目录

用以下命令可以从资源管理器打开当前目录:ii .转自:open a Windows Explorer window from PowerShell

2020-11-17 17:09:10 1357

转载 win10 gvim 使用中的复制粘贴

win10 下gvim 使用起来和linux 下的vim类似,但是复制粘贴一直以为要从菜单栏选“编辑”-“复制” 或“粘贴”,偶尔发现可以在vim配置里改成ctrl+c 和ctrl+v,这里简单记录下:gvim 安装好后,在安装目录如D:\Program Files\Vim 里有_vimrc 文件,用编辑器打开,填入以下内容:vmap <C-c> "+yvmap <C-x> "+cvmap <C-v> c<ESC>"+pimap <C-.

2020-11-10 21:28:11 4084 1

原创 win10 powershell + vim + ctags + taglist + 终端颜色配置

windows terminal 安装Windows Terminal 安装与配置指南安装gvim,并配置win10-PowerShell下使用vim给vim 配置目录侧边栏 nerdtreewindows下给Gvim安装NERDTree目录树插件taglist 的安装把下载下来的doc和plugin里的文件放到vim里面对应的两个文件夹终端颜色配置Get-ChildItemColor,可以让不同文件类型显示为不同颜色...

2020-10-23 18:03:05 800

原创 c++ 对结构体 memset 导致析构函数core

最近验证了一段代码一个struct 里面有char 数组,有string,对整个结构体用memset初始化,然后析构时core了。代码如下:#include <iostream>#include <string.h>using namespace std;struct A{ char arr[16]; string strr; A () { memset(arr, 0x0, sizeof(arr)); }};

2020-08-03 17:08:29 820

转载 Python中的logging模块:按时间滚动、按文件大小滚动、过期删除

Python中自带了logging库,可以提供打印日志、记录日志文件、根据时间日志滚动、根据文件大小日志滚动、过期文件删除的功能。#!/usr/bin/env python# -*- coding: utf-8 -*-import loggingimport logging.handlers #日志滚动及删除使用#1.设置log日志记录格式及记录级别#level记录级别包括DEBUG/INFO/WARNING/ERROR/CRITICAL,级别依次上升,log只会输出保存设置的级别.

2020-05-14 07:23:30 5636 1

原创 win10 anaconda 安装tensorflow 2.x 使用报错:has no attribute 'populate_dict_with_module_objects'

如题,在win10下,anaconda 环境里用pip安装好tensorflow2.x 最新版本,安装成功,但是import报错module 'tensorflow.python.keras.utils.generic_utils' has no attribute 'populate_dict_with_module_objects'到官网下载2.0版本:https://pypi.o...

2020-05-08 11:35:03 5695 1

转载 CNN 可视化解释

转自《一位中国博士把整个CNN都给可视化了》链接:CNN解释器卷积核作用过程RELU 激活函数池化层输出分类

2020-05-03 09:03:59 276

转载 Datawhale 计算机视觉基础-图像处理(上)- Task06 边缘检测

简介什么是边缘?边缘是图像强度函数快速变化的地方如何检测边缘?为了检测边缘,我们需要检测图像中的不连续性,可以使用导数来检测不连续性如上图所示,上图的第一幅图表示一张数字图片,我们对水平红线处进行求导,便可得到上图二中的关系,可以看到在边缘处有着较大的跳变。但是,导数也会受到噪声的影响,因此建议在求导数之前先对图像进行平滑处理(上图三)。然后我们可以使用遮罩使用卷积来检...

2020-05-01 17:32:08 513

转载 Datawhale 计算机视觉基础-图像处理(上)-Task05 图像分割/二值化

简介该部分的学习内容是对经典的阈值分割算法进行回顾,图像阈值化分割是一种传统的最常用的图像分割方法,因其实现简单、计算量小、性能较稳定而成为图像分割中最基本和应用最广泛的分割技术。它特别适用于目标和背景占据不同灰度级范围的图像。它不仅可以极大的压缩数据量,而且也大大简化了分析和处理步骤,因此在很多情况下,是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。图像阈值化的目的是要按照灰度级...

2020-04-28 21:43:26 430

转载 Datawhale 计算机视觉基础-图像处理(上)-Task04 图像滤波

简介图像的实质是一种二维信号,滤波是信号处理中的一个重要概念。在图像处理中,滤波是一种非常常见的技术,它们的原理非常简单,但是其思想却十分值得借鉴,滤波是很多图像算法的前置步骤或基础,掌握图像滤波对理解卷积神经网络也有一定帮助。学习目标了解图像滤波的分类和基本概念理解均值滤波/方框滤波、高斯滤波的原理掌握OpenCV框架下滤波API的使用内容均值滤波/方框滤波、高斯滤波的原理...

2020-04-26 21:43:43 300

转载 Datawhale 计算机视觉基础-图像处理(上)-Task03 彩色空间互转

简介图像彩色空间互转在图像处理中应用非常广泛,而且很多算法只对灰度图有效;另外,相比RGB,其他颜色空间(比如HSV、HSI)更具可分离性和可操作性,所以很多图像算法需要将图像从RGB转为其他颜色空间,所以图像彩色互转是十分重要和关键的。学习目标了解相关颜色空间的基础知识理解彩色空间互转的理论掌握OpenCV框架下颜色空间互转API的使用内容相关颜色空间的原理介绍颜色空间互转...

2020-04-25 18:24:47 243

转载 Datawhale 计算机视觉基础-图像处理(上)-Task02 几何变换

简介该部分将对基本的几何变换进行学习,几何变换的原理大多都是相似,只是变换矩阵不同,因此,我们以最常用的平移和旋转为例进行学习。在深度学习领域,我们常用平移、旋转、镜像等操作进行数据增广;在传统CV领域,由于某些拍摄角度的问题,我们需要对图像进行矫正处理,而几何变换正是这个处理过程的基础,因此了解和学习几何变换也是有必要的。思考几个问题,以旋转为例:变换的形式(公式)是什么?旋转中心是什...

2020-04-22 07:57:02 231

转载 Datawhale 计算机视觉基础-图像处理(上)-Task01 OpenCV框架与图像插值算法

Datawhale 计算机视觉基础-图像处理(上)-Task01 OpenCV框架与图像插值算法简介在图像处理中,平移变换、旋转变换以及放缩变换是一些基础且常用的操作。这些几何变换并不改变图象的象素值,只是在图象平面上进行象素的重新排列。在一幅输入图象[u,v][u,v][u,v]中,灰度值仅在整数位置上有定义。然而,输出图象[x,y]的灰度值一般由处在非整数坐标上的(u,v)(u,v)(u,...

2020-04-20 21:40:18 211

原创 KDD Cup 2020 Challenges for Modern E-Commerce Platform: 求组队

如题,本人后台开发,自学过基本的机器学习和深度学习,如果想组队打比赛不妨一起哈~

2020-04-18 07:06:20 636 1

原创 自然语言处理:bert 用于问答系统

原文:Question Answering with a Fine-Tuned BERTWhat does it mean for BERT to achieve “human-level performance on Question Answering”? Is BERT the greatest search engine ever, able to find the answer to...

2020-04-15 08:00:56 7731

原创 linux c++ 程序运行core,gdb调试显示cannot access memory at address

如题,在linux环境写的c++程序,运行时core了,gdb调试core文件显示:cannot access memory at address参考了:GDB调试,遭遇“cannot access memory at address”有可能是你的程序或者你引用的库是32位,而你所使用的机器是64位的,如果是这样,那么你不能使用gdb,而应该使用gdb.32命令来进行调试。怀疑是...

2020-04-14 11:18:13 15604

原创 自然语言处理:XLNet 模型

论文XLNet: Generalized Autoregressive Pretraining for Language Understanding开源代码xlnet模型介绍语言模型划分为自回归语言模型(Autoregressive LM),根据上文预测下文,或反过来(例如GPT) 自编码语言模型(Autoencoder LM),同时利用上下文,例如bertber...

2020-04-12 12:03:33 652

转载 linux vim打开文件显示 :filetype unknown

vim 打开文件显示:filetype unknownPress ENTER or type command to continue将~/.vimrc里的set syntax=on改成syntax on就可以了

2020-04-09 16:26:17 1484

转载 linux内核原理学习:内存地址分段

摘自《深入理解linux内核》程序通过内存地址(memory address)访问内存单元,而内存地址分为三种:逻辑地址(logical address):机器指令使用的地址,由段(segment)和偏移量(offset)组成 线性地址(linear address):32位无符号整型,可表示4GB地址,范围0x00000000 到0xffffffff 物理地址(physical ad...

2020-04-05 10:19:35 433

转载 数据挖掘实战:二手车交易价格预测之模型融合

数据挖掘实战:二手车交易价格预测之模型融合内容介绍模型融合是比赛后期一个重要的环节,大体来说有如下的类型方式。简单加权融合:回归(分类概率):算术平均融合(Arithmetic mean),几何平均融合(Geometric mean);分类:投票(Voting)综合:排序融合(Rank averaging),log融合stacking/blending:构建多层模型,并利...

2020-04-04 21:16:41 680

原创 leveldb源码学习之LRU Cache

Leveldb内部通过双向链表实现了一个标准版的LRUCacheinclude/leveldb/cache.h// Cache 是将key映射为value的接口. 有内部同步机制可供多线程并发安全访问// 可以自动淘汰元素以为新元素腾出空间. Values 在缓存中有一定的费用. 例如一个value是变长string的cache,可以使用string的长度作为其费用.// 内置的...

2020-04-04 15:42:21 366

原创 leveldb源码学习之内存池Arena

Arena:Leveldb的简单的内存池,它所作的工作十分简单,申请内存时,将申请到的内存块放入std::vector blocks_中,在Arena的生命周期结束后,统一释放掉所有申请到的内存,内部结构如图所示。Arena主要提供了两个申请函数:其中一个直接分配内存,另一个可以申请对齐的内存空间。Arena没有直接调用delete/free函数,而是由Arena的析构函数统一释放所有的内...

2020-04-04 11:01:10 93

原创 leveldb源码学习之基本数据结构Status

Leveldb 中的返回,将错误码和错误信息封装成Status类,统一进行处理。并定义了几种具体的返回状态。为了节省空间Status并没有用std::string来存储错误信息,而是将返回码(code),错误信息message及长度打包存储于一个字符串数组中。成功状态OK是NULL state_,否则state_是一个包含如下信息的数组:state_[0..3]==消息m...

2020-04-04 10:05:42 502

原创 leveldb源码学习之基本数据结构Slice

slice用于表示字符串,包括length和一个指向外部字节数组的指针。和string一样,允许字符串中包含’\0’。提供一些基本接口,可以把const char*和string转换为Slice;把Slice转换为string,取得数据指针const char*。include/leveldb/slice.h// Slice 是一个简单的结构,包含一个指向外部存储的指针,和一个siz...

2020-04-04 10:02:45 490

原创 leveldb源码学习之 DBImpl 类(后台压缩 major compaction)

推荐结合leveldb-handbook来看源码compaction分为两类:minor compaction major compactionminor compaction是将一个内存数据库中的所有数据持久化到一个磁盘文件中有三个条件会触发major compaction:当0层文件数超过预定的上限(默认为4个); 当level i层文件的总大小超过(10 ^ i) M...

2020-04-04 09:32:00 293

原创 leveldb源码学习之 DBImpl 类(恢复日志到memtable:Recover)

推荐结合 leveldb-handbook阅读源码数据库每次启动时,都会有一个recover的过程,简要地来说,就是利用Manifest信息重新构建一个最新的version。过程如下:利用Current文件读取最近使用的manifest文件; 创建一个空的version,并利用manifest文件中的session record依次作apply操作,还原出一个最新的versio...

2020-04-03 17:50:22 282

原创 leveldb源码学习之日志 log 读取

推荐结合leveldb-handbook来阅读源码接上篇leveldb源码学习之日志 log 写入

2020-04-03 12:31:48 456

原创 leveldb源码学习之 DBImpl 类(数据写入)

推荐结合leveldb-handbook 阅读源码leveldb以其优秀的写性能著名整体流程leveldb的一次写入分为两部分:将写操作写入日志; 将写操作应用到内存数据库中;写类型leveldb对外提供的写入接口有:(1)Put(2)Delete两种。这两种本质对应同一种操作,Delete操作同样会被转换成一个value为空的Put操作。除此以外,leveldb还...

2020-04-02 21:17:32 426

转载 数据挖掘实战:二手车交易价格预测之模型调参

本文接零基础入门数据挖掘的特征工程篇,讲述各种模型以及模型的评价和调参策略线性回归模型:线性回归对于特征的要求;处理长尾分布;理解线性回归模型;模型性能验证:评价函数与目标函数;交叉验证方法;留一验证方法;针对时间序列问题的验证;绘制学习率曲线;绘制验证曲线;嵌入式特征选择:Lasso回归;Ridge回归;决策树;模型对比:常用线性模型;常...

2020-04-01 21:28:49 684

原创 leveldb源码学习之 DBImpl 类(压缩 compaction)

推荐结合leveldb-handbook 来看源码Compaction是leveldb最为复杂的过程之一,同样也是leveldb的性能瓶颈之一。其本质是一种内部数据重合整合的机制,同样也是一种平衡读写速率的有效手段compaction分为两类:minor compaction major compactionminor compaction是将一个内存数据库中的所有数据持久化到...

2020-04-01 12:34:36 397

原创 leveldb源码学习之日志 log 写入

用于将数据写入内存中的block 若数据长度超出当前block大小,需要分片 数据的header固定占用7个字节 log_writer.h#ifndef STORAGE_LEVELDB_DB_LOG_WRITER_H_#define STORAGE_LEVELDB_DB_LOG_WRITER_H_#include <stdint.h>#inc...

2020-03-31 11:55:57 276

原创 leveldb源码学习之跳表skiplist

Skip list(跳跃表)是一种可以代替平衡树的数据结构。Skip lists应用概率保证平衡,平衡树采用严格的旋转(比如平衡二叉树有左旋右旋)来保证平衡,因此Skip list比较容易实现,而且相比平衡树有着较高的运行效率。由于skip list比较简单,实现起来会比较容易,虽然和平衡树有着相同的时间复杂度(O(logn)),但是skip list的常数项相对小很多。skip list在空...

2020-03-31 10:21:16 161

原创 leveldb源码学习之MemTable

levedb的MemTable用于存储k-v数据memtable 用引用计数器管理,若计数为0则释放空间 用跳表实现内部有序 memtable 的key编码为以长度作为前缀的string,所以要先读取到实际长度,再获取key内容。 key末尾存放64位的tag,标识key是value还是delete。查询时找到的key为value则返回值,为delete则返回notfoundmemta...

2020-03-30 21:24:04 229

原创 百分位数Percentiles 理解

pandas库有计算百分位数的功能,官网示例如下:理解后讲下这里的计算过程:0.1位置有4个数,所以要取的位置应该是:1 + ( 4 - 1) * 0.1 = 1.3,就是排在第1.3位的值a = [1, 2, 3, 4],取第1.3个数,应该基于第1个数值1 来取,所以得到的应该是:1 + (2 - 1)* (1.3 - 1) = 1.3b = [1, 10, 100,...

2020-03-29 12:43:44 2142

转载 数据挖掘实战:特征工程python实战

特征工程是数据科学和机器学习中的重要技巧,对机器模型性能和EDA(exploratory data analysis)的质量有重要影响。本文介绍几种特征工程技巧详见 notebook什么是特征工程使用领域知识来创造特征,使得机器学习算法发挥作用从原始数据提取特征以转换为算法需要的格式需要领域知识、数学和编程技巧数据集本文使用贷款违约预测数据和送货平台数据,可直接参考 noteb...

2020-03-29 10:07:35 368

转载 数据挖掘实战:二手车交易价格预测之特征工程

特征工程用于对特征进行进一步分析,并对数据进行处理常见特征工程包括:异常处理:通过箱线图(或 3-Sigma)分析删除异常值;BOX-COX 转换(处理有偏分布);长尾截断;特征归一化/标准化:标准化(转换为标准正态分布);归一化(抓换到 [0,1] 区间);针对幂律分布,可以采用公式:数据分桶:等频分桶;等距分桶;Best-KS 分桶(类似利用基尼指数进行二分类);...

2020-03-28 17:59:01 491

空空如也

空空如也

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

TA关注的人

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