400 128 6709

行业新闻

从开发到部署:自动化机器学习

发布时间:2025-07-30点击次数:

构建机器学习 (ml) 模型既引人入胜又复杂,需要仔细完成一系列步骤。从机器学习模型开发到部署,是人工智能落地的关键阶段。一个基于正确算法和相关数据、经过良好训练的模型,能够涵盖开发阶段,之后的重点将转向部署。

部署机器学习模型可能是一个繁琐的过程:构建 API、容器化、管理依赖项、配置云环境以及设置服务器和集群通常需要付出巨大的努力,但想象一下,如果整个工作流程可以自动化会怎样?在本文中,我们将讨论机器学习部署自动化如何统一和简化所有这些流程。使用通用工具、预配置模块和易于集成的自动化脚本可以简化部署过程。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

从开发到部署:自动化机器学习 -

在本文中,我将向您介绍如何训练 ML 模型、使用 Docker 对其进行容器化以及如何使用 Terraform 将其部署到云端,所有这些都使用自动化脚本,使流程可重用且适合 CI/CD。

自动化机器学习部署带来的好处

 自动化 ML 部署彻底改变了游戏规则:

  • 使机器学习模型能够有效扩展
  • 几分钟内将模型投入生产
  • 消除耗时的重复步骤
  • 减少人为错误

使用的工具

要配置 ML 模型部署,我们需要一些基本工具和库:

  • Python 3.4+:用于训练和托管模型以及编写脚本来填补空白的核心编程语言
  • scikit-learn:用于机器学习的 Python 库
  • FastAPI:将 ML 模型作为 Web API 托管的 Python 库
  • Docker:运行 Terraform 和 ML 模型
  • Cloud CLI:需要安装才能与 Azure、AWS 和 GCP 等云平台交互
  • Terraform:基础设施即代码(IaC)用于配置云资源

项目设置

现在,让我们设置项目并回顾每个步骤。该项目主要分为三个部分:

  • 机器学习模型训练
  • 机器学习工作流程自动化
  • 使用 Terraform 的 IaC

该项目的结构如下:

ml_deploy/
├── src/
│   ├── app.py                  # FastAPI app that serves the ML model
│   ├── train_model.py          # Trains and serializes the model
│   ├── model.pkl               # Packaged ML model
│   ├── requirements.txt        # Python libraries
│   └── Dockerfile              # Defines the Docker image
├── terraform/
│   ├── main.tf                 # Terraform configuration file
│   ├── variables.tf
│   ├── outputs.tf
│   └── terraform.tfvars        # Holds dynamic values like image name
├── scripts/
│   ├── build_model_and_image.py  # Automates model training + Docker
│   └── install_terraform.py      # Runs Terraform inside Docker


机器学习模型训练

该流程的第一步是模型开发、训练模型并构建 API 来为其提供服务:

train_model.py/
import pickle
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
# Load data
X, y = load_iris(return_X_y=True)
# Initialize and train model
model = LogisticRegression(max_iter=200)
model.fit(X, y)
# S*e model to a file
with open("model.pkl", "wb") as f:
    pickle.dump(model, f)


在上面的示例中,我们使用 scikit-learn在传统的鸢尾花物种数据集上训练了一个逻辑回归模型。我们使用Pickle 库对模型进行序列化,将所有依赖项封装到一个文件中。然后,FastAPI 服务器加载model.pkl该模型和端点以生成预测:/predictapp.py

app.py/
from fastapi import FastAPI
import pickle
import numpy as np
app = FastAPI()
model = pickle.load(open("model.pkl", "rb"))
@app.get("/")
def root():
    return {"message": "Model running"}
@app.post("/predict")
def predict(data):
    prediction = model.predict(np.array(data).reshape(1, -1))
    return {"prediction": prediction.tolist()}

机器学习工作流自动化

经过训练的机器学习模型可以转化为一种服务,在可靠部署和访问的情况下,能够实时、大规模地交付。手动训练模型、通过构建 Docker 镜像部署模型以及更新配置文件可能是一个繁琐且容易出错的过程。自动化不仅可以提高效率,还可以简化工作流程。

我们使用两个 Python 脚本自动执行这些步骤:

诚客在线考试平台管理系统 诚客在线考试平台管理系统

诚客在线考试是由南宁诚客网络科技有限公司开发的一款手机移动端的答题网站软件,它应用广泛适合各种学校、培训班、教育机构、公司企业、事业单位、各种社会团体、银行证券等用于学生学习刷题、员工内部培训,学员考核、员工对公司制度政策的学习……可使用的题型有:单选题、多选题、判断题支持文字,图片,音频,视频、数学公式。可以设置考试时间,答题时间,考试次数,是否需要补考,是否可以看到自己成绩。练习模式,支持学生

诚客在线考试平台管理系统 0 查看详情 诚客在线考试平台管理系统
  • build_model_and_image.py:此 Python 脚本可自动执行模型训练、Docker 镜像构建、推送到 DockerHub 以及更新.tfvarsTerraform 文件并将其组合到单个工作流中。build_model_and_image.py在 GitHub 上查看代码:https://github.com/yraj1457/MLOps/blob/main/scripts/build_model_and_image.py

build_model_and_image.py/
import subprocess
import sys
# Executes the train model Python code
def train_model():
    print("Training the Model")
    try:
        subprocess.run(["python3", "train_model.py"], check=True, cwd=src_dir)
    except Exception as e:
        print(f"Error Training the Model: {e}")
        sys.exit(1)
# Builds the image after training the model
def build_image():
    print(f"Building the Docker Image: {docker_image}")
    try:
        subprocess.run(["docker", "build", "-t", docker_image, "."], check=True)
    except Exception as e:
        print(f"Error Building the Docker Image: {e}")
        sys.exit(1)


  • install_terraform.py:此 Python 自动化脚本通过在 Docker 容器中运行 Terraform 来负责配置基础设施,从而确保无需单独安装 Terraform。install_terraform.py在 GitHub 上查看代码:https://github.com/yraj1457/MLOps/blob/main/scripts/install_terraform.py

install_terraform.py/
import subprocess
import sys
from pathlib import Path
# Run the Trio, the three Terraform commands
def run_terraform():
    cmd_list = ['init', 'plan', 'apply']
    for cmd in cmd_list:
        print(f"Running Terraform {cmd}")
        try:
            subprocess.run(
                f"docker run --rm -v {Path(terraform_dir).resolve()}:/workspace "
                f"-w /workspace {terraform_image} {cmd}",
                shell=True,
                check=True
            )
        except Exception as e:
            print(f"Error running Terraform {cmd}: {e}")
            sys.exit(1)


这些自动化脚本填补了空白,并使工作流程在插入管道时可重复使用。

使用 Terraform 进行基础设施即代码

生产就绪服务需要部署。我们使用 Terraform 的 IaC,它允许我们定义整个云设置——包括运行模型的容器。它确保部署不仅自动化且一致,而且可跨环境移植。

基础设施由四个 Terraform 配置文件配置:main.tf、、和。Python 脚本使用官方 hashicorp/terraform Docker 镜像来运行 Terraform 命令(、、和),从而无需维护 Terraform 安装或版本,并在开发和部署之间提供了明确的划分variables.tf。outputs.tfterraform.tfvarsinitplanapply

下面的 Terraform 代码片段可以作为一个例子。它提供了一个 Azure 资源组和一个容器实例来托管机器学习 API。

main.tf/
provider "azurerm" {
  features {}
}
resource "azurerm_resource_group" "ml_rg" {
  name     = var.resource_group_name
  location = var.location
}
resource "azurerm_container_group" "ml_app" {
  name                = "ml-model-api"
  location            = azurerm_resource_group.ml_rg.location
  resource_group_name = azurerm_resource_group.ml_rg.name
  os_type             = "Linux"
  container {
    name   = "mlmodel"
    image  = var.container_image
    cpu    = "1.0"
    memory = "1.5"
    ports {
      port     = 80
      protocol = "TCP"
    }
  }
  ip_address_type = "public"
  dns_name_label  = var.dns_label
}

该方法的完整代码库(包括所有脚本和配置文件)可在 GitHub 上找到:https://github.com/yraj1457/MLOps

为什么这种方法更有效

自动化脚本将各个流程整合在一起,从而实现更高效的方法,最大限度地减少人工干预,并优雅地记录错误。此外,通过在 Docker 容器中运行工具,我们最大限度地减少了依赖关系,并保证了跨环境的一致性。该架构融合了基础设施自动化、DevOps 和 MLOps 的最佳实践。

结论

本文展示了如何利用最少的工具、更少的依赖和最大程度的自动化,从机器学习模型训练到部署,为数据科学家和 MLOps 工程师节省大量重复性工作。我们利用 Python 编写的自动化脚本,并使用 Docker 封装模型和 Terraform,构建了一个可重用、自动化且可扩展的环境。

这种方法具有高度可移植性,可以插入任何 CI/CD 工具,例如 GitHub Actions 或 Azure DevOps。基础已从这里设置,您可以根据自己的需求进行修改。 

以上就是从开发到部署:自动化机器学习的详细内容,更多请关注其它相关文章!


# 离线  # 佛山推广网站多少钱  # 宁波关键词排名首页  # 西安seo优化代理  # 营销网站设计推广文案  # 黄骅网页关键词排名  # 网站引流推广合同模版  # 适合淘客推广的网站  # 石家庄专业的seo  # 网络营销推广选择  # 增城网站优化推荐  # 命令行  # 中文网  # 工作流  # 配置文件  # linux  # 是一个  # 镜像  # 工作流程  # 基础设施  # 管理系统  # type  # fig  # red  # 为什么  # ai  # 工具  # docker  # git  # python 


相关栏目: 【 行业新闻62819 】 【 科技资讯67470


相关推荐: “具身智能”引爆机器人产业,看绝影Lite3/X20四足机器人有何特别之处?  专家解读国家网信办深度合成服务算法备案信息公告:不等于百度、阿里、腾讯等生成式AI产品获批  WHEE上线时间介绍  “可用”“有用”的讯飞星火认知大模型将亮相世界人工智能大会  AI拉动PCB发展|行业发现  东软成立魔形科技研究院,积极布局大语言模型系统工程战略,迎接AI时代  用AI技术点亮老照片:Deep Nostalgia带给照片新生动感  智能电网技术:提高能源效率和可靠性  郭帆谈ChatGPT:电影行业需要创新,否则人工智能将让电影变得平庸  元宇宙迈入2.0时代,它和生成式人工智能有何关联吗?  消息称 Meta Quest 将推 VR 游戏订阅:每月 7.99 美元,任选两款  走进首家“元宇宙”未来工厂,卡奥斯探知工业之旅出发!  Prompt解锁语音语言模型生成能力,SpeechGen实现语音翻译、修补多项任务  构建AI绘画网站的方法:使用API接口和调用步骤  华为大模型登Nature正刊!审稿人:让人们重新审视预报模型的未来  AI取代人工先拿教育行业开刀?美版“作业帮”启动裁员  学界业界大咖探讨:AI对数字艺术创新的推动力  PS AI修图免费平替来了!Stability AI又放大招,核弹级更新一键扩图  日入400万,第一批AI骗子已上岗  绿联发布笑脸屏幕显示充电状态的30W/65W Q湃机器人充电器  13条咒语挖掘GPT-4最大潜力,Github万星AI导师火了,网友:隔行再也不隔山了  2025年的网络分区:人工智能和自动化如何改变事物  开创全新虚拟现实体验的Pimax Crystal VR头显  第二届光合组织AI解决方案大赛赛果揭晓  你们的开机第一屏画面要变了!安卓机器人首次3D化  小红书陷入麻烦!被指控未经许可使用用户图片进行AI训练  聚焦WAIC|AI技术支撑大模型探索未来  小艺将具备大模型能力,鸿蒙4加速AI普及之路  280万条多模态指令-响应对,八种语言通用,首个涵盖视频内容的指令数据集MIMIC-IT来了  国产工业机器人领域“暗潮涌动”,即将迎来新一轮复苏  午报 | 字节跳动要造机器人;东方甄选首次启动自有APP|直播|  Midjourney创始人:AI应该成为人类思想的延伸  MetaGPT AI 模型开源:可模拟软件公司开发过程,生成高质量代码  6月14日《星空下的对话》 张朝阳陆川将畅聊人生、电影、心理学与AI  美军AI无人机“误杀”操作员,人工智能要在军事领域毁灭人类?  OpenAI大神Karpathy最新分享:为什么OpenAI内部对AI Agents最感兴趣  人形机器人打开精密齿轮市场全新空间!受益上市公司梳理  放弃自动驾驶,也是一种和解  “聚智启新,‘蓉’力同行” 成都市人工智能产业融通对接会成功举办  高质量数据推动AI场景化应用快速发展及落地  GPT-4 模型架构泄露:包含 1.8 万亿参数、采用混合专家模型  技术如何使人变得懒惰?  掌阅科技申请阅爱聊商标 掌阅科技申请AI相关商标  为什么很多人对纽约《人工智能招聘法》感到生气?  ChatGPT设计出的第一个机器人来了!【附人工智能行业预测】  360发布认知型通用大模型“360智脑4.0” 全面接入360全家桶  2025VR&AR显示技术峰会视频解析: 歌尔光学展示最新一代VR/AR光学模组  优化系统韧性:故障恢复与监控在RabbitMQ中的应用  微软在德国举办MR研讨会,向女性分享元宇宙潜力  马斯克反讽人工智能AI炒作:“机器学习”本质就是统计 

400 128 6709
E-mail

contact@tlftec.cn

扫一扫,添加微信

©  云南淘乐房科技有限公司 版权所有  滇ICP备2025071560号  

云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司 云南淘乐房科技有限公司