自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

灵山一笑

当平心地,则大地平。

  • 博客(27)
  • 收藏
  • 关注

翻译 LLM如何通过llama.cpp进行推理

这篇文章涵盖了很多内容,应该能让你对 LLM 推理的全过程有一个基本的了解。LLM 参数计数(LLM Parameter counting)和 Transformer 推理算术(Transformer Inference Arithmetic)深入分析了 LLM 的性能。vLLM 是一个用于更有效地管理 kv 缓存内存的库。连续批处理是一种优化技术,用于将多个 LLM 提示组合在一起进行批处理。

2024-03-26 19:05:01 99

原创 golang 时区相关

Golang中的时区概念0时区为UTC,中国大陆的时区为8,为UTC+8. (UTC universal time coordinated 与格林威志时一样,都与伦敦当地时一致。)获取时区信息time.Local 为当前系统时区信息;time.LoadLocation() 根据日期字符串内容来分析相应的时区信息。时间与时区的操作time.Now() 获取系统当前时区时间;...

2019-12-17 15:18:44 888

原创 【MySQL学习笔记】普通索引和唯一索引

普通索引和唯一索引查询过程比较 从B+树的树根开始,按层搜索到叶子节点。 对于普通索引,查到满足条件的第一个记录后,继续查找下一个记录,找到碰到第一个不满足条件的记录为止。 对于唯一索引,由于索引定义了唯一性,查找到第一个记录,就会停止搜索。这二者的性能差距有多大? Innodb的数据是按数据页为单位来读取的,大小默认为16KB。 由于引擎是按页...

2019-10-19 13:47:28 195

原创 strtok的安全函数

strtok用来做字符串分割。strtok(char * str,const char * delim)该函数调用一次,返回由delim分割的一部分字符串,需要多次调用,把所有的分割结果都返回出来。可以看出,函数内部需要维护一个静态内存区域,因此不可重入。基于不可重入的问题,就有了对应的安全函数,如下:windows版:strtok_s(char* s, const char* d...

2019-10-17 11:22:37 733

原创 【MySQL学习笔记】事务隔离与锁

可重复读级别下,在事务执行期间,即使其他事务修改了数据,该事务看到的仍然跟启动是看到的一样。 但是,如果一个事务要更新一行数据,这时刚好有另一个事务拥有这一行的行锁,那本事务就会进入锁等待状态。问题:该事务获取到行锁,要更新数据时,这时候,它读的数据值是什么呢?答:更新数据的时候,都是先读后写,这个读,只能读当前值,成为“当前读”。 另一种情况:事务中,查询语句如...

2019-10-15 20:07:32 150

原创 【MySQL学习笔记】锁

全局锁 主要用在逻辑备份中,db引擎不支持事务的场景下。对于Innodb引擎,建议用single-transaction,视图形式备份,不影响业务;表锁一般在数据库引擎不支持行锁的时候,才会用到。在mysql中,引入了MDL(metadata lock),对一个表做增删改查时,加MDL读锁;对表结构做变更时,加MDL写锁。MDL 读锁之间不互斥,读锁与写锁互斥,写锁...

2019-10-11 19:43:05 145

原创 【MySQL学习笔记】索引

索引的作用和重要性索引和书的目录类似,没有目录,找书里的特定内容,需要从头到尾一页页查找,没有索引,查找表中的某条信息,需要从头到尾一条条遍历查询。索引的设计方式三种主要的数据模型:哈希表,有序数组,搜索树。哈希表原理:key-value的形式存储数据,取数据时,根据key即能得到对应的值。实现方式简单的描述即使用特定的哈希函数,将key映射为大于0的整数m,将ke...

2019-09-25 13:38:43 149

原创 【MySQL学习笔记】事务

事务是用来保证一组数据库的操作,要么全部成功,要么全部失败;应用场景较多:如银行转账,订票等。Mysql的事务是在引擎层支持的,原生的MyISAM不支持,因此主流使用InnoDB引擎。本文概要介绍事务的四个特性,之后,详细描述隔离性的相关内容。事务的ACID特性原子性顾名思义,不可分割,要么所有指令都成功,要么所有指令都失败;一致性事务开始前和事务结束后,数据库的状态都是正...

2019-09-19 20:48:08 139

原创 【MySQL学习笔记】redo log与binlog

redo log , binlog如果每次更新操作都写磁盘,而磁盘也要找到对应的记录,然后再更新,整过过程的IO成本,查找成本很高。为解决这个问题,mysql的引擎innodb使用WAL技术,write-ahead logging,即先写日志,空闲时再写磁盘:当有一条记录需要更新时,Innodb引擎会先把记录写到redo log里,并更新内存,更新就算完成,同时,innodb会在适当的时候...

2019-07-22 23:11:45 166

原创 【MySQL学习笔记】MySQL架构概览

优化器:决定如何选择索引,表关联时,决定表的关联顺序,执行方案确定后,开始进入执行器;执行器:执行语句;调用引擎的接口进行数据读写。...

2019-07-04 20:39:49 170

原创 【MySQL学习笔记】并发事务的查询问题

以座位预定业务为背景:用户A查询座位S是否空闲,结果是空闲;用户B查询座位S是否空闲,结果是空闲;用户A预定座位S,将座位S状态设置为占用;用户B预定座位S,将座位S状态设置为占用;上述流程导致座位S被重复预定。解决方案:在业务层,使用队列或者分布式锁,来保证数据库层的并发安全,这种方式在业务量小时,有点大材小用; 使用悲观锁,第一个用户查询时,会触发锁行,或者...

2019-07-03 20:22:13 437

原创 golang跨平台编译

windows下:set GOARCH=amd64set GOOS=linuxgo build -o 程序名

2019-06-25 20:10:08 329

原创 mongodb-mgo相关操作记录

查询条件构造:使用字典的方式, map[string]interface{},或者使用bson.M,其实就是map[string]interface{}的别名。操作符(operator)的构造方法:也是使用字典的方式,只是需要嵌套,举例说明:map[string]interface{}{"item_name", map[string]interface{}{"$操作符名": 操作...

2019-06-21 19:43:23 528

原创 jwt原理及使用

JWT json web token在后台认证时使用:1)不需要后台存储session信息,仅占用一点计算资源;2)后端接入服务器平行扩展时,不用考虑认证的平行扩展问题;jwt由三部分组成:头,信息体,签名。头:描述加密算法和令牌类型(JWT)信息体:是json字段,jwt定义了几个通用字段(如,发行人,过期时间,主题等),用户也可以定义私有字段。签名:签名是为了保证头和信息体...

2019-06-15 14:31:48 233

原创 golang 格式化输入输出详解

格式化字符串由占位符和普通字符组合而成。占位符由'%'打头,动词结尾。占位符由五类元素组成: 标志位(flag),宽度,精度,参数索引,以及动词。除了最后的动词之外,其他元素均可省略。看下面的常用类型的例子描述:缺省格式和类型Value:[]int64{0, 1}格式化后的效果 动词 描述 [0 1] %v 缺省格式 []int64{0...

2019-06-14 20:23:04 3118 3

原创 go mod

针对 go 1.12建立工程文件夹。go mod init 包名设置环境变量: set GO111MODULE=on运行 go mod tidy可查看效果如果多个工程需要引用共同的私有包(本地包)呢?只需要和普通的工程一样,对私有包进行go mod处理即可。在工程中如何引用私有包呢?使用方:import ( "test.com/test")...

2019-06-12 13:53:58 769

原创 yield 关键字详解

当你看到一个函数里有yield声明时,用一个简单的小伎俩来理解发生了什么:在函数体的开始插入一行; result = [] 替换yield expr 为 result.append(expr) 在函数末尾添加一行:return result 现在就没有yield声明了,阅读并弄明白代码的含义吧!这个小方法让你能够很好地理解函数整体做了什么,但是实际上yield的运行机制是和基于list...

2018-07-28 15:21:20 2025

原创 Boost ASIO流程简述

markmarkmark

2018-07-09 14:50:08 626

原创 IO -- select方式-epoll方式

一个典型的select的工作流程://定义 文件描述符集合,一个是read, 一个是writefd_set fd_in, fd_out;struct timeval tv; // 情况集合信息FD_ZERO( &fd_in );FD_ZERO( &fd_out ); // 将sock1加入到读监控集合中FD_SET( sock1, &fd_in ); // 将sock2加入...

2018-07-07 18:11:29 220

原创 Linux下的IO模式

阻塞模式(block):程序在执行某一项IO的系统调用时,处于阻塞状态,等待IO操作返回后,才能继续向下执行。例如: length = recvfrom(data, max_length);当没有网络数据到来时,程序就会阻塞在这里,直到有数据到来为止。 非阻塞模式(non-block):程序在执行某一项IO的系统调用时,该系统调用立即返回。length = recvfrom(data, max_l...

2018-07-07 11:11:46 416

原创 FFMPEG常用指令汇集

1. 将yuv文件编码为MP4文件ffmpeg  -s:v widthxheight -r 25 -i test.yuv -c:v libx264 test.mp4其中,-r为帧率。

2018-05-31 14:20:27 216

翻译 程序员视角学神经网络(二)

第一章 实值电路  在我看来,思考神经网络的最佳方式是将其当做实值电路,在实值电路里,实数数值(实值电路对应于传统的01电路,后续以布林电路称呼)会沿着边“流动”,并且在门里相互作用而产生输出。但是,我们此处用的门不是AND, OR, NOT等,而是二元门,如+,*,max等。不同于普通布林电路,我们这里的电路上,还会有梯度信息流动在相同的边上,但是和实数数值的流动方向是相反。下面我们从最简单的开...

2018-05-17 20:38:16 307

原创 图像处理之平滑与模糊

参考链接:https://docs.opencv.org/3.2.0/d4/d13/tutorial_py_filtering.html学习目标:1. 使用不同的低通滤波器模糊图像;2. 对图像使用定制化滤波器;  2D卷积低通滤波器用于去除噪音信息,模糊图像,高通滤波器用于寻找图像中的边缘信息。 Opencv提供的接口函数cv2.filter2D()来对图像做卷积。我们定义一个5x5的均值滤波器...

2018-05-15 14:09:16 3342

翻译 程序员视角学神经网络——开篇

Hacker's guide to Neural Networks原文链接:http://karpathy.github.io/neuralnets/        写这篇文章时,作者是斯坦福的计算机博士,师从李飞飞。深度学习作为作者研究的一个主题,已经有几年时间,这篇文章从最基本的原理讲起,非专业人员阅读后,应该对神经网络会有原理性的认知。        我个人对于神经网络的经验是,当我开始忽略...

2018-05-14 13:08:18 262

原创 【FFMPEG】AVFrame中buffer分配的两种方式

AVFrame在使用ffmpeg进行编解码过程中,是最基本的数据结构。在某些场景下,需要对AVFrame的数据区域进行提前分配,有两种方法,需要根据自己的需求来使用。(1) * This function will fill AVFrame.data and AVFrame.buf arrays and, if * necessary, allocate and fill AVFrame.exte...

2018-04-19 21:18:37 8999 2

原创 【ffmpeg】codec的使用问题

  从avcodec_decode_video2()中解码出来,得到的数据放在结构体 AVFrame中,根据截取需要,满足截取条件时,将上述的frame调用编码接口:avcodec_encode_video2,进行编码(注:在此过程中,我们对pts进行重置操作), 编码可以顺利完成,但是有警告信息出现,类似如下(我们底层用的编码器是264):    [libx264 @ 0x34b88a0] sp...

2018-04-03 11:03:47 2824 1

原创 博客开通

今天开通博客了。

2018-03-31 20:58:18 193

空空如也

空空如也

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

TA关注的人

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