自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

archimekai的博客

从小白到高手的成长之路 (好吧,现在我还是只小白~~)

  • 博客(58)
  • 资源 (3)
  • 收藏
  • 关注

原创 Google Dremel和parquet的复杂嵌套数据结构表征方法解析

转载请注明出处。作者:archimekai核心参考文献: Dremel: Interactive Analysis of Web-Scale Datasets。

2024-03-04 00:00:38 907 1

原创 为什么postgresql中的字符串排序结果会不一样

转载请注明出处,作者:https://blog.csdn.net/archimekai/

2024-02-25 14:24:27 540

原创 RocksDB是如何实现存算分离的

单机的磁盘(存储能力)和CPU(计算能力)的配比常常不均衡,有时计算能力会有富裕,有时存储能力会有富裕。积少成多就会导致存储空间或计算能力的浪费。如果能把磁盘放在一个池子里,就能减少要预留的空间(100个服务,各预留1TB,vs 100个服务,总共预留10TB),避免空间浪费。对zookeeper或etcd,paxos或raft有一定了解的读者能发现,这一问题是经典的分布式共识问题。要达成共识的对象是当前哪个进程能够修改数据。该技术类似于一种基于单调递增时间戳的分布式锁。

2024-01-31 22:31:24 916

原创 DB之家:数据库开发工程师的衣柜(云原生时代数据库性能优化点子集合)

减少布隆过滤器所需要的内存。参考文献:Mun, J. H., Zhu, Z., Raman, A., & Athanassoulis, M. (n.d.). LSM-Trees Under (Memory) Pressure.

2024-01-31 20:40:50 217

原创 初探Spark SQL catalog缓存机制

进一步对Spark SQL的报错进行分析,可见报错点是在org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD.compute(JDBCRDD.scala:320)。从代码中可见,Spark直接使用catalog中缓存的表结构拼接SQL语句下发,直到SQL语句真正被pg执行时,才识别到c1这一列已经不存在的错误。先说结论:Spark SQL catalog中对表结构的缓存一般不会自动更新。

2024-01-10 21:22:36 523

原创 postgresql vacuum流程分析

VACUUM是postgresql MVCC机制不可分割的组成部分。postgresql在管理同一个元组的多个版本时,采取在堆表页面上从老版本到新版本放置元组的方法,每个元组都记录了xmax和xmin用于判断其可见性。这样的好处是(1)在索引键没有更新时,btree始终指向最老的元组,更新非索引键的数据无需更新btree中的指针(2)回滚的事务时无需专门进行undo(对比MySQL有专门的回滚段,如果发生了事务回滚时需要从回滚段中把上个版本的数据还原出来的)。

2023-12-23 21:55:35 1035

原创 postgresql heap_update流程分析

postgresql heap_update流程分析。

2023-12-16 19:31:49 362

原创 分布式数据密集型系统设计哲学

系统是有内涵和外延,有边界的。当关键需求的变化超过边界,系统现有的架构也就无法支持了。产品经理的需求变化如果超过了一定的度,就要求软件系统发生质变才能支撑。为了方便团队统一认识,达成一致,尝试从哲学层面总结一些大家都认同的系统设计哲学。关键需求决定关键架构,关键需求不明确,架构也就定不下来。奥卡姆剃刀原理:如无必要,毋增实体。

2023-05-25 20:32:22 103

原创 跨语言环境如何高效开会

免得说了半天发现说的不是同一件事。语言表达欠佳的,加个翻译(否则互相听不懂)所有的人都按金字塔原理来说话,先说结论。提问完一个问题,再提另一个问题。别着急,让每个人把话说完。

2023-05-11 09:54:47 102

原创 两阶段提交(two phase commit,2PC)故障恢复原理分析

很多分布式方面的书籍和网络上的很多博客都有关于两阶段提交的介绍。但是遗憾的是,大部分文章只介绍了两阶段提交在正常状况下的处理流程,并未介绍出现故障时,两阶段提交如何进行故障恢复,确保事务的正确性。这就好像上了一道宫爆鸡丁,只是把其中的花生吃掉了,但是没有吃鸡丁,让读者读后无法掌握两阶段提交的精髓。基于此,笔者试图较为完整地介绍基本的两阶段提交协议,特别是介绍其日志机制,以及两阶段提交协议在面对进程重启(Failure,F)和网络超时(Timeout, T)这两种典型故障时是如何进行故障恢复的,以飨读者。

2023-03-19 23:47:41 346

原创 腾讯高性能图计算框架Plato代码阅读(二) 图加载

腾讯高性能图计算框架Plato代码阅读(二) 图加载在pagerank计算逻辑中,图加载和图切分是通过如下调用完成的: // init graph plato::graph_info_t graph_info(FLAGS_is_directed); auto pdcsc = plato::create_dcsc_seqs_from_path<plato::empty_t>( &graph_info, FLAGS_input, plato::edge_format_t

2022-01-29 02:05:05 1065

原创 腾讯高性能图计算框架Plato代码阅读(一) 进程启动及环境初始化

腾讯高性能图计算框架Plato代码阅读(一) 进程启动及环境初始化archimekai [email protected]引言Plato是腾讯开源的高性能分布式图计算框架。Plato吸收了Gemini和KnightKing两个学术界系统的优秀思想,常见算法的执行性能可以比Spark GraphX快一到两个数量级,同时内存消耗比Spark GraphX降低一到两个数量级。接下来我同大家一起阅读plato源代码,学习其中的设计方法和编程技巧。进程启动及环境初始化进程启动命令进程启动命令在 run

2022-01-24 23:45:50 2332 1

原创 深度学习模型调优建议

深度学习模型调优建议数据、算法、超参等领域的常用调优建议。数据优化data.01 确保各个分类中的样本数目相近当数据集中各分类的样本数目不均衡时,需要进行调整以使每个分类对训练有程度相近的影响。可以考虑以下方法:基于数据重采样的方法:对样本数较少的类过采样对样本数目较多的类欠采样混用上面两种方案。通过上述重采样,使得训练过程中每个类出现的样本数相对均衡。需要注意的是,过采样有过拟合的风险(Cao et al., 2019)。基于代价的方法:loss函数不变,根据每个类中的样本数目

2021-11-04 17:06:04 1452 1

原创 Ray和hoplite 强化学习、基于任务的分布式系统、容错高性能的集合通信

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​...

2021-10-20 19:54:40 188

原创 深度学习框架与动态shape

动起来更快?从Nimble和DISC看深度学习框架与动态shape•2021年9月25日 [email protected]•什么是动态shape/动态模型•静态模型:每个算子的输入输出shape均在图执行前已知。•编译期就知道形状,并且执行期保持不变•张量内存预先分配•动态模型:包括控制流、动态数据结构(例如tree-structured long short-term memory)、动态形状的模型•张量形状、内存不能预先知道••使用动态图的主要领域•自然语言处

2021-09-26 10:58:48 2203

原创 团队管理思考

团队能力建设要能长久保持一个方向的投入,才能积淀下足够的技术深度,才能更好面对将来的问题。如果总是更换团队的技术方向,则有以下坏处:团队技术方向和成员职业规划不一致,导致团队不稳定,失去成员,甚至失去核心成员。团队在新技术方向上缺乏积累,短期内难以有较大的成功(除非能补充到新方向的专家)团队在新技术方向上缺乏积累,需要大家花大量时间学习掌握新领域,导致团队在一段时间内产出下降,或者需要靠加班来弥补进度、经验、技术上的不足。成员梯队建设.........

2021-09-19 12:30:48 166

转载 常用深度学习模型调优方法

常用调优建议 数据优化 确保各个分类中的样本数目相近 获取更多数据 归一化数据 对数据做变换以使数据服从均匀分布 算法优化 参考领域中的已有工作 优化模型中每一层的大小 模型层数的选择和优化 权重初始值的选择和优化 激活函数的选择和优化 优化器的选择和优化 早停法 超参优化 学习率的选择和优化 batch size的选择和优化 学习率和batch size的联合优化 动量值的选择和优化 权重衰减参

2021-09-03 12:33:10 4788

转载 精度调优checklist

常见数据集问题 ds.01 数据集中缺失值过多 ds.02 数据的标签错误 ds.03 数据集每个类别的样本数目不均衡或部分类别训练样本不足 ds.04 训练环境上的数据集同标准数据集不同 常见数据处理算法问题 dp.01 未对数据进行归一化或标准化 dp.02 推理时数据处理方式和训练集不一致 dp.03 训练时没有对数据集进行混洗 dp.04 涉及到数据补齐时,补齐方式错误 dp.05 并行训练时多节点分片方式错误 常见超参问题 hp.01 学习率过大或过小

2021-09-03 12:29:33 194

转载 MindSpore模型精度调优实战(三)常见精度问题简介

本文转载至https://bbs.huaweicloud.com/forum/thread-119271-1-1.htmlMindSpore模型精度调优实战(三):常见精度问题简介MindSpore团队引子:在模型的开发过程中,精度达不到预期常常让人头疼。为了帮助用户解决模型调试调优的问题,我们为MindSpore量身定做了可视化调试调优组件:MindInsight。我们还梳理了针对常见精度问题的调试调优指南,将以“MindSpore模型精度调优实战”系列文章的形式分享...

2021-04-07 15:55:45 971

原创 deep speed 超大深度学习语言模型训练技术

2021-03-07 16:09:35 463

转载 对于一个准确率不高的神经网络模型,应该从哪些方面去优化?

本文转载自https://zhuanlan.zhihu.com/p/353715732模型准确率不高的常见原因模型的准确率不高,模型的metrics达不到预期,常见的原因有以下几方面:1、数据集问题数据集中缺失值过多 数据集每个类别的样本数目不均衡 数据集中存在异常值 数据集中的数据对预测结果帮助不大(例如使用年龄预测性别)2、数据处理算法设计和实现问题数据处理参数有误 未对数据进行归一化 特征提取算法(如果使用了)存在错误 train和validation数据处理方式不.

2021-03-02 14:35:01 8074

转载 有没有什么可以节省大量时间的 Deep Learning 效率神器?

在Deep Learning的过程中,处处都有挑战: 训练过程难以观察、多次实验管理分析手段原始效率低、人肉调参费时费力、精度性能问题难定位等。推荐使用MindSpore生态下的可视化调试调优工具——MindInsight,MindInsight中集成了精度调优、性能调优、脚本迁移等功能,帮助你高效管理实验,快速定位问题。⦁ 方便地观察训练过程,高效对实验进行记录和分析在MindSpore中训练,只需要修改几行代码即可使用SummaryCollector轻松观察训练过程,管理分析多次实验...

2021-02-28 10:51:28 273

转载 MindSpore模型精度调优实战(二)精度调试调优思路

转载自 华为云论坛https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=106624MindSpore模型精度调优实战(二)精度调试调优思路MindSpore团队引子:在模型的开发过程中,精度达不到预期常常让人头疼。为了帮助用户解决模型调试调优的问题,我们为MindSpore量身定做了可视化调试调优组件:MindInsight。我们还梳理了针对常见精度问题的调试调优指南,将以“MindSpore模型...

2021-02-21 16:49:02 822

转载 MindSpore模型精度调优实战(一)精度问题的常见现象、原因和简要调优思路

转自 华为云论坛https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=102750MindSpore模型精度调优实战(一)精度问题的常见现象、原因和简要调优思路MindSpore团队引子:在模型的开发过程中,精度达不到预期常常让人头疼。为了帮助用户解决模型调试调优的问题,我们为MindSpore量身定做了可视化调试调优组件:MindInsight。我们还梳理了针对常见精度问题的调试调优指南,将以“M...

2021-02-21 16:47:17 952

原创 numpy中如何判断数组类型(dtype)是否为数字

numpy中如何判断数组类型(dtype)是否为数字使用np.issubdtype()可以判断类型继承关系,结合numpy中的类型继承关系图,可以轻松写出判断函数:import numpy as npdef is_simple_numpy_number(dtype): if np.issubdtype(dtype, np.integer): return True if np.issubdtype(dtype, np.floating): ret

2020-07-07 19:28:31 5798

原创 python 同0(zero)比较的写法

python 同0(zero)比较的写法author: archimekai在PEP8中,规定了一些情况的比较写法,比如和True和False比较的写法,判断列表是否为空的写法。但是,PEP8没有明确说明和0比较时,如何书写。目前来看,判断变量是否为0,有两种写法:写法一: if x == 0最直接的写法。而且符合PEP20中的explicit is better than implicit原则。写法二: if not x这种写法利用了python中,0.__bool__() 为 False的

2020-06-30 12:10:15 1224

原创 HTTP (RESTful) API 响应时间分析及SLA定义

HTTP (RESTful) API 响应时间分析及SLA定义author: archimekaiHTTP API时间过程分解TODO 各时间阶段分析浏览器接受请求数据如果浏览器边接收请求数据边处理,浏览器对请求数据的处理速度可能会影响浏览器接收请求数据的速度。HTTP API响应时间定义从浏览器 和 服务器的角度,可以给出响应时间的不同定义。浏览器角度的HTTP API响应时间SLA定义站在浏览器的角度,从开始发送请求数据的时刻开始计算响应时间,到浏览器响应数据接收完毕的时刻为止。其

2020-06-30 12:08:33 2033

原创 训练集、验证集、测试集

训练集、验证集、测试集训练集 train set用于训练模型的数据样本,通过训练数据调整模型中的参数类似于学生的课本验证集 validation set用于在模型训练过程中,对基于训练集训练的模型效果进行评估,可以用来调整模型的超参,算法等。类似于学生的作业,通过作业可以掌握学生的学习情况,并指导学生调整学习方法。测试集 test set用来评估模型的最终训练结果,不能用作超参、算法等的条有依据。类似于高考,考的题学生从未见过,最终认定学生(模型)的能力。...

2020-05-12 22:03:16 469

原创 在 linux ubuntu 18.04 上运行QQ音乐

在 linux ubuntu 18.04 上运行QQ音乐我使用的组合为 ubuntu 18.04 + wine-stable 3.6 + QQ音乐17.63,未在其它平台做过尝试。一直想在ubuntu上好好听音乐,由于我的歌单都在QQ音乐中,就很想能在ubuntu上用QQ音乐。虚拟机方案 – 放弃一开始尝试安装oracle vm virtual box + win 10 虚拟机,在虚拟机中...

2020-05-04 20:43:44 13504 8

原创 自己训练BERT网络

自己训练BERT本文使用google提供的BERT脚本进行训练,并在TensorBoard中观察BERT的计算图。bert地址:https://github.com/google-research/bertclone这个git repogit clone https://github.com/google-research/bert下载BERT预训练模型,里面有vocab.txt文件,...

2020-05-02 19:50:59 3273 1

原创 将Ubuntu配置为生产力工具

将Ubuntu配置为生产力工具本人最近开始使用Ubuntu作为开发主力编写代码,经过一段时间的尝试,发现Ubuntu基本能够满足生产力机器的需求。下面讲本人的配置/软件分享给大家:操作系统使用的操作系统为Ubuntu 18.04 LTS 中文版。 使用中文版的原因是,将来写汉字比较方便。安装的时候按默认配置一路安装即可。基础软件浏览器:系统自带的firefox即可,速度很快。当然也可以...

2020-04-25 12:26:02 812

原创 numpy中如何判断一个值是否为masked

numpy中如何判断一个值是否为masked?标签: numpy MaskedArray判断方法:myval is numpy.ma.masked使用等号(==)是不能判断的。masked是一个特殊的常量,定义在numpy的core.py中:masked = masked_singleton = MaskedConstant()class MaskedConstant(Maske...

2020-04-13 20:04:40 2561

转载 解决ubuntu18.04不发出声音、显示伪输出(dummy output)的问题

解决ubuntu18.04不发出声音、显示伪输出(dummy output)的问题以root权限编辑/etc/modprobe.d/alsa-base.conf文件,加入这一行options snd-hda-intel dmic_detect=0参考代码echo “options snd-hda-intel dmic_detect=0” | sudo tee -a /etc/modprobe...

2020-04-11 10:43:24 4645 1

原创 AES与SM4实现原理的比较

AES与SM4实现原理的比较基本比较三种算法的基本比较如下表: 算法名称 密钥长度 分组长度 循环次数 算法结构 AES 128 128/192/256 10/12/14 Substitution-Permutation SM4 128 128 32 非平衡Feistel每轮操作的比较在安全性设计方面,AES每轮的操作包括(1)使用S盒完成

2016-11-09 09:14:06 22598 4

原创 SM4国密算法实现分析

SM4国密算法实现分析代码下载请见 上一篇文章 AES算法实现分析SM4的说明(pdf):http://download.csdn.net/detail/leechiyang/5008528算法调用参数该算法需要一个结构体 sm4_context ctx 来保存上下文信息,即加密模式和各轮子密钥。该结构体定义如下:typedef struct{ int mode;

2016-11-09 09:12:49 31619 6

原创 AES算法实现分析

AES算法实现分析(代码阅读)

2016-11-09 09:06:48 6200

原创 Ubuntu 16.04 安装搜狗拼音输入法

首先从http://pinyin.sogou.com/linux/ 下载搜狗拼音的deb包。下载之后双击打开并安装。注意安装之后可能不会立即看到输入法,这是因为所选的输入法框架不对,要在系统设置-》语言设置 中的 键盘输入系统项 确认,看其是否为fcitx,如果不是,需要改为fcitx,然后就可以看到搜狗输入法了。

2016-11-01 17:27:32 815

原创 DES加密的C++实现(带每轮加密的中间结果)

DES加密的C++实现(带每轮加密的中间结果)

2016-10-27 12:16:40 3404

原创 webstorm in place部署时出现拒绝连接的解决办法

注意在进行in place部署时,需要自己搭建好服务器,提供文件服务。所以,可以在本机上建好wamp,设置目录为自己的工程文件夹,这样就能正常访问了。

2016-10-04 15:51:26 2365

原创 Java中装箱时的缓存

有一类java笔试题是考察对于装箱缓存的理解,这方面,Java Language Specification(8)中是这样描述的: If the value p being boxed is an integer literal of type int between -128 and 127 inclusive (§3.10.1), or the boolean literal true or

2016-09-27 22:10:53 397

2021年9月25日 深度学习框架与动态shape v3.1 archimekai.pptx

文本内容请见: https://blog.csdn.net/archimekai/article/details/120484274

2021-09-26

java api 文档 jdk9

java api 文档。 A a - Variable in class java.awt.AWTEventMulticaster A variable in the event chain (listener-a) A - Static variable in class java.awt.PageAttributes.MediaType The MediaType instance for Engineering A, 8 1/2 x 11 in. A - Static variable in class javax.print.attribute.standard.MediaSize.Engineering Specifies the engineering A size, 8.5 inch by 11 inch. A - Static variable in class javax.print.attribute.standard.MediaSizeName A size . A - Static variable in class javax.swing.text.html.HTML.Tag Tag <a> A0 - Static variable in class java.awt.PageAttributes.MediaType An alias for ISO_A0. A0 - Static variable in class javax.print.attribute.standard.MediaSize.ISO Specifies the ISO A0 size, 841 mm by 1189 mm. A1 - Static variable in class java.awt.PageAttributes.MediaType An alias for ISO_A1. A1 - Static variable in class javax.print.attribute.standard.MediaSize.ISO Specifies the ISO A1 size, 594 mm by 841 mm. A10 - Static variable in class java.awt.PageAttributes.MediaType An alias for ISO_A10. A10 - Static variable in class javax.print.attribute.standard.MediaSize.ISO

2020-04-16

SM4及AES算法实现

来自信息安全引论课程资料,侵删。

2016-11-09

空空如也

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

TA关注的人

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