budgetml入门教程:从安装到部署的完整步骤
budgetml是一个能让你用不到10行代码就能以经济实惠的方式部署机器学习推理服务的工具。本教程将带你从安装到部署,轻松上手这个强大的开源项目。## 为什么选择budgetml?在云服务成本日益增长的今天,budgetml提供了一种经济高效的解决方案。它特别适合那些想要在保持低成本的同时部署机器学习模型的开发者。通过利用Google Cloud Platform的抢占式虚拟机,budge
budgetml入门教程:从安装到部署的完整步骤
budgetml是一个能让你用不到10行代码就能以经济实惠的方式部署机器学习推理服务的工具。本教程将带你从安装到部署,轻松上手这个强大的开源项目。
为什么选择budgetml?
在云服务成本日益增长的今天,budgetml提供了一种经济高效的解决方案。它特别适合那些想要在保持低成本的同时部署机器学习模型的开发者。通过利用Google Cloud Platform的抢占式虚拟机,budgetml可以显著降低运行成本。
budgetml利用抢占式虚拟机可以大幅降低云服务成本,如图所示为不同配置的虚拟机价格对比
快速安装步骤
1. 准备工作
首先,确保你已经安装了Git和Python。然后克隆budgetml仓库:
git clone https://gitcode.com/gh_mirrors/bu/budgetml
cd budgetml
2. 安装依赖
预算ML需要一些依赖项,可以通过以下命令安装:
pip install -r requirements.txt
核心功能介绍
budgetml的核心在于其简洁的API设计。只需要创建一个继承自基类的Predictor类,实现load和predict方法即可。
以下是一个简单的情感分析预测器示例:
class Predictor:
def load(self):
from transformers import pipeline
self.model = pipeline(task="sentiment-analysis")
async def predict(self, request):
req = request.payload
return self.model(req["text"])[0]
这个简单的类就能实现一个完整的情感分析API服务,是不是很神奇?
本地部署指南
在部署到云之前,建议先在本地测试你的模型。budgetml提供了便捷的本地部署脚本:
cd examples/deploy_simple_model
python deploy_local.py
运行后,你将看到类似以下的输出,包含访问API所需的用户名和密码:
USERNAME: xxxxxxxx
PASSWORD: xxxxxxxx
API accessible at http://0.0.0.0:8000/docs
云部署完整流程
1. 准备GCP环境
要在GCP上部署,需要先创建项目并设置服务账号:
export GCP_PROJECT=<你的GCP项目名称>
export SA_NAME="budgetml-sa"
export SA_PATH="$(pwd)/sa.json"
# 创建服务账号
gcloud iam service-accounts create ${SA_NAME}
# 创建服务账号密钥
gcloud iam service-accounts keys create ${SA_PATH} \
--iam-account ${SA_NAME}@${GCP_PROJECT}.iam.gserviceaccount.com
# 为服务账号添加权限
gcloud projects add-iam-policy-binding ${GCP_PROJECT} \
--member=serviceAccount:${SA_NAME}@${GCP_PROJECT}.iam.gserviceaccount.com \
--role "roles/editor"
2. 配置环境变量
export DOMAIN='你的域名'
export SUBDOMAIN='子域名'
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/credentials.json
export GCP_PROJECT='你的GCP项目名称'
export GCP_MACHINE_TYPE='e2-highmem-2' # 可以根据需求选择不同配置
3. 创建静态IP
python create_ip.py
export IP_ADDRESS='生成的静态IP'
4. 部署到GCP
一切准备就绪后,执行部署命令:
python deploy.py
部署完成后,你将获得访问API的用户名和密码。
使用Swagger UI测试API
budgetml集成了Swagger UI,让API测试变得简单直观。访问https://你的域名/docs即可看到API文档界面。
budgetml的Swagger UI界面,展示了可用的API端点
在Swagger UI中,你可以直接测试API。例如,使用predict_dict端点发送情感分析请求:
在Swagger UI中测试predict_dict端点,发送文本进行情感分析
总结
通过本教程,你已经了解了如何安装和部署budgetml。这个强大的工具让机器学习模型部署变得简单且经济高效。无论是开发原型还是部署生产环境,budgetml都能满足你的需求。
如果你有任何问题或建议,欢迎查看项目的官方文档或提交issue。祝你使用budgetml开发愉快!
更多推荐



所有评论(0)