空间信息网站,麻花星空影视传媒制作公司,用wordpress做的网站有哪些,网站制作app开发公司1、关于clip-vit-large-patch14模型
关于openapi开源的clip-vit-large-patch14模型的特征提取#xff0c;可以参考之前的文章#xff1a;Elasticsearch向量检索需要的数据集以及768维向量生成这篇文章详细介绍了模型的下载地址、使用方式、测试脚本#xff0c;可以让你一步…1、关于clip-vit-large-patch14模型
关于openapi开源的clip-vit-large-patch14模型的特征提取可以参考之前的文章Elasticsearch向量检索需要的数据集以及768维向量生成这篇文章详细介绍了模型的下载地址、使用方式、测试脚本可以让你一步实现图片特征的提取如果你想搭建一个图片搜搜索服务也可以参考这篇文章GolangElasticsearch轻松搭建AI时代的图片搜索服务今天要讨论的不同于以往我们要实现的是通过nvidia的开源框架tritonserver完成openai这个模型的工程化对外可以通过http、grpc轻松获取任一图片的特征。这篇文章也是之前承诺的说到做到。
2、triton自定义backend的实现
首先还是简单回顾一下triton自定义banckend的实现openai开源的这个模型无法直接使用triton进行工程化所以我们需要编写一个自定义的python backend关于triton backend的实现可以参考如下文章tritonserver学习之五backend实现机制、tritonserver学习之六自定义c、python custom backend实践triton自定义python banckend的实现还是比较低成本的只要实现三个api即可。
def initialize(self, args)
def execute(self, requests)
def finalize(self)
看函数的名字大家应该都能理解三个函数分别为初始化、执行推理、退出finalize称为析构我觉着更贴切就是释放掉整个推理过程中所申请的临时资源。
实现代码我会放到github上(https://github.com/liupengh3c/career)由于篇幅关系就不贴在这里了。
接下来设计该backend的输入以及输出输入就是一张图片格式为不限制宽高、图片为3通道输出就是一个768维的特征向量那么对于triton架构中模型的配置编写如下
name:clip-vit-large-patch14
backend:python
input [{name:INPUT0data_type: TYPE_FP32dims: [3,-1,-1]}
]output[{name:OUTPUT0data_type: TYPE_FP32dims: [ 768 ]}
]
instance_group[{ kind: KIND_CPU }]
因为没有gpu卡所以【instance_group】这个字段就设置将服务运行在cpu上。
接下来需要按照triton的要求对backend的目录重新组织一下首先设定自定义backend的名称为clip-vit-large-patch14目录格式如下 其中 【1】代表版本号。 【clip-vit-large-patch14】文件夹为openai的原始模型。 【config.pbtxt】为模型配置文件。 【model.py】为python backend的实现。
到这里自定义backend、配置文件、模型目录都已设置完毕接下来serve该模型。
3、拉取tritonserver最新docker镜像
docker pull nvcr.io/nvidia/tritonserver:24.12-py3
启动镜像并将backend路径映射到容器内
docker run --rm -p8000:8000 -p8001:8001 -p8002:8002 -it -v /Users/liupeng/Documents/career/career/triton_backend:/models nvcr.io/nvidia/tritonserver:24.12-py3在容器中安装backend依赖
pip3 install transformers
pip3 install torch
pip3 install pillow 启动tritonserver
tritonserver --model-repository/models
对于triton的使用我们可以参考这篇文章tritonserver学习之一triton使用流程启动后打印如下 可以看到我们的新模型成功启动啦~~~~~~~~~~~。
模型已成功serve但是模型是否能够正常抽取图片特征则需要去实现tritonserver client端请求该服务来做验证待我开发、验证完成后再发文章分享给各位小伙伴本周之内必定会完成大家稍等几天。