当前位置: 首页 > news >正文

truss开源程序在生产中提供 AI/ML 模型的最简单方法

一、软件介绍

文末提供程序和源码下载学习

truss开源程序在生产中提供 AI/ML 模型的最简单方法


二、为什么选择 Truss?

  • 一次编写,随处运行: 使用在开发和生产中行为相同的模型服务器打包和测试模型代码、权重和依赖项。
  • 快速开发人员循环: 使用来自实时重新加载服务器的快速反馈来实施您的模型,并使用包含电池的模型服务环境跳过 Docker 和 Kubernetes 配置。
  • 支持所有 Python 框架 :从 transformer 和 diffusers 到 PyTorch 和 TensorFlow,再到 TensorRT 和 Triton,Truss 支持使用任何框架创建和提供的模型。

三、Installation  安装

Install Truss with:  使用以下方式安装 Truss:

pip install --upgrade truss

Create a Truss  创建桁架

首先,使用以下终端命令创建桁架:

truss init text-classification

出现提示时,为您的桁架指定一个名称,例如 Text classification。


然后,导航到新创建的目录:

cd text-classification


Implement the model  实现模型

桁架中的两个基本文件之一是 model/model.py。在此文件中,您将编写一个 Model 类:您正在打包的 ML 模型与运行该模型的模型服务器之间的接口。
必须在 Model 类中实现两个成员函数:

  • load() 将模型加载到 Model Server 上。当模型服务器启动或修补时,它只运行一次。
  • predict() 处理模型推理。每次调用模型服务器时,它都会运行。


以下是文本分类模型的完整模型/model.py:

from transformers import pipeline


class Model:
    def __init__(self, **kwargs):
        self._model = None

    def load(self):
        self._model = pipeline("text-classification")

    def predict(self, model_input):
        return self._model(model_input)

四、Add model dependencies  添加模型依赖关系

Truss 中的另一个重要文件是 config.yaml,用于配置模型服务环境。有关配置选项的完整列表,请参阅 config 参考 。

管道模型依赖于 Transformer 和 PyTorch。必须在 Truss 配置中指定这些依赖项。
在 config.yaml 中,找到 lines requirements。将空列表替换为:

requirements:
  - torch==2.0.1
  - transformers==4.30.0
No other configuration is needed.
不需要其他配置。


五、Deployment  部署


Truss 由 Baseten 维护,Baseten 为在生产中运行 ML 模型提供基础设施。我们将使用 Baseten 作为您模型的远程主机。

其他远程功能即将推出,从 AWS SageMaker 开始。

Get an API key  获取 API 密钥


要设置 Baseten 远程,您需要一个 Baseten API 密钥 。如果您没有 Baseten 帐户,不用担心,只需注册一个帐户 ,您将获得大量免费积分以开始使用。

Run truss push  运行 truss push

在出现提示时准备好粘贴 Baseten API 密钥后,您可以部署模型:

truss push

您可以从 Baseten 上的模型控制面板监控您的模型部署。

Invoke the model  调用模型

模型完成部署后,您可以从终端调用它。

Invocation  调用

truss predict -d '"Truss is awesome!"'
Response  响应

[
  {
    "label": "POSITIVE",
    "score": 0.999873161315918
  }
]

六、软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:https://github.com/basetenlabs/truss

相关文章:

  • v837s-ov5640摄像头调试
  • 泊松分布详解:从理论基础到实际应用的全面剖析
  • Enovia许可释放
  • 3.vtkProp 和vtkProp3D
  • 三维物体消隐处理
  • numpy.ma.masked_where:屏蔽满足条件的数组
  • 企业数字化转型深度解析:政策驱动、核心要素、技术路径、实战策略与未来趋势
  • Sql Server(自用查看版)
  • 电路图通用设计规范
  • 串口通信简述
  • 系统监控 | 简易多个内网服务器的CPU和内存使用率监控 system_moniter
  • cryptozombies合约7
  • KF V.S. GM-PHD
  • 《Operating System Concepts》阅读笔记:p636-p666
  • OTA技术(一):原理与实现方案
  • AI日报 - 2025年4月13日
  • C++ 标准库中的 <algorithm> 头文件算法总结
  • 【C++】前向声明(Forward Declaration)
  • Interaction Toolkit 新版模拟器快捷键
  • [NOIP 2003 普及组] 栈 Java
  • 复旦大学史地学系在北碚
  • 广西出现今年首场超警洪水
  • 深一度|上海半马,展示“体育+”无限可能的路跑狂欢
  • 南部战区回应菲护卫艇非法侵入中国黄岩岛领海:依法警告驱离
  • 海南开展药品安全“清源”行动,严查非法渠道购药等违法行为
  • 伊朗艺术中的中国风