ONNX 模型库
返回模型

说明文档

欢迎使用 CLIP-as-service!

GitHub: clip-as-service

文档:clip-as-service

CLIP-as-service 是一个低延迟、高扩展性的图像和文本嵌入服务。它可以轻松作为微服务集成到神经搜索解决方案中。

⚡ 快速:使用 TensorRT、ONNX runtime 和 PyTorch(无 JIT)服务 CLIP 模型,可达 800QPS[*]。请求和响应采用非阻塞双向流式传输,专为大数据和长时间运行的任务设计。

🫐 弹性:在单个 GPU 上水平扩展多个 CLIP 模型,支持自动负载均衡。

🐥 易用:零学习曲线,客户端和服务器采用极简设计。直观一致的 API 用于图像和句子嵌入。

👒 现代:支持异步客户端。轻松在 gRPC、HTTP、WebSocket 协议之间切换,支持 TLS 和压缩。

🍱 集成:与 Jina 和 DocArray 等神经搜索生态系统无缝集成。快速构建跨模态和多模态解决方案。

[*] 使用默认配置(单副本、PyTorch 无 JIT)在 GeForce RTX 3090 上测试。

试用!

安装

PyPI 是最新版本。

请确保使用 Python 3.7+ 版本。客户端和服务器可以独立安装。不需要同时安装两者:例如,可以在 GPU 机器上安装 clip_server,在本地笔记本上安装 clip_client。

客户端

pip install clip-client

服务器

pip install clip-server

服务器 (ONNX)

pip install \"clip_server[onnx]\"

服务器

pip install nvidia-pyindex 
pip install \"clip_server[tensorrt]\"

在 Google Colab 上运行服务器

快速检查

安装完成后,您可以运行以下命令进行快速连接检查。

启动服务器

启动 PyTorch 服务器

python -m clip_server

启动 ONNX 服务器

python -m clip_server onnx-flow.yml

启动 TensorRT 服务器

python -m clip_server tensorrt-flow.yml

首次启动服务器时,它会下载默认的预训练模型,这可能需要一些时间,具体取决于您的网络速度。然后您将获得类似以下的地址信息:

╭────────────── 🔗 Endpoint ───────────────╮
│  🔗     Protocol                   GRPC  │
│  🏠        Local          0.0.0.0:51000  │
│  🔒      Private    192.168.31.62:51000  |
|  🌍       Public   87.105.159.191:51000  |
╰──────────────────────────────────────────╯  

这意味着服务器已准备好提供服务。记下上面显示的三个地址,稍后您会用到它们。

从客户端连接

根据客户端和服务器的位置,您可能需要使用不同的 IP 地址:
- 客户端和服务器在同一台机器上:使用本地地址,例如 `0.0.0.0`
- 客户端和服务器连接到同一个路由器:使用私有网络地址,例如 `192.168.3.62`
- 服务器在公共网络中:使用公共网络地址,例如 `87.105.159.191`

运行以下 Python 脚本:

from clip_client import Client

c = Client('grpc://0.0.0.0:51000')
c.profile()

将输出:

 Roundtrip  16ms  100%
├──  Client-server network  8ms  49%
└──  Server  8ms  51%
    ├──  Gateway-CLIP network  2ms  25%
    └──  CLIP model  6ms  75%
{'Roundtrip': 15.684750003856607, 'Client-server network': 7.684750003856607, 'Server': 8, 'Gateway-CLIP network': 2, 'CLIP model': 6}

这意味着客户端和服务器现在已经连接成功。干得好!

jinaai/clip-models

作者 jinaai

↓ 0 ♥ 6

创建时间: 2023-12-29 07:32:10+00:00

更新时间: 2024-01-22 06:32:06+00:00

在 Hugging Face 上查看

文件 (111)

.gitattributes
M-CLIP-LABSE-Vit-L-14-textual.onnx ONNX
M-CLIP-LABSE-Vit-L-14-visual.onnx ONNX
M-CLIP-XLM-Roberta-Large-Vit-B-16Plus-textual.zip.part
M-CLIP-XLM-Roberta-Large-Vit-B-16Plus-visual.onnx ONNX
M-CLIP-XLM-Roberta-Large-Vit-B-32-textual.zip
M-CLIP-XLM-Roberta-Large-Vit-B-32-visual.onnx ONNX
M-CLIP-XLM-Roberta-Large-Vit-L-14-textual.zip
M-CLIP-XLM-Roberta-Large-Vit-L-14-visual.onnx ONNX
README.md
RN101-openai-textual.onnx ONNX
RN101-openai-visual.onnx ONNX
RN101-textual.onnx ONNX
RN101-visual.onnx ONNX
RN101-yfcc15m-textual.onnx ONNX
RN101-yfcc15m-visual.onnx ONNX
RN101-yfcc15m.pt
RN101.pt
RN50-RN50-textual.onnx ONNX
RN50-RN50-visual.onnx ONNX
RN50-cc12m-RN50-cc12m-textual.onnx ONNX
RN50-cc12m-RN50-cc12m-visual.onnx ONNX
RN50-cc12m-textual.onnx ONNX
RN50-cc12m-visual.onnx ONNX
RN50-cc12m.pt
RN50-openai-textual.onnx ONNX
RN50-openai-visual.onnx ONNX
RN50-textual.onnx ONNX
RN50-visual.onnx ONNX
RN50-yfcc15m-textual.onnx ONNX
RN50-yfcc15m-visual.onnx ONNX
RN50-yfcc15m.pt
RN50.pt
RN50x16-openai-textual.onnx ONNX
RN50x16-openai-visual.onnx ONNX
RN50x16-textual.onnx ONNX
RN50x16-visual.onnx ONNX
RN50x16.pt
RN50x4-openai-textual.onnx ONNX
RN50x4-openai-visual.onnx ONNX
RN50x4-textual.onnx ONNX
RN50x4-visual.onnx ONNX
RN50x4.pt
RN50x64-openai-textual.onnx ONNX
RN50x64-openai-visual.onnx ONNX
RN50x64-textual.onnx ONNX
RN50x64-visual.onnx ONNX
RN50x64.pt
ViT-B-16-laion400m_e31-textual.onnx ONNX
ViT-B-16-laion400m_e31-visual.onnx ONNX
ViT-B-16-laion400m_e31.pt
ViT-B-16-laion400m_e32-textual.onnx ONNX
ViT-B-16-laion400m_e32-visual.onnx ONNX
ViT-B-16-laion400m_e32.pt
ViT-B-16-openai-textual.onnx ONNX
ViT-B-16-openai-visual.onnx ONNX
ViT-B-16-plus-240-laion400m_e31-textual.onnx ONNX
ViT-B-16-plus-240-laion400m_e31-visual.onnx ONNX
ViT-B-16-plus-240-laion400m_e31.pt
ViT-B-16-plus-240-laion400m_e32-textual.onnx ONNX
ViT-B-16-plus-240-laion400m_e32-visual.onnx ONNX
ViT-B-16-plus-240-laion400m_e32.pt
ViT-B-16-textual.onnx ONNX
ViT-B-16-visual.onnx ONNX
ViT-B-16.pt
ViT-B-32-laion2b-s34b-b79k-textual.onnx ONNX
ViT-B-32-laion2b-s34b-b79k-visual.onnx ONNX
ViT-B-32-laion2b-s34b-b79k.bin
ViT-B-32-laion2b_e16-textual.onnx ONNX
ViT-B-32-laion2b_e16-visual.onnx ONNX
ViT-B-32-laion2b_e16.pt
ViT-B-32-laion400m_e31-textual.onnx ONNX
ViT-B-32-laion400m_e31-visual.onnx ONNX
ViT-B-32-laion400m_e31.pt
ViT-B-32-laion400m_e32-textual.onnx ONNX
ViT-B-32-laion400m_e32-visual.onnx ONNX
ViT-B-32-laion400m_e32.pt
ViT-B-32-openai-textual.onnx ONNX
ViT-B-32-openai-visual.onnx ONNX
ViT-B-32-textual.onnx ONNX
ViT-B-32-visual.onnx ONNX
ViT-B-32.pt
ViT-H-14-laion2b-s32b-b79k-textual.onnx ONNX
ViT-H-14-laion2b-s32b-b79k-visual.zip
ViT-H-14-laion2b-s32b-b79k.bin
ViT-L-14-336-openai-textual.onnx ONNX
ViT-L-14-336-openai-visual.onnx ONNX
ViT-L-14-336px.pt
ViT-L-14-laion2b-s32b-b82k-textual.onnx ONNX
ViT-L-14-laion2b-s32b-b82k-visual.onnx ONNX
ViT-L-14-laion2b-s32b-b82k.bin
ViT-L-14-laion400m_e31-textual.onnx ONNX
ViT-L-14-laion400m_e31-visual.onnx ONNX
ViT-L-14-laion400m_e31.pt
ViT-L-14-laion400m_e32-textual.onnx ONNX
ViT-L-14-laion400m_e32-visual.onnx ONNX
ViT-L-14-laion400m_e32.pt
ViT-L-14-openai-textual.onnx ONNX
ViT-L-14-openai-visual.onnx ONNX
ViT-L-14-textual.onnx ONNX
ViT-L-14-visual.onnx ONNX
ViT-L-14.pt
ViT-L-14@336px-textual.onnx ONNX
ViT-L-14@336px-visual.onnx ONNX
ViT-g-14-laion2b-s12b-b42k-textual.onnx ONNX
ViT-g-14-laion2b-s12b-b42k-visual.zip
ViT-g-14-laion2b-s12b-b42k.bin
option.py
roberta-ViT-B-32-laion2b-s12b-b32k.bin
xlm-roberta-base-ViT-B-32-laion5b-s13b-b90k.bin
xlm-roberta-large-ViT-H-14-frozen_laion5b_s13b_b90k.bin