自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (3)
  • 收藏
  • 关注

原创 主流图数据库对比

背景:前段时间笔者做一个图计算项目的时候,需要选用一种图数据库。于是在网上查了许多的材料,自己也做了实际的调研测评。别人家的测评全面的对比这个不知道谁做的对比,从30多个指标全面比较了Neo4j、HugeGraph、JanusGraph详见:​​​​​​一文看尽图数据库选型,30多个指标全面比较Neo4j、HugeGraph、JanusGraph_独行侠梦的博客-CSDN博客详细的性能对比由腾讯云团队做的(应该是Nebula委托的)Neo4j、HugeGraph、NebulaGra.

2021-11-11 10:08:16 10255 2

原创 基于ElasticSearch+文本相似度模型的检索式智能对话方案

背景:在对话系统领域,检索式对话系统一直是工业界的偏爱。笔者曾经单纯基于ElasticSearch的相似度匹配进行过实现(详见:基于ElasticSearch的检索式智能问答方案_chenxy02的博客-CSDN博客 )。后面又引入深度学习模型——“文本相似度识别”提升了系统的意图匹配机制,于是便有了这篇博客。为什么只用ES相似度匹配不行ES(ElasticSearch)所提供的相似度机制本质上是一种基于词频、基于规则的相似度计算(详见:ElasticSearch相似度匹配及分词器选择_chen..

2021-10-29 21:53:42 3517

原创 ElasticSearch相似度匹配及分词器选择

ES核心相似度匹配逻辑:ES的核心相似度匹配逻辑,或者匹配目的,可以不是很严谨的用以下两句话承载。局部常见:该单词在文档中多次出现 全局罕见:该单词在语料库中出现的次数并不多。详见:https://blog.csdn.net/chenxy02/article/details/115377912分词器选择:ES相似度匹配的结果与所选择的分词器类别息息相关,常见的分词器如下:Standard:单字切分法,一个字(对于英文为一个单词)切分成一个词,ES默认内置分词器。 CJKAnalyz

2021-06-30 10:44:51 9430

原创 致程序员的一份吵架教程

前言:本文为笔者结合大学打了三年辩论的经验,总结的“吵架”方法论。本文并非鼓励吵架,而是希望大家在迫不得已要吵架的时候,能够吵得漂亮、吵得有水平。核心思想:优秀程序员不吵不值钱的架“优秀的辩手不吵不值钱的架”——是我大学时候经常跟师弟师妹说的一句话(来自黄执中讲座)。在此也与诸君共勉,毕竟程序员的时间是要用来改变世界的。什么是不值钱的架在笔者的辩论哲学里,从技术性上来讲——观点本...

2020-01-10 09:38:30 743

原创 Linux服务器操作应知应会

前言:仅讲述日常Linux系统使用中需要用的知识,不深入阐述其中原理1、区别Linux版本Linux的发行版本分为 CentOS、Ubuntu等等,而即使是同一种发行版本,版本号不同操作的时候也是要区别对待的。eg:#CentOS6 开关防火墙service iptables startservice iptables stop#CentOS7 开关防火墙systemctl...

2019-10-22 11:19:53 453

原创 华为昇腾系列——入门学习

昇腾(Ascend)是华为推出的人工智能处理器品牌,其系列产品包括昇腾910和昇腾310芯片等。

2024-03-05 19:31:19 893

原创 定时喝水提醒(进阶版)

笔者近十年的体检,总会报一个小问题:肾结石。经常肾结石的朋友应该知道,这毛病除了做碎石手术,主流的治疗方式就是:多喝水。没有完成资质认证(需要每年用公司账户给腾讯打钱)的微信公众号,很多功能受限。然而这种方式存在一个局限性就是,当我们不用电脑的时候,就看不到提醒了。如下,模板内容: 该喝水了!{{name.DATA}}同学。在用户列表可以拿到我们的微信号,稍后发送消息需要用到。于是乎,六年前,笔者写了这么一篇文章——来完成接下来的演示,注册及登陆的地址为。为弥补上述缺点,本文要实现的方案是,

2024-02-19 08:50:44 491 1

原创 用Gradio做一个ai-chat应用

其实这个小应用的完成,最大的难点是 为上述代码中的 OpenAI(base_url="https://xxxxx/v1/") 设置一个可调通的API地址。上半年国内的大模型还没遍地开花的时候,笔者花巨资购了两台云服务器及给OpenAI充了20$,给身边的亲友给做了一个可使用的ai-chat。由于笔者提供的ai-chat服务,是一个公网可访问的界面。给lanuch()方法,传入auth参数,设置了访问应用所需的账户、密码。,自己编写web后台,找朋友做界面,做出了一个版本。后来Gradio发布了。

2024-01-11 19:33:50 586

原创 产品调研——AI平台

本文主要记录了对腾讯云-TIONE平台、华为云-ModelArt等主流AI平台的产品调研。

2023-12-18 23:06:06 155

原创 如果我忽然嗝屁了,家人怎么继承我的财产

笔者很喜欢的电影《寻梦环游记》有这么一句经典台词:“真正的死亡是世界上没有一个人记得你”。然而,现实中我们所说的“死亡”,其实就是 他再不能与这个世界、与自己在乎的人有新的互动了。本文,笔者想写一写 关于死亡的一个现实问题。

2023-12-13 22:39:17 137

原创 211高校是否都是双一流高校

2017年9月21日,教育部、财政部、国家发展和改革委员会联合发布《关于公布世界一流大学和一流学科建设高校及建设学科名单的通知》,此名单即第一轮“双一流”名单。由于笔者倾向的答案是:"双一流高校"包括211高校。然而笔者在继续查究后发现,人家不在"双一流公告"的真实原因是: 在两份公告发布的时间中间,改名了!从上面的截图看,有三所211高校名称不在"双一流公告"内容中,似乎"双一流高校"包括211高校 这个猜想是不成立的。前段时间,几个985毕业的朋友讨论起了 "211"跟"双一流"关系的话题。

2023-12-10 23:55:47 162

原创 AI模型推理(6)——实战篇(进阶)

Triton是Nvidia官方推出的推理服务化框架(简单解释就是 加载你的模型变成别人可以请求的服务)。一开始叫 TensorRT serving,是专门针对TensorRT设计的服务器框架,后来支持了onnxruntime、pytorch、tensorflow等推理后端,变为了triton。

2023-12-01 18:21:27 162

原创 AI模型推理(5)——实战篇(基础)

本文主要通过实战的方式,记录各种模型推理的方法。

2023-11-28 22:43:37 241

原创 TrainingOperator--PyTorchJob实现机制分析

由Pytorch分布式训练(一)_chenxy02的博客-CSDN博客WORLD_SIZERANKMASTER_PORT和MASTER_ADDR的目的是告诉进程组中负责进程通信协调的核心进程的IP地址和端口。当然如果该进程就是核心进程,它会发现这就是自己。RANK参数是该进程的id,WORLD_SIZE是说明进程组中进程的个数。1、得手工在多个节点上启动多个 python脚本,配置不同的 rank2、如果是在K8S上起多个 pod 进行分布式训练 ,还得解决IP不确定的问题。

2023-06-30 16:09:54 932

原创 Pytorch分布式训练(一)

2023年,训练模型时,使用DDP(DistributedDataParallel)已经成为Pytorch炼丹师的标准技能。本文主要讲述实现Pytorch分布式要做哪些事情,以及如何理解Pytorch分布式训练背后的通信原理(不会很深入)。

2023-06-29 14:59:40 564

原创 AI模型推理(4)—— 认识ServingRuntime

ServingRuntime(在中文语境里,笔者经常把它叫做“推理运行时”)是KServe的一个核心概念。本文主要讲解ServingRuntime的概念,并重点介绍Triton模型服务化框架。1、图中C API部分。可以看到Triton支持HTTP/REST和GRPC协议。2、中Model Repository部分。按照Triton的官方文档所述,模型仓库可以是本地的持久化存储介质(磁盘),也可以接入Google Cloud Platform或者AWS S3的模型仓库。

2023-05-11 20:50:08 652 1

原创 AI模型推理(3)——ModelMesh使用

Kserve提供了“Serverless”和“ModelMesh”两种安装模式。其中Serverless是通过Knative组件实现动态扩缩容等功能。而ModelMesh则是另一种资源开销较小的模式。

2023-05-02 16:56:42 1059

原创 AI模型推理(2)—— Kserve入门使用

Kserve 提供一个Kubernetes 自定义资源定义(InferenceService),用于在任意框架上提供机器学习模型服务。它旨在通过为常见的ML框架(如:Tensorflow、XGBoost、Scikit-Learn、PyTorch和ONNX)提供高性能、高度抽象的接口来解决生产上的模型推理场景。它封装了自动缩放、网络、健康检查和服务配置的复杂性,为 ML 部署带来了尖端的服务功能,如:GPU 自动缩放、归零缩放和金丝雀发布等。

2023-05-02 01:26:05 622

原创 AI模型推理(1)——入门篇

本文主要介绍AI模型推理的相关基础概念,为后续云原生模型推理服务的学习做准备。

2023-04-30 09:02:46 2666

原创 使用 boto3 调用 S3 对象存储

更多 boto3支持的方法,参见:https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html?Bucket 是指对象存储上的存储空间,可理解为存放对象的“容器”,一个使用对象存储的用户可以拥有多个Bucket。用户存储在对象存储上的每个文件都是一个 Object,每个Object 有一个键名/健值。我们在调用s3对象存储的代码中使用的“Endpoint”,是指对象存储对外服务的访问域名。

2023-02-21 20:20:03 1232

原创 Swagger Editor 的介绍和使用

Swagger Editor 可以帮助开发人员优雅地设计符合 OpenAPI 规范的API接口,是一个可以通过浏览器进行使用的工具。功能如下:编辑:可以在浏览器上基于YAML等语法定义我们的RESTful API,也可以采用 JSON语法查看:Swagger Editor会自动生成一篇排版优美的API文档,并且提供实时预览生成代码:可智能生成服务端或客户端代码,支持 python、golang、java 等主流语言。

2023-02-20 20:22:04 588

转载 查看k8s日志的方法

var/log/messages日志,messages日志中除了操作系统的日志,服务异常的日志也可以去messages中去看看。

2022-11-13 17:58:15 5298

原创 Go语言学习——编译

Golang支持交叉编译,即在一个平台上生成另一个平台的可执行程序。以在windows上编译linux的可执行程序为例,网上的教程普遍如下:

2022-07-12 09:56:35 1234

原创 深入解析Kubebuilder

参考网址:​​​​​​​​​​​​​​​​​​​​​​​Introduction - The Kubebuilder Book深入解析 Kubebuilder:让编写 CRD 变得更简单 - 知乎推荐朋友们多看上面官方提供的文档。前面我转发一篇博客 基于Kubebuilder开发Operator(入门使用)_chenxy02的博客-CSDN博客 记录了对kubebuilder的入门使用,本文旨在加深对kubebuilder深圳,进一步熟悉kubebuilder的项目代码。GVK = GroupVersion

2022-07-04 09:03:02 936

原创 Kustomize使用手册

相关网址:Kustomize - Kubernetes native configuration managementKubernetes集成的配置管理工具。轻量版的helm; kustomization.yaml运行进阶用法很多时候我们针对不同环境部署上会有差异,我们可以通过在“demo用法”的基础上,新建 overlays文件夹来定义 对不同环境的部署。如下我们定义了一个生产环境和一个演示环境: 至于 kustomization文件能写哪些内容,可参考: Configuration M

2022-07-01 10:35:25 418

转载 基于Kubebuilder开发Operator(入门使用)

原文地址:使用kubebuilder 理解k8s crd - 知乎理解k8s的crd需要先理解k8s的controller模式比如kube-controller-manager中的deployment控制器,在初始化的时候就会传入要监听Deployments、ReplicaSet和pod的三个informer对象 首先list一下对象到本地缓存,同时watch对象的变更,等于增量更新func startDeploymentController(ctx ControllerConte

2022-06-24 11:16:06 543

原创 Kubernetes学习——Trouble Shooting指南

为了跟踪和发现Kubernetes集群中运行的容器应用出现的问题,我们常用如下查错方法:1、查看系统Event查看Kubernetes对象的当前运行时信息,特别是与对象关联的Event事件。这些事件记录了相关主题、发生时间、最近发生时间、发生次数及事件原因等。此外,通过查看对象的运行时数据,我们还可以发现参数错误、关联错误、状态异常等明显问题。由于在K8s中多种对象互相关联,因此这一步可能会涉及多个相关对象的排查问题。# 加 -n 指定命名空间kubectl describe pod r

2022-05-23 19:31:52 215

转载 Kubeflow--Pipeline及Argo实现原理速析

原文地址:KubeFlow-Pipeline及Argo实现原理速析_容器_华为云开发者社区_InfoQ精选文章摘要Argo是一个开源原生容器工作流引擎 用于在Kubernetes上开发和运行应用程序。Argo Workflow流程引擎,可以编排容器流程来执行业务逻辑,在20年4月进入CNCF孵化器组。KubeFlow的Pileline子项目,由Google开源,其全面依赖Argo作为底层实现,并增强持久层来补充流程管理能力,同时通过Python-SDK来简化流程的编写。Argo 流程

2022-05-10 11:27:49 1321

原创 Kubernetes学习——CRD

CRD是什么Custom Resource Definition,k8s允许用户自定义资源。定义CRM对象会创建一个具有您指定的名称和架构的新定义资源。Kubernetes API 提供并处理您的自定义资源的存储。CR是什么Custom Resouce,自定义资源,CRM的具体实例。CR是Kubernetes API的扩展。自定义资源可以通过动态注册在正在运行的集群中出现和消失,并且集群管理员可以独立于集群本身更新自定义资源。安装自定义资源后,用户可以使用kubectl创建和访问其对​​象.

2022-05-09 15:24:47 1241

原创 go mod 使用手册

为什么要使用go modgo mod是Golang1.11版本新引入的官方包管理工具,用于解决之前没有地方记录依赖包具体版本的问题,方便依赖包的管理。如何使用go mod如下,新建一个go文件package mainimport ( iris "github.com/kataras/iris/v12")func main() { app := iris.New() app.Get("/", func(ctx iris.Context) { ctx.HTML("<h

2022-04-27 15:55:07 2350

原创 支持弹性伸缩的Jupyter (elastic-jupyter-operator项目)

前言Jupyter Notebooks 在 Kubernetes 上部署往往需要绑定一张 GPU,而大多数时候 GPU 并没有被使用,因此利用率低下。为了解决这一问题,开源项目elastic-jupyter-operator将占用 GPU 的 Kernel 组件单独部署,在长期空闲的情况下自动回收,释放占用的 GPU。这篇文章主要介绍了这一开源项目的使用方式以及工作原理。如何提高资源利用率(base K8S)最大的挑战来自于GPU资源利用率。在运行的过程中即使没有代码在运行,Notebook..

2022-04-27 14:46:36 516

原创 Jupyter Lab入门到精通

Jupyter Lab && Jupyter NotebookJupyter Lab可以理解成Jupyter Notebook的升级版本,升级增加了很多功能。其支持python、R、java等多种编程语言及markdown、letex等写作语言及公式输入。jupyter lab相比notebook最大的更新是模块化的界面,可以在同一个窗口以标签的形式同时打开好几个文档,同时插件管理非常强大,使用起来要比jupyter notebook高大尚许多。Jupyter安装及启动安装完..

2022-04-24 14:01:34 19012 3

原创 人工智能讲义【大杂烩】(持续更新)

前言:本文主要面向但不限于非人工智能的专业从业者,只是希望在聊到AI的时候能吹上两句的。可聊话题包括但不限于“AI技术的发展现状”,“AI技术有哪些分类”,“神经网络是什么”等等等人工智能发展现状人工智能的现状是:强人工智能很弱、弱人工智能很强。弱人工智能已经强大到可以替代许多的岗位。人类目前最先进的强人工智能,也远远比不上一个三岁孩子的智力。强人工智能:指能制造出真正地推理和解决问题的智能机器。比如日本动漫里的“阿童木”、钢铁侠的AI管家“贾维斯”就可以说是一个强人工智能。 弱人工智

2022-04-20 16:29:11 1381

原创 Go语言调用K8S-API

前言:本文主要记录如何使用Go语言调用k8s的API,获取k8s集群中的Pod信息。跟着k8s官网走就行了,非常简单。找到Go client 项目进入K8S官方在线文档,进入reference模块——Reference | Kubernetes,点击“KubernetesGo client library”执行示例代码下载代码——GitHub - kubernetes/client-go: Go client for Kubernetes.,根据readme文件执行相应的示例代码.

2022-04-19 08:14:41 2972

原创 Go语言学习--安装

前言:以Win11系统为例,记录Go的安装,非常简单安装包下载安装包下载地址为:https://golang.org/dl/。如果打不开可以使用这个地址:Downloads - The Go Programming Language。各个系统对应的包名:操作系统 包名 Windows go1.XX.windows-amd64.msi Linux go1.XX.linux-amd64.tar.gz Mac go1.XX.darwin-amd64-os

2022-04-18 15:36:30 244

原创 Kubeflow--TFJob实现机制分析

前言:虽然Kubeflow提供了一大堆组件,涵盖了机器学习的方方面面,但模型训练肯定是Kubeflow最重要的功能。TFJob的本质KubeFlow针对各种各样的机器.

2022-04-18 09:22:41 1849 1

原创 Kubeflow安装及代码架构解读

参考网址Installing Kubeflow | Kubeflow安装方式选用官方讲述了两种Kubeflow的安装方式,一种是使用打包发行版本,谷歌云、AWS等厂商的客户可以考虑此方式进行安装使用,应该非常方便。本文主要讲使用manifest(清单) 的方式进行Kubeflow的安装。怎么使用manifest从github上拉取仓库GitHub - kubeflow/manifests: A repository for Kustomize manifests然后照着这个.

2022-04-14 16:44:23 1817

转载 TensorFlow的分布式训练和K8S

原文地址:炼丹师的工程修养之四: TensorFlow的分布式训练和K8S - 知乎1、分布式训练的基本原理无论是TensorFlow还是其他的几种机器学习框架,分布式训练的基本原理是相同的。大致可以从以下五个不同的角度来分类。并行模式 架构模式 同步范式 物理架构 通信技术1.1 并行模式通俗的讲,分布式计算就是通过分布式的多台机器,把原来的巨大的,复杂的问题拆成多个小的、简单的问题来解决。对于机器学习的训练任务,原来的“大”问题主要表现在两个方面。一是模型太大,我们需要把模..

2022-04-14 16:26:57 1974

原创 深度学习框架对应的CUDA版本

前言CUDA (Compute Unified Device Architecture),是NVIDIA发布的一个通用并行计算平台和编程模型。基于CUDA编程可以利用GPUs的并行计算引擎来更加高效地解决计算量大的难题。近年来,GPU最成功的一个应用就是深度学习领域,基于GPU的并行计算已经成为训练深度学习模型的标配。各个深度学习框架基本也都是CUDA实现对GPU的调用及操作。截至本文发文,最新的CUDA版本为CUDA11.6。本文主要记录,不同的深度学习框架使用CUDA需要注意的版本等问题。注

2022-04-13 10:42:40 4410

原创 Kubernete--Pod深入学习

1、Container和Pod概念1、容器是一种便携式,轻量级别的虚拟化技术,使用linux cggroup技术实现各种资源的隔离,如cpu, memory, pid,mount,IPC等,相比于虚拟化技术如KVM,容器技术更加轻易级,它的产⽣主要解决环境的环境发布的问题,⽬前主流的容器技术是docker,说到容器,⼀ 般都等同于docker。要运⾏容器⾸先需要有镜像,应⽤和应⽤依赖的环境运⾏在容器中,在kubernetes中不会直接 运⾏container,⽽是运⾏pod,⼀个pod⾥⾯包含多个c

2022-04-13 09:02:29 3106

词性对照文件,可以用于NLP中自定义

词性对照文件,可以用于NLP中自定义。

2020-03-03

gunicorn安装包(用于pip安装)

gunicorn安装包(用于pip安装),可用python3;下载后在同目录下,运用 pip install gunicorn-19.9.0-py2.py3-none-any.whl

2019-01-31

空空如也

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

TA关注的人

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