前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[AI Cog] 想要运营AI业务,但没有GPU?环境搞不定?使用Cog帮您轻松将业务部署上云

[AI Cog] 想要运营AI业务,但没有GPU?环境搞不定?使用Cog帮您轻松将业务部署上云

原创
作者头像
从零开始学AI
发布2024-07-17 08:57:17
640
发布2024-07-17 08:57:17
举报
文章被收录于专栏:AI

当你想开展AI业务,却没有GPU,你该怎么办?

可以考虑用Cog,将AI服务部署在云上,serverless。

我们来看下,如何用Cog将其上云。

找一台开发服务器

Cog

安装

代码语言:bash
复制
sudo curl -o /usr/local/bin/cog -L https://github.com/replicate/cog/releases/latest/download/cog_`uname -s`_`uname -m`
sudo chmod +x /usr/local/bin/cog

验证

这一步可以省略,非必须。主要用于验证你的环境是否ok。

代码语言:bash
复制
sudo cog predict r8.im/stability-ai/stable-diffusion@sha256:f178fa7a1ae43a9a9af01b833b9d2ecf97b1bcb0acfd2dc5dd04895e042863f1 -i prompt="a pot of gold"

初始化

代码语言:bash
复制
cog init

生成主要文件

代码语言:bash
复制
├── cog.yaml # 类似 docker file,定义环境
├── predict.py # 推理代码

写代码

修改代码如下

cog.yaml 类似 docker file,定义环境

代码语言:yaml
复制
# Configuration for Cog ⚙️
# Reference: https://cog.run/yaml

build:
  # set to true if your model requires a GPU
  gpu: false

  # a list of ubuntu apt packages to install
  # system_packages:
  #   - "libgl1-mesa-glx"
  #   - "libglib2.0-0"

  # python version in the form '3.11' or '3.11.4'
  python_version: "3.10"

  # a list of packages in the format <package-name>==<version>
  # python_packages:
  #   - "numpy==1.19.4"
  #   - "torch==1.8.0"
  #   - "torchvision==0.9.0"

  # commands run after the environment is setup
  # run:
  #   - "echo env is ready!"
  #   - "echo another command if needed"

# predict.py defines how predictions are run on your model
predict: "predict.py:Predictor"

predict.py 定义了输入(name: str, scale: float),输出(str),推理过程

代码语言:python
代码运行次数:0
复制
# Prediction interface for Cog ⚙️
# https://cog.run/python

from cog import BasePredictor, Input, Path

class Predictor(BasePredictor):
    def setup(self) -> None:
        """Load the model into memory to make running multiple predictions efficient"""
        # self.model = torch.load("./weights.pth")

    def predict(
        self,
        name: str = Input(description="Your name"),
        # image: Path = Input(description="Grayscale input image"),
        scale: float = Input(
            description="Factor to scale image by", ge=0, le=10, default=1.5
        ),
    ) -> str:
        """Run a single prediction on the model"""
        # processed_input = preprocess(image)
        # output = self.model(processed_image, scale)
        # return postprocess(output)
        return "hello " + name + " and scale " + str(scale)

本地测试

测试一下

代码语言:bash
复制
cog predict -i name=从零开始学AI

输出

代码语言:bash
复制
Starting Docker image cog-git-base and running setup()...
Running prediction...
hello 从零开始学AI and scale 1.5

部署

在云上 create model

push model 到云上

代码语言:bash
复制
cog login
cog push r8.im/<your-username>/<your-model-name>

云上测试

cog-input
cog-input
cog-output
cog-output

测试成功!

之后,就可以用 api 调用

结论

本文主要演示如何用 Cog 上云的整个流程。

文中的例子,未使用 GPU 。如有需要,可查文档。


原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Cog
    • 安装
      • 验证
      • 初始化
      • 写代码
      • 本地测试
      • 部署
      • 云上测试
      • 结论
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档