全部产品
Search
文档中心

函数计算:人工智能最佳实践

更新时间:Dec 05, 2024

您可以通过函数计算控制台、SDK或Serverless Devs来体验GPU实例的最佳实践。本文以Python语言为例,说明如何通过控制台,将原始图像经过函数代码处理,实现风格合成以及对象检测。

应用场景与优势

传统的面向人工智能应用的GPU基础设施,通常会面临着建设周期长、运维复杂度高、集群利用率低和成本较高等问题。函数计算的GPU实例将这些问题从用户侧转移至云厂商侧,让您无需关心底层GPU基础设施,完全聚焦于业务本身,极大地简化了业务的实现路径。

在不同的应用场景下,函数计算提供的GPU实例与CPU相比所具备的优势如下。

  • 成本优先的AI应用场景

    • 提供弹性预留模式,从而按需为客户保留GPU工作实例,对比自建GPU集群拥有较大成本优势。

    • 提供GPU共享虚拟化,支持以1/2、独占方式使用GPU,允许业务以更精细化的方式配置GPU实例。

  • 效率优先的AI应用场景

    • 屏蔽运维GPU集群的繁重负担(驱动/CUDA版本管理、机器运行管理、GPU坏卡管理),使得开发者专注于代码开发、聚焦业务目标的达成。

GPU实例的更多信息,请参见实例类型及使用模式

神经风格迁移教程

神经风格迁移是一种生成技术,主要用来合成两张图像,即从其中一张图像提取内容,另一张图像提取风格,以合成一张新图像。本示例通过使用TensorFlow Hub预置模型,完成任意图像的风格合成。

合成效果

内容图像

风格图像

合成图像

tensorflow_example_dog

tensorflow_example_style_dog

tensorflow_example_result_dog

前提条件

  • 通用

    • GPU实例仅支持通过容器镜像方式部署。

    • 将需处理的音视频资源上传至在GPU实例所在地域的OSS Bucket中,且您对该Bucket中的文件有读写权限。具体步骤,请参见控制台上传文件。权限相关说明,请参见修改存储空间读写权限

通过函数计算控制台部署GPU应用

  1. 部署镜像。

    1. 建容器镜像服务的企业版实例或个人版实例。

      推荐您创建企业版实例。具体操作步骤,请参见创建企业版实例

    2. 创建命名空间和镜像仓库。

    3. 容器镜像服务控制台,根据界面提示完成Docker相关操作步骤。然后将上述示例app.pyDockerfile推送至实例镜像仓库。

      db-acr-docker

  2. 创建GPU函数。具体操作步骤,请参见创建Custom Container函数

  3. 修改函数的执行超时时间。

    1. 在目标函数的配置页签,在左侧导航栏,选择运行时,然后单击运行时右侧的编辑

    2. 运行时面板,修改执行超时时间,然后单击确定

    说明

    CPU转码耗时会超过默认的60s,因此建议您修改执行超时时间为较大的值。

  4. 配置GPU预留实例。关于配置预留实例的具体操作,请参见配置预留实例

    配置完成后,您可以在规则列表查看预留的GPU实例是否就绪。即当前预留实例数是否为设置的预留实例数。

  5. 使用cURL测试函数。

    1. 在函数详情页面,单击配置页签,然后在左侧导航栏,选择触发器,查看触发器的配置信息,获取触发器的访问地址。

    2. 在命令行执行如下命令,调用GPU函数。

      • 查看线上函数版本

        curl -v "https://tgpu-ff-console-tgpu-ff-console-ajezot****.cn-shenzhen.fcapp.run"
        {"function": "trans_gpu"}
      • 执行风格迁移

        curl "https://tgpu-fu-console-tgpu-se-console-zpjido****.cn-shenzhen.fcapp.run" -H 'RUN-MODE: normal'
        {"result": "transfer ok"}

结果验证

您可通过在浏览器中访问以下域名,查看经过风格合成处理后的图片:

https://cri-zbtsehbrr8******-registry.oss-cn-shenzhen.aliyuncs.com/stylized-image.png

本域名仅为示例,需以实际情况为准。