自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (10)
  • 收藏
  • 关注

原创 深度学习最全优化方法总结比较及在tensorflow实现

梯度下降算法针对凸优化问题原则上是可以收敛到全局最优的,因为此时只有唯一的局部最优点。而实际上深度学习模型是一个复杂的非线性结构,一般属于非凸问题,这意味着存在很多局部最优点(鞍点),采用梯度下降算法可能会陷入局部最优,这应该是最头疼的问题。这点和进化算法如遗传算法很类似,都无法保证收敛到全局最优。因此,我们注定在这个问题上成为“高级炼丹师”。可以看到,梯度下降算法中一个重要的参数是学习速率,适当...

2018-08-19 13:32:19 8708

原创 词向量—Word2Vec入门及Gensim实践

在机器学习领域,语音识别和图像识别都比较容易做到。语音识别的输入数据可以是音频频谱序列向量所构成的matrix,图像识别的输入数据是像素点向量构成的矩阵。但是文本是一种抽象的非结构化的数据,显然不能直接把文本数据喂给机器当做输入,因此这里就需要对文本数据进行处理。Word2vec是google在2013年推出的一个词向量实现工具(注意,不是词向量模型),它的特点是将所有的词向量化,这样词与词之...

2018-08-08 18:10:57 5632

原创 移动端深度框架 TensorFlow Lite 、小米MACE和 支付宝xNN 比较

一直以来,随着深度学习的快速发展,复杂而庞大的模型需要在计算力强大的计算设备上才可以展示其强大的能力,如GPU,深度学习运行在移动和嵌入式设备中,它赋予了这些设备在终端本地运行机器学习模型的能力,从而不再需要向云端服务器发送数据。这样一来,不但节省了网络流量、减少了时间开销,而且还充分帮助用户保护自己的隐私和敏感信息,而在没有强大计算机资源支持的情况下,怎样才能大规模部署深度学习算法成为可能。...

2018-07-01 18:02:46 4324 2

原创 变分自编码器(VAE)与生成对抗网络(GAN)在TensorFlow中实现

变分自编码器(VAE)与生成对抗网络(GAN)是复杂分布上无监督学习最具前景的两类方法。本文中,作者在 MNIST 上对这两类生成模型的性能进行了对比测试。本项目总结了使用变分自编码器(Variational Autoencode,VAE)和生成对抗网络(GAN)对给定数据分布进行建模,并且对比了这些模型的性能。你可能会问:我们已经有了数百万张图像,为什么还要从给定数据分布中生成图像呢?正如 Ia...

2018-06-24 11:24:59 12443

原创 【CVPR2018】DeepMind最新演讲:VAEs and GANs

导读:在CVPR2018会议上,DeepMInd科学家分享了结合GANs和VAEs各自优势的GAN hybrids模型,两者不仅可以提高VAE的采样质量和改善表示学习,另一方面也可提高GAN的稳定性和丰富度。参考:作者主页: http://elarosca.net...

2018-06-24 10:26:13 1264 1

原创 Word2vec 模型构建及可视化

文本本质上是一种非结构化的数据,无论过去还是现在,其在数学中的研究远远少于向量。历史上数学家牛顿是第一个在力学情境中研究向量的人。向量的概念已经存在了三个世纪,其科学性已非常成熟。而文本数据的数学探索这个概念只有几十年的历史。现在文本数据的数学思考应用尤其重要。数据的价值已被理解但是还未兑现。大部分商业相关信息最初都是非结构化形式,主要是文本。数据只有读取之后才可见,才能用于商业、教育、政府管理和...

2018-03-26 12:23:09 8074 1

原创 词向量算法—【AAAI2018】蚂蚁金服公开的基于笔画的中文词向量算法

词向量算法是自然语言处理领域的基础算法,在序列标注、问答系统和机器翻译等诸多任务中都发挥了重要作用。词向量算法最早由谷歌在2013年提出的word2vec,在接下来的几年里。该算法也经历了不断的改进,但大多数仅适用于拉丁字符构成的单词(英文、法语。。。。),结合中文语言特性的词向量研究相对较少。由于中文语言的博大精深,一字一词都蕴含这丰富的语义,在自然语言处理的相关任务中对于中文语料很难处理。惊喜...

2018-03-16 22:32:42 2017

原创 Milvus数据一致性介绍及选择方法

来保障读链路的一致性,如下图所示,在往消息队列插入数据时, Milvus 不光会为这些插入记录打上时间戳,还会不间断地插入同步时间戳,以图中同步时间戳 syncTs1 为例,当下游消费者(比如QueryNodes)看到 syncTs1,那么意味着 syncTs1 以前的 数据已经全部被消费了,换句话说,比 syncTs1 时间戳还小的插入记录不会再出现在消息队列中。反之,如果用户希望尽快得到搜索结果,对可用性有较高的要求,对查询精度有较高的 容忍程度,那么 GuaranteeTs 可以不必特别大。

2023-12-23 00:17:58 1307

原创 Milvus向量数据库基础用法及注意细节

现有一查询向量S、过滤条件E1和过滤条件E2(E1、E2均为列表),集合需要返回S与V相似度最高,且B包含于E1、C包含于E2的字符名称A。假设E1 = [1,2,3],E2 = [4,5,6],则对于同一条向量,需要做3 x 3 = 9次过滤。1、假设集合中有一字段A的数据类型为整型或浮点型,则可以。2、假设集合中有一字段A为任意数据类型,则可以。5、假设集合中有一字段A为json类型,则可以。3、假设集合中有一字段A为字符类型,则可以。4、假设集合中有一字段A为字符类型,则可以。数据量最小为1024。

2023-12-22 16:51:24 2018

原创 时间序列预测模型介绍及使用经验总结

时间序列预测模型,常用的机器学习模型主要包括以下3类:ARIMA,Prophet,LGB。①优点简单易行,可解释性强;数据量要求低;计算速度较快,可以对每个站在线拟合推理;②缺点仅支持单变量;准确率低;③适用场景:基于统计学方法,项目初期冷启动①优点简单易行,可解释性强;数据量要求低;加入先验知识(节假日);计算速度更快,可以对每个站在线拟合推理;②缺点仅支持单变量;无法特征工程;准确率较低;③适用场景:项目初期迭代①优点准确率较高;简单易行,可解释性强;

2023-12-22 11:08:57 1276

原创 大语言模型的三种主要架构 Decoder-Only、Encoder-Only、Encoder-Decoder

f基于 Transformer 模型以非灰色显示:decoder-only 模型在蓝色分支,encoder-only 模型在粉色分支,encoder-decoder 模型在绿色分支。模型在时间线上的垂直位置表示它们的发布日期。开源模型由实心方块表示,而闭源模型由空心方块表示。右下角的堆积条形图显示了各公司和机构的模型数量。从时间轴上,我们可以看到:2021年前,当 OpenAI 决定在,他们实际上是在逆流而上。

2023-12-22 09:09:41 4476 1

原创 RLHF介绍及实践测试

RLHF(Reinforcement Learning Hyperparameter Optimization Framework)是一种用于强化学习模型的超参数优化框架。使用generate_prompt_dataset.py对目标数据生成prompt数据(instructions)修改critic.load_state_dict(state_dict, strict=False)可解决;与lora微调的区别是:RLHF多了。:执行监督训练shell脚本。:执行奖励函数训练脚本。:执行LM微调训练脚本。

2023-12-21 17:18:25 935

原创 基于DeepSpeed对 llama2-7b的LORA精调

在调参实验中,我们先对ZeRO相关的所有参数做了一次实验,单次实验只改变一个实验参数,最后锁定了与zero_stage=3相关的三个参数以及参数reduce_bucket_size,针对这些参数进行了一系列调参实验。从表格中我们可以看到,对于llama2-7b模型,除zero_stage为0以外,单机单卡对该模型进行LORA精调支持的最大长度都为256,zero_stage为1或2时,单机双卡和双机四卡对llama2-7b模型进行LORA精调的最大长度都为512。较小的值使用较少的内存,但执行更多的通信。

2023-12-21 16:22:41 1891 1

原创 Megatron模型并行研究

在终端输入如下命令,其中output-prefix是数据预处理生成文件的前缀,在本文的例子中,数据预处理后生成的文件被命名为my-gpt2_text_document.bin和my-gpt2_text_document.idx。多机并行是在单机并行的基础上进行的,因此要运行多机并行的脚本文件,请先参考Megatron-LM模型并行研究的第2小节中的a,完成其中的操作,再配置接下来的部分。两个节点中运行脚本的唯一不同:A服务器作为主节点的NODE_RANK=0,83服务器作为副节点的NODE_RANK=1。

2023-12-21 15:58:24 919

原创 Triton + HF + Qwen 推理经验总结

开启use_cache_quantization和use_cache_kerne。2.1. docker部署。

2023-12-21 15:46:47 640

原创 vllm 加速推理通义千问Qwen经验总结

curl请求 curl http://localhost:8000/v1/completions \ -H "Content-Type: application/json" \ -d '{ "model": "Qwen/Qwen-14B-Chat-Int4-hf", "prompt": "San Francisco is a", "max_tokens": 7, "temperature": 0 }'解决方法:将序列中token按固定长度划分为多个块,并与系统内存进行映射,解决不连续填满问题。

2023-12-21 15:31:00 3966 3

原创 Redis 哨兵模式原理

1)哨兵模式原理①哨兵如何实现相互监督的功能哨兵通过发布订阅__sentinel__:hello channel来实现这个功能。每个哨兵每隔2s会向自己监控的所有主从Redis节点发送hello message,包括自己的IP、端口、运行ID、自己监控的Master节点IP、Master节点端口。 所有主从Redis节点也会反馈这样的信息②哨兵如何故障检测基于多数投票原则第一:某个哨兵节点判定master节点故障,他会投出一票S_DOWN(主观下线)第二:当有足够多的sentinel

2020-10-22 22:32:32 295

原创 分布式锁有三种实现方式

分布式锁有三种实现方式:1. 数据库乐观锁;利用数据版本 Version 记录机制实现:2. 基于Redis的分布式锁; SETNX,是「SET if Not eXists」的缩写,也就是只有不存在的时候才设置,可以利用它来实现锁的效果。缓存过期时,通过 SetNX 获取锁,如果成功了,那么更新缓存,删除锁,需要注意的是:如果请求执行因为某些原因意外退出了,导致创建了锁但是没有删除锁,那么这个锁将一直存在,以至于以后缓存再也得不到更新。于是乎我们需要给锁加一个过期时间以防...

2020-10-22 20:44:09 444

原创 Redis 缓存穿透+缓存击穿+缓存雪崩

Redis 缓存穿透+缓存击穿+缓存雪崩1.缓存穿透:缓存穿透是指读的请求在缓存redis中没有命中,需要从mysql数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。 1.2解决办法: 缓存空对象 当存储层不命中后,即使数据库返回的空对象也将其缓存起来,同时会设置一个过期时间,之后再访问这个数据将会从缓存中获取,依次保护了后端数据源。 ...

2020-10-22 20:25:04 366

原创 缓存与数据库数据不一致 解决方法

Redis缓存与数据库数据一致性不管是先写数据库,再删除Redis缓存;还是先删除缓存,再写库,都有可能出现数据不一致的情况:1.如果删除了缓存,还没有来得及写数据库,另一个线程就来读取,发现缓存为空,则去数据库中读取数据写入缓存,此时缓存中为脏数据。 2.如果先写了库,在删除缓存前,写库的线程宕机了,没有删除掉缓存,则也会出现数据不一致情况。1.第一种方案:延时双删策略+缓存超时设置在写库前后都进行删除缓存操作(redis.del(key)),并且设定合理的缓存过期时间。具体的步骤就是:.

2020-10-22 17:41:23 1145

原创 Redis 淘汰删除策略

Redis 淘汰删除策略目前,Redis采用的是惰性删除+定期删除的方案1. 定时删除在设置键过期时间的同时,创建一个定时器,让定时器在键的过期时间来临时,立即执行对键的删除操作; 1.1 定时删除优劣定时删除操作对于内存来说是友好的,内存不需要操作,而是通过使用定时器,可以保证尽快的将过期键删除; 对于CPU来说不是友好的,如果过期键比较多的话,起的定时器也会比较多,删除的这个操作会占用到CPU的资源;2. 惰性删除当key被操作时(如get,set)时,Redis 会被动..

2020-10-22 11:25:14 205

原创 MySQL 主从同步机制 undo log redo log和bin log的区别

1. 二进制日志 bin log 1.1 bin log的功能 MySQL为了兼容其它非事务引擎的复制,在server层面引入了 binlog, 它可以记录所有引擎中的修改操作。binlog是记录所有数据库表结构变更(例如CREATE、ALTER TABLE…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。 binlog不会记录SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改,但可以通过查询通用日志来查看MySQL执行过的所有语句。...

2020-10-21 11:05:16 1043

原创 消息队列消息丢失的原因及解决办法 RabbitMQ 和 Kafka

1. MQ一条消息的生产和消费过程 消息的丢失可能发生在Producer、Broker、Consumer 的任一阶段;2. RabbitMQ 2.1 生产者丢失数据原因 生产者将数据发送到 RabbitMQ 的时候,消息可能因为网络等问题在传入过程中给搞丢了。 2.1.1生产者端解决方法开启 RabbitMQ 事务 使用用 RabbitMQ 提供的事务功能,就是生产者发送数据之前开启 RabbitMQ 事务channel.tx...

2020-10-19 09:52:26 5952 1

原创 消息队列消息持续积压 与 消息队列满解决方法

1. 消息队列消息持续积压 与消息队列满出现原因系统的某个部分出现了性能问题,来不及处理上游发送的消息,才会导致消息积压消息队列消息持续积压 与消息队列满出现原因 可以从生产者端与消费者端两个方面去思考,要么是发送变快,要么是消费变慢:Producer 端单位时间发送的消息增多,Consumer 端短时间内来不及消费; Producer 端单位时间发送的消息正常,Consumer 端因消费线程低效不能及时消费2. 如何优化MQ性能避免消息积压 消息队列的性能优化,需要优化...

2020-10-18 11:08:19 4494 2

原创 Kafka 心跳机制 重复消费

kafka 心跳机制Kafka是通过心跳机制来控制消费超时,心跳机制对于消费者客户端来说是无感的,它是一个异步线程,当我们启动一个消费者实例时,心跳线程就开始工作了。心跳超时会导致消息重复消费。在org.apache.kafka.clients.consumer.internals.AbstractCoordinator中会启动一个HeartbeatThread线程来定时发送心跳和检测消费者的状态。每个消费者都有个org.apache.kafka.clients.consumer.internals

2020-10-18 00:03:03 2434 1

原创 Kafka消费者负载均衡策略 消费者再平衡 consumer rebalance 心跳机制

消费者负载均衡策略一、消费者平衡过程(consumer rebalance) 1. 消费者平衡过程 消费者平衡过程是指 消费者重新加入消费组,并且重新分配分区Partition给消费者的过程。 2. 会引起消费者平衡的情况新的消费者加入消费组 某个消费者从消费组中退出(异常或正常) 增加订阅主题的分区(kafka的分区数,可以动态的增加,但不能减少) 某台broker宕机,新的协调器ZK当选 某个消费者在心跳会话时间内没有发送心跳请求(配置参数:...

2020-10-17 21:38:30 3686

原创 kafka 如何解决消息队列重复消费

1、消息重复消费场景kafka实际上有个offset的概念,就是每个消息写进去,都有一个offset,代表他的序号,然后consumer消费了数据之后,每隔一段时间,会把自己消费过的消息的offset提交一下,代表已经消费过了,下次消费时,会继续从上次消费到的最后一次offset来继续消费。但是凡事总有意外,比如我们之前生产经常遇到的,就是你有时候重启系统,看你怎么重启了,如果碰到点着急的,直接kill进程了,再重启。这会导致consumer有些消息处理了,但是没来得及提交offset。重启之后,少数消

2020-10-17 20:47:19 5124

原创 Linux操作系统的权限管理

Linux操作系统是一个多用户操作系统,这样就存在资源共享与隔离的问题。也就是说用户1的资源不愿意让用户2访问,用户3的资源与用户4的资源可以共享;同时,又存在超级用户(Root)访问所有用户资源的可能性。因此在Linux操作系统下就需要一套权限管理的功能。1. 基于用户角色的自主访问管理机制 Linux原生的权限管理机制是基于用户角色的管理机制,也就是UGO+RWX/ACL权限控制。UGO是User、Group和Other的简称;RWX则是Read、Write和Execute的简称;...

2020-10-17 15:54:31 648

原创 HTTP协议基础

1. HTTP 定义 HTTP(Hyper Text Transfer Protocol, 超文本传输协议),HTTP 是一个在计算机世界里专门在两点之间传输超文本(文字、图片、音频、视频等)等数据的约定和规范。HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义了图片、视频等的链接,再经过浏览器的解释,呈现给我们的就是一个文字、有画面的网页了。2.HTTP 是一个无状态协议无状态的优势:因为服务器不需要额外的资源来记录状态HTTP 的状态信息,可减轻服务器的负担,能..

2020-10-17 15:06:17 303

原创 count(*) 和 count(1)和count(字段)区别

执行效果上看: count(*) 包括了所有的列,相当于行数,在统计结果的时候,不会忽略字段值为NULL的列 ; count(1) 包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略字段值为NULL的列 ; count(列名) 只包括列名那一列,在统计结果的时候,会忽略字段值为值为NULL的列(这里的空不是指 空字符串“” 或者 0,而是表示null)的计数,即某个字段值为NULL时,不统计。执行效率上看: 列名为主键,count(列名)会比count(1)快 且 sel...

2020-10-13 08:55:18 932

原创 关于 HTTP GET/POST 请求参数长度最大值的理解误区

HTTP协议规范从未有对URL长度进行任何限制,也没有对GET/POST的参数值数据长度有限制。这个限制是特定的浏览器及服务器对它的限制。常见浏览器对URL的最大限制:Microsoft Internet Explorer (Browser) IE浏览器对URL的最大限制为2083个字符,如果超过这个数字,提交按钮没有任何反应。 2. Firefox (Browser) 对于Firefox浏览器URL的长度限制为65,536个字符。 3. S...

2020-10-10 20:25:28 6720

原创 为什么Kafka性能强于RabbitMQ

一、Kafka VS RabbitMQ 检验一款消息队列的核心性能指标是 系统吞吐量 和系统延迟 。吞吐量测试测量队列在硬件(特别是磁盘和 CPU)使用方面的效率。 延迟测试测量每个系统传递实时消息的差别,这是实时任务关键型应用程序以及微服务架构的核心要求。结论:吞吐量:Kafka 在三个系统中的吞吐量最高,是 RabbitMQ 的 15 倍,Pulsar 的 2 倍。系统延迟:Kafka 在较高的吞吐量下提供了最低的延迟,同时还提供了强大的持久性和高可用性。Rabbit...

2020-10-08 15:40:51 2153 1

原创 CAS下ABA问题及优化方案

CAS下ABA问题及优化方案一、什么是CAS二、什么是ABA问题三、解决方法1. 表结构加字段解决版本号: Version(更新数据时通过对比原始版本号,如果一致则更新,同时版本号version+1) 更新时间:update_time: update_time datetime default CURRENT_TIMESTAMP not null on update CURRENT_TIMESTAMP2. 优化锁粒度防止因乐观锁,导致并发失败次数较多,引起用户体验不好,需要.

2020-10-08 11:09:57 231 1

原创 安装Tensorflow优化cpu:AVX AVX2

几乎在所有情况下,当你使用通过 pip 安装的软件包时,会收到如下警告:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX AVX2。如果看到这类信息,最好卸载 TensorFlow,再根据你需要的选项通过 bazel 重新编译它。这样做的主要好处是可以提升计算速...

2019-03-24 15:43:24 3464

原创 Windows安装fastTest和skift 出现 ModuleNotFoundError: No module named 'fastText'

skift:scickit-learn Python fastText的包装器。安装 skift 后,在训练模型时出现:No module named 'fastText' 注意:安装skift本身不会安装fasttext,因为PyPI目前尚未保留官方Python绑定。因此安装skift之前需要安装一下依赖包:numpy的 SciPy的 scikit学习 fastTe...

2018-10-18 20:41:27 5473

原创 社交网络分析工具NetworkX和Gephi

 Gephi中文教程Networkx参考手册

2018-10-14 15:45:13 4758

原创 机器学习中,有哪些特征选择的工程方法?

特征选择是特征工程中的重要问题(另一个重要的问题是特征提取),坊间常说:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程尤其是特征选择在机器学习中占有相当重要的地位。机器学习做得好不好,被数据和模型共同影响,比如说,数据本身不可分,那么SVM等分类算法再牛逼,也不能完全正确分开。数据集本身是有内在特性的,数据集本身的特征决定了机器学习的上限。所以,一个机器学习算...

2018-10-12 18:21:10 576

原创 计算广告CTR预估的特征处理方法

 1.CTR预估,发现CTR预估一般都是用LR,而且特征都是离散的。为什么一定要用离散特征呢?这样做的好处在哪里?A:在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势有以下几点:离散特征的增加和减少都很容易,易于模型的快速迭代。(离散特征的增加和减少,模型也不需要调整,重新训练是必须的,相比贝叶斯推断方法或者树模...

2018-10-12 16:34:06 2717

原创 清华邓俊辉教授 数据结构&算法 课程内容

2018-10-11 09:57:27 2770

原创 Python按单词或者字符翻转字符串

python字符串处理学习中,有一道简单但很经典的题目,按照单词对字符串进行反转,并对原始空格进行保留: 如:‘ I love python! ‘ 转化为:‘ python! love I ‘ 两种解决方案: 方法1:从前往后对字符串进行遍历,如果第一个就是空格,直接跳过,直到第一个不是空格的字符,如果是单独的字母,同样跳过,否则的话,将该单词进行反转,再往后遍历,最后使用reserve方...

2018-09-20 18:09:18 2006

MSP430G2系列单片机原理与实践教程

MSP430G2系列单片机原理与实践教程

2014-05-13

全国计算机等级考试上机考试与题库解析二级C

全国计算机等级考试上机考试与题库解析二级C 里面有大纲那内容 模拟软件 题库

2014-05-13

HC-SR04超声波测距资料

HC-SR04超声波测距资料 有详细的例子程序

2014-05-13

LCD12864说明书+例子程序

LCD12864说明书+例子程序 很全面的

2014-05-13

STM32固件库使用手册的中文翻译版

STM32固件库使用手册的中文翻译版 很适合ARM开发者 初始使用

2013-10-19

HY-SRF05超声波系列模块

内有HY-SRF05超声波模块的详细资料 :硬件电路图,相关开发源代码 很详细的

2013-08-12

单片机上用ADC0809_芯片进行信息采集处理

单片机上用ADC0809_芯片进行信息采集处理 内有常用的一些 芯片资源 还有有关的一些源代码

2013-08-12

单片机上用ADc808芯片进行信息采集处理

内容很全的 内有 AD系列 内部资源 以及一些常用代码

2013-08-12

智能循迹小车

智能循迹小车 可以通过红外对管实现循迹

2013-05-30

05-温湿度传感器DHT11.rar

05-温湿度传感器DHT11 通过单片机控制可以采集温湿度 并显示出来

2013-05-30

空空如也

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

TA关注的人

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