写点什么

快速上手 Amazon SageMaker 动手实验室

作者:指剑
  • 2023-04-23
    重庆
  • 本文字数:3481 字

    阅读完需:约 11 分钟

最近人工智能爆火啊,前有 AIGC 后有 ChatGPT,ChatGPT 倒是可以很简单的体验到,但是 AIGC 这个似乎需要一点动手能力,而且还要考虑下我们本地的环境了。恰好我最近受邀参加了亚马逊云科技【云上探索实验室】的活动,基于他们的Amazon SageMaker服务来做了以下三个小实验,有包括 AIGC,Deepracer 还有图像分类,整体流程体验下来比想象中好太多了,即便是一个新手也可以通过 Amazon SageMaker 来掌握下面三个实验,而且不需要您再考虑基础环境配置了,可以更加专注于业务。那么就让我们来跟着下面的实验手册和演示视频一起来操作吧!


最近我恰好受邀参与了亚马逊云科技[云上探索实验室]活动,利用 Amazon SageMaker 平台搭建了自己的 AIGC 应用,整个过程只用了不到 20 分钟。同时还为您准备好了活动链接,您可以通过由 AWS 和 CSDN 共同举办的活动领取精美礼品:https://dev.amazoncloud.cn/experience?trk=cndc-detail&sc_medium=corecontent&sc_campaign=product&sc_channel=csdn


这个动手实验室会通过三个不同类型的实验引导您如何使用 Amazon SageMaker,让您感受 SageMaker 的非凡之处。


  • 使用Amazon SageMaker构建Stable-Diffusion 这个实验会引导您通过 Amazon SageMaker NoteBook 实例来构建 AIGC 环境,同时您可以体验到使用提示词来使 AI 生成图片,在后续环节中还会引导您构建前后端 Web 应用,让您直接在 Web 端也可以体验到自己的 AIGC

  • 使用Amazon SageMaker加速你的Deepracer小车 这个实验会引导您通过 Amazon SageMaker 使用开源库来加速您的 DeepRacer 小车,更加简化您的智能驾驶流程.

  • Amazon SageMaker JumpStart构建图像分类 通过这个实验,会引导您使用 Amazon SageMaker JumpStart 构建图像分类,JumpStart 支持一键式部署以及对这些模型进行微调,因此您可以在部署前逐步训练和调整模型,在本实验中,您将使用 Amazon SageMaker JumpStart 构建图像分类模型,并使用该模型对花卉的图像进行分类.


如果您想获取更多有关 Amazon SageMaker 的知识,请阅读亚马逊 SageMaker.

一、使用 Amazon SageMaker 构建 Stable-Diffusion

使用Amazon SageMaker构建Stable-Diffusion:https://www.bilibili.com/video/BV1c24y1E7a5?p=1


区域: ap-northeast-1(东京)

服务配额

Service-Quota配额控制台:https://ap-northeast-1.console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas本次实验需要用到 GPU 实例,如果您使用的是个人账号,请先确认您有ml.g4dn.xlarge的服务配额


申请提高配额

选中需要提高的服务配额,单击右上角 请求增加配额



更改配额值为 1


创建 Amazon SageMaker Notebook 实例

打开 Amazon SageMaker 控制台

直达链接:https://ap-northeast-1.console.aws.amazon.com/sagemaker/home?region=ap-northeast-1


创建 Notebook 实例

需要滑动左侧的服务框,找到笔记本-->笔记本实例---右上角创建笔记本实例



设置笔记本实例的名称、选择笔记本实例、以及存储的大小



对于权限和加密,点击角色下拉框,然后点击 创建新角色



在本次实验中需要用到 S3 存储桶来存放模型文件,在此处可以选择任意存储桶或者特定的存储桶



点击创建笔记本实例



等待大约 4 分钟左右,笔记本实例的状态为InService,我们就可以点击JupyterLab进行实验了


构建 Stable-Diffusion 环境

**查看 Jupyter Lab 控制台,选择最下面的 Terminal **



在此处我们需要下载本次实验的 Notebook 代码文件


cd SageMakerwget https://static.us-east-1.prod.workshops.aws/public/73ea3a9f-37c8-4d01-ae4e-07cf6313adac/static/code/notebook-stable-diffusion-ssh-inference.ipynb
复制代码



双击打开刚刚下载的 Notebook 文件,需要注意我们要选择内核,请选择conda_pytorch_p39



修改提示词,生成新图片


利用 Amazon Cloud 9 构建前后端 Web 应用

创建 Cloud 9 环境


根据自己的需求设置名称,选择实例的大小以及实例的系统




构建 Web 应用

这里步骤就是 下包解压装依赖,服务一跑出图片


wget https://static.us-east-1.prod.workshops.aws/public/73ea3a9f-37c8-4d01-ae4e-07cf6313adac/static/code/SampleWebApp.zipunzip SampleWebApp.zippip install Flask boto3
复制代码


等待 Web 应用运行起来后,开始使用描述词来生成我们的图片



清理

请删除对应的 Notebook 实例,以及推理里面的终端节点

结论

在本次实验中,您可以轻松的通过 Amazon SageMaker 来完成本次实验,并且您无需动手添加额外代码,为考虑到用户的体验,亚马逊云科技工程师还提供了 Web 端应用,确实更加方便。

二、使用 Amazon SageMaker 加速你的 Deepracer 小车

使用Amazon SageMaker加速你的Deepracer小车:https://www.bilibili.com/video/BV1c24y1E7a5?p=2

创建 Amazon SageMaker NoteBook 实例

需要滑动左侧的服务框,找到笔记本-->笔记本实例---右上角创建笔记本实例



设置笔记本实例的名称、选择笔记本实例、以及存储的大小



对于权限和加密,点击角色下拉框,然后点击 创建新角色




等待实例服务状态为InService即可打开JupyterLab


运行 Notebook 实验手册

克隆存储库

cd SageMakergit clone https://github.com/dgnzlz/Capstone_AWS_DeepRacer.git
复制代码



运行 Notebook


根据自己的需求设置赛道


查看生成的奖励函数和 ActionSpace

结论

在本次实验中,可以以极低的时间成本完成,无需考虑底层的环境以及线上的一个依赖库,极大的简化了用户的操作流程,同时有免费套餐覆盖本次实验内容,用户无需担心费用问题。

清理

请删除对应的 Notebook 实例

三、Amazon SageMaker JumpStart 构建图像分类

Amazon SageMaker JumpStart构建图像分类:https://www.bilibili.com/video/BV1c24y1E7a5?p=3

启动 Amazon SageMaker Studio

创建 域名


设置域名名称,用户配置文件名称,执行角色




等待SageMaker 域创建成功


部署/微调预训练图像分类模型

进入到 MobileNet V2 模型页面



训练/部署模型

训练模型


部署模型

确认模型训练完成



部署模型


使用微调模型对图像进行分类



在第一个代码单元格下方插入一个新单元格以显示示例花卉图像


import boto3from IPython.core.display import HTML
roses_jpg, sunflowers_jpg, roses2_jpg, sunflowers2_jpg = "roses.jpg", "sunflowers.jpg", "roses2.jpg", "sunflowers2.jpg"HTML('<table><tr><td> <img src="roses.jpg" alt="roses" style="height: 250px;"/> <figcaption>roses.jpg</figcaption>' '</td><td> <img src="sunflowers.jpg" alt="sunflowers" style="height: 250px;"/> <figcaption>sunflowers.jpg</figcaption>' '</td><td> <img src="roses2.jpg" alt="roses" style="height: 250px;"/> <figcaption>roses2.jpg</figcaption>' '</td><td> <img src="sunflowers2.jpg" alt="sunflowers" style="height: 250px;"/> <figcaption>sunflowers2.jpg</figcaption>' '</td></tr></table>')
复制代码



插入一个新单元格并添加代码以打开图像并将它们加载到内存中


images = {}with open(roses_jpg, 'rb') as file: images[roses_jpg] = file.read()with open(sunflowers_jpg, 'rb') as file: images[sunflowers_jpg] = file.read()with open(roses2_jpg, 'rb') as file: images[roses2_jpg] = file.read()with open(sunflowers2_jpg, 'rb') as file: images[sunflowers2_jpg] = file.read()
复制代码



查看模型是否正确地对玫瑰和向日葵图像进行了分类


清理

请删除对应的用户配置文件,

结论

在本实验中,您已经部署了预训练图像分类模型来运行推理,然后在新数据集上微调预训练图像分类模型以对不属于预训练数据集的对象进行分类。借助 JumpStart,您无需代码即可完成两个模型的训练和部署

总结

通过本次的 Amazon SageMaker Hands-on,即便是新手也可以根据视频和博客的引导,快速的完成本次实验,增加对 Amazon SageMaker 的一个了解。同时亚马逊云科技官方也考虑到了不同用户的水平以及经济情况,提供了很多的 workshop 以及一些免费的产品额度,极大的提高了用户使用体验,为用户节省了时间、金钱成本。虽然实验非常简单,但是从整个 Amazon SageMaker 来看,其提供了非常强大的功能,需要更加专业的实验才可以完整的体验到 Amazon SageMaker 的强大能力。那么在最后也希望同志们可以更进一步的去了解 Amazon SageMaker,比如通过一些亚马逊云科技官方提供的 workshop 或者研讨会来学习到更多的知识。希望这篇博文能够帮助到您,感谢阅读。

参考资料

  1. 端到端体验AIGC-从SageMaker到Web应用:https://catalog.us-east-1.prod.workshops.aws/workshops/3b86fa89-da3a-4e5f-8e77-b45fb11adf4a/zh-CN

  2. Amazon SageMaker JumpStart:https://catalog.us-east-1.prod.workshops.aws/workshops/63069e26-921c-4ce1-9cc7-dd882ff62575/en-US/lab9

  3. Capstone_AWS_DeepRacer:https://github.com/dgnzlz/Capstone_AWS_DeepRacer


发布于: 刚刚阅读数: 4
用户头像

指剑

关注

InfoQ签约作者 2022-07-13 加入

AWS社区建设者,AWS学生大使,微软学生大使,阿里云签约作者,Info Q签约作者,CSDN博客专家,华为云云享专家

评论

发布
暂无评论
快速上手Amazon SageMaker动手实验室_AI_指剑_InfoQ写作社区