Skip to content

Latest commit

 

History

History
36 lines (29 loc) · 1.53 KB

HowToAddAnOperator.md

File metadata and controls

36 lines (29 loc) · 1.53 KB

自定义 Operator

是否有这些疑问:

  • 内置的 Operator 阈值设置不符合我的需求, 怎么实现定制化的 Operator?
  • 内置的 Operator 模型不符合我的精度要求,怎么实现定制化的 Operator?
  • 我实现了一篇最新论文中的 SOTA 模型,怎么实现定制化的 Operator?
  • 我对常用模型进行了特定领域的 fine-tuning,怎么实现定制化的 Operator?

如何实现定制化的 Operator?

准备工作

  1. 具有一定能力的 Python 开发能力
  2. 了解 gRPC 与 protobuf
  3. 掌握基础的 Docker 命令

实现定制化 Operator 必要步骤

以下列出的是实现定制化 Operator 的必要事项,可以实现这些步骤进行接入。

  1. 准备模型。
  2. 实现 rpc 目录下的 gRPC 接口。
  3. 调试并打包为 Docker 镜像

示例:实现一个 Operator

operator 的目录结构

在 example-custom-operator 下可以看到一个最简单的 operator 结构

  1. 在 data 目录下通常存放用于下载模型文件的的脚本,在制作镜像时用于下载模型
  2. 在 rpc 目录下是 gRPC 生成的 python 文件
  3. 主目录下的 server 文件通常用来保存 gRPC server 的相关逻辑
  4. 主目录下的 custom_operator 文件用来实现 rpc 文件需要的接口

gRPC 接口说明

proto 文件可以在 这里 找到

一共需要实现 3 个接口

  1. Execute 用于执行这个 operator。
  2. Healthy 检查 operator 是否正在运行。
  3. Identity 返回 operator 的相关信息(名称、类型、端点等等)。