GitHub Actions自动化测试与容器化部署实践

GitHub Actions自动化测试与容器部署

1、使用 GitHub Actions 测试具有两个或更多 Python 版本的 GitHub 项目。

要使用 GitHub Actions 测试具有两个或更多 Python 版本的 GitHub 项目,可在 GitHub Actions 的配置文件中使用矩阵策略。以下是一个示例配置文件,展示如何测试 Python 3.5 和 3.8 两个版本:

```yaml
name: Multi - Python Version Test
on: [push]
jobs:
  build:
    runs - on: ubuntu - latest
    strategy:
      matrix:
        python - version: [3.5.10, 3.8]
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python ${
  
  { matrix.python - version }}
        uses: actions/setup - python@v1
        with:
          python - version: ${
  
  { matrix.python - version }}
      - name: Install dependencies
        run: |
          make install
      - name: Lint
        run: |
          make lint
      - name: Test
        run: |
          make test

在这个配置中, strategy.matrix 定义了要测试的 Python 版本列表。对于每个版本,GitHub Actions 会创建一个单独的作业来执行安装依赖、代码检查和测试步骤。


##2、通过集成 Dockerfile 对 GitHub 项目进行容器化,并自动将新容器注册到容器注册表。
可以按以下步骤操作:

1. 创建 Dockerfile 并在脚本中构建镜像,如 `docker build --tag=noahgift/mlops-cookbook .`;

2. 可使用 GitHub Actions 自动构建容器并推送到 GitHub Container Registry,示例代码如下:

   ```yaml
   build-container:
     runs-on: ubuntu-latest
     steps:
       - uses: actions/checkout@v2
       - name: Loging to GitHub registry
         uses: docker/login-action@v1
         with:
           registry: ghcr.io
           username: ${
  
  { github.repository_owner }}
           password: ${
  
  { secrets.BUILDCONTAINERS }}
       - name: build flask app
         uses: docker/build-push-action@v2
         with:
           context: ./
           tags: ghcr.io/noahgift/python-mlops-cookbook:latest
           push: true
   ```

需注意要将标签更改为自己的容器注册表。

##3、深度学习如何从云端获益?没有云计算,深度学习是否可行?
## 深度学习与云计算的结合优势

深度学习可以充分利用云计算所提供的近乎无限的计算和存储资源。通过利用云的大规模并行处理能力,例如使用 Google Cloud 的 Accelerator Optimized 实例,能够进一步借助 NVIDIA GPU 提供的强大并行计算能力。

如果没有云计算的支持,许多机器学习模型,尤其是深度学习模型的运行以及模型的运营操作,将变得难以实现。

##4、解释什么是MLOps以及它如何提升机器学习工程项目。
# MLOps:自动化机器学习的行为

**MLOps** 是运用 **DevOps 方法** 自动化机器学习过程的一种行为。它旨在通过最佳实践帮助**机器学习工程师**构建更高效的机器学习系统。

## 为什么需要 MLOps?

当前构建机器学习系统面临诸多挑战,包括:

- 过度关注“代码”和技术细节,而非解决实际的**业务问题**
- 缺乏**自动化**流程
- 存在 **HiPPO 文化**(Highest Paid Person's Opinion)
- 大量机器学习方案**非云原生**
- 使用的**学术数据集**和**软件包**难以应对大规模实际问题

## MLOps 的核心价值

与 **DevOp
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值