自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python 中的 TLS 以及 ContextVar

Thread Local StorageContextVar

2023-08-08 15:22:13 222

原创 浅析LSM Tree

LSM Tree的优点是支持高吞吐的写操作,复杂度为O(1),而读操作的复杂度是O(N),在使用索引或者缓存优化后的也可以达到O(logN),适用于写多读少的场景。但是为了实现高吞吐的写操作,需要进行频繁的Compaction,消耗CPU和磁盘IO,需要禁用并定期执行Compaction的操作来规避。B+tree的优点是支持高效稳定的读操作,O(logN),写操作的效率同样为O(LogN),适用于写少读多或写读平衡。如果SSTable的分层较多,在最坏的情况下要遍历所有的层,针对这种情况我们需要进行优化。

2023-07-14 16:23:04 207

原创 Towhee开发中的JIT相关知识整理(Numba&TorchDynamo&Nebullvm)

TorchDynamo针对PyTorch操作进行优化,工作在字节码执行之前,对字节码进行改写,将其中的PyTorch操作提取出来形成一个FX Graph,这个FX Graph会由不同的编译后段进行JIT的编译和调优。Nebullvm将深度学习模型进行优化,测试不同优化技术,包括选择不同的编译后端,量化,蒸馏等,确定不同模型在特定硬件上的最佳方式,实现2-30倍的提速。(注意GIL锁是CPython解释器而非Python特性)

2023-07-12 18:36:51 215

原创 Towhee开发中的列式存储

整理一下在Towhee开发过程中曾经遇到过的一些列式存储相关的工作。

2023-07-10 15:30:12 153

原创 宿主机访问容器映射的端口时报错:Connection reset by peer

在打包GPTCache的docker镜像的时候踩到的一个坑。, 需要在起server的时候指定host为。

2023-05-09 10:58:41 665

原创 Credit Card Approval Predict w/ Towhee

信用卡预测

2022-07-07 14:34:31 510

原创 理解python中的iterator,generator以及yield

理解python中的iterator,generator以及yieldIterablesIteratorGeneratorYieldIterablespython中可以对其内部进行遍历的类型都是iterable。从源码解读,任何一个包含返回值为迭代器(iterator)的__iter__方法的对象,和包含支持下标检索的__getitem__方法的对象都是一个iterable。>>> my_list = [i for i in range(1000)]>>> has

2022-01-24 16:45:46 818

原创 认识Towhee:让世上没有难做的embedding

Meet Towhee: All you need for embeddingIntroMotivation Behind TowheeEssential ComponentsOperatorPipelineHubDemoImage embeddingVisionIntroTowhie 致力于开发一个专注于embedding任务的机器学习平台。正如我们的口号所说,“X2Vec,Towhee is all you need”,我们旨在帮助用户通过短短几行代码将非结构化数据转换为embedding。在本文

2022-01-19 19:13:02 3501

原创 面向对象三大特性

面向对象三大特性封装封装  利用抽象数据类型将数据以及基于数据的操作封装在一起,构成不可分割的独立实体。数据被保护在抽象数据类型内部,尽可能向外界隐藏内部细节,只保留对外的接口与外部发生联系。外界不需要关心内部的细节,只利用对象提供的接口来访问。  讲一下我自己的理解,抽象数据类型指的就是各种类(class),数据以及基于数据的操作我认为是指类的成员变量和成员函数,对象就是指从一个类创建的实例。...

2021-07-21 11:51:48 94

原创 实习经验总结

五月实习总结Phantoscope任务一:Shell脚本从五月十号开始到现在实习差不多一个月了,虽然一开始的目标是本着milvus的开发岗位来的,结果被phantoscope抓了去,一开始对于这个做算法的部门有惶恐因为是相关知识储备不足,未来也并不打算找算法岗位,但是这一个月下来也算是收获颇丰,在此记录整理一下这一个月来的经历。PhantoscopePhantoscope旨在为Milvus提供上层的服务,Milvus是一个非结构化数据库,将视频,图像,音频等非结构化数据以向量形式进行存储检索管理,而P

2021-07-14 10:20:47 338

原创 春招项目经历的整理

春招项目经历的整理数学建模题目问题解决第一问第二问第三问信息检索题目解法  整理一下迄今为止做过的一些大大小小项目的经历。数学建模  2018年参与了当年的全国大学生数学建模竞赛拿到了全国一等奖,记得应该是浙江省第一名的顺位上推拿的,但可惜时间太久远很多东西忘记了,所以华为的主管面详细问起这个项目就没讲清楚挂了。题目  设计一款高温防护服,包含三层织物Ⅰ,Ⅱ,Ⅲ以及最内层和皮肤之间的空气层Ⅳ层。已知环境温度75摄氏度,Ⅱ层,Ⅳ层厚度分别为6mm, 5mm,假设假人体表起始温度为37摄氏度,工作

2021-03-26 05:57:50 229

原创 链表相关算法(翻转,k个翻转)

链表相关算法(翻转,k个翻转)链表结构反转链表思路代码K个反转(不足K不反转)思想  之前在leetcode上刷题的时候碰到链表的题目就会有一点绕,这里整理一下。链表结构  首先统一一下链表的结构struct ListNode { int val; struct ListNode *next;};反转链表思路  定义三个Node,分别是pre,cur,next,用于保存上一个Node,本Node以及下一个Node, 这里的pre实际上就是我们的反转链表的头节点。想法就是遍历链表,每一次

2021-03-24 08:22:51 138

原创 MILVUS

MIlVUSWhat is MILVUSStorageRetrieveCompareQuestionWhat is MILVUSI thinks MILVUS is a database system used to store and retrieve data like videos, images and voices, that cannot be stored in Mysql or Sqlite.The main idea is that we can turn these data in

2021-03-23 02:31:52 316 1

原创 关于算法的边界问题

关于算法的边界问题二分查找  有很多算法思路很简单,但是具体要实现的时候总会碰到一些麻烦的边界问题,这边整理一下。二分查找  思路不用多说,先贴一种可行的代码int binarySearch(vector<int> nums,int tar){ // 第一个边界 int l = 0, r = nums.size()-1; // 第二个边界 while(l<=r){ int m = (l + r)/2; if(nums[m] == tar) return m;

2021-03-20 03:24:10 1579 1

原创 C++中虚函数,纯虚函数以及多态

C++中虚函数,纯虚函数以及多态虚函数和纯虚函数虚函数纯虚函数关于构造函数和析构函数  在整理排序算法的时候想到可以借此熟悉一下类的构造以及继承等知识点,就写了一个排序基类声明一个排序函数,然后写多个排序算法的子类重写这个排序函数,过程中顺便研究了一下virtual和多态的概念。虚函数和纯虚函数  首先回顾一下虚函数和纯虚函数的八股文,虚函数是多态的实现机制,声明一个虚函数就是在一个函数的声明(不需要定义)前加上virtual,而纯虚函数则还要函数声明后加上=0来表明纯虚函数身份,如果想要定义纯虚函数

2021-03-19 23:47:55 430

原创 排序算法整理

排序算法整理项目地址选择排序复杂度分析  今天面试的时候问了归并和快排,没有讲得太清楚,掌握地不太熟练,不能太依赖sort函数,所以自己整理一下。项目地址github选择排序  目前的想法看来这个是最简单的排序了,我叫他笨蛋法。思想就是遍历数组,把最小的放在最前面,然后再后移一位遍历剩下的数组,找出剩下的最小的放在第二位,一直到最大的放在最后一位。#include "selectSort.h"#include <iostream>int main(){ std::vec

2021-03-19 09:00:53 109

原创 阿里笔试题:或运算的最小翻转次数 C++

阿里笔试题:或运算的最小翻转次数 C++题目描述输入输出示例解题思路代码题目描述给出一个数字n,表示有n组输入用例子,每一组输入给出三个正整数a、b、c,可以对a和b进行位翻转操作,每一次操作可以翻转a或b的某一位,比如0010操作一次可以得到0011,求使得 a∣b=ca|b=ca∣b=c 成立的最小操作次数。∣|∣ 表示按位或操作。输入输出示例输入:12,6,5输出:3解释:a = 0010,b = 0110,c = 0101对最低位进行一次翻转操作,对a和b第二位各进行一次翻转操

2021-03-15 22:43:46 217

原创 Windows和Linux下的不同类型的大小

Windows和Linux下的不同类型的大小WindowsLinux指针  之前在书上看到long的大小是4字节,但在Linux下测了一下是8个字节,今天就完整地整理了一下Linux和Windows下不同类型的大小:Windows  不管是32位还是64位的Windows这几中常见类型的大小都是一样的:size of int 4size of long 4size of short 2size of long long

2021-03-15 06:50:53 1939

原创 算法第一篇:N皇后问题的回溯解法 C++实现

算法第一篇:N皇后问题的回溯解法 C++实现题目来源问题描述问题思路运行结果总结题目来源牛客网-N皇后问题问题描述N皇后问题是指在N∗N的棋盘上摆N个皇后要求:任何两个皇后不同行,不同列也不再同一条斜线上返回:一个整数N,返回N皇后的摆法数问题思路  本人能力有限只能想到用回溯法求解,回溯法的思想和和暴力穷举类似,但不同的是回溯法设置了中止结果,当运行到某一步发现不可行的时候就会回退一步,从而减少了开销。就像走迷宫,记录每一个岔口,当我发现某条路前面的路不通时,就返回上一个岔口选择另一条路,

2021-03-15 03:14:35 1345

空空如也

空空如也

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

TA关注的人

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