快速上手Amazon SageMaker动手实验室

最近人工智能爆火啊,前有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的知识,请阅读亚马逊 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的服务配额

快速上手Amazon SageMaker动手实验室

申请提高配额

选中需要提高的服务配额,单击右上角 请求增加配额
快速上手Amazon SageMaker动手实验室

更改配额值为 1
快速上手Amazon SageMaker动手实验室

创建Amazon SageMaker Notebook实例

打开Amazon SageMaker控制台

直达链接:https://ap-northeast-1.console.aws.amazon.com/sagemaker/home?region=ap-northeast-1
快速上手Amazon SageMaker动手实验室

创建Notebook实例

需要滑动左侧的服务框,找到笔记本–>笔记本实例—右上角创建笔记本实例
快速上手Amazon SageMaker动手实验室

设置笔记本实例的名称、选择笔记本实例、以及存储的大小
快速上手Amazon SageMaker动手实验室

对于权限和加密,点击角色下拉框,然后点击 创建新角色
快速上手Amazon SageMaker动手实验室

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

点击创建笔记本实例
快速上手Amazon SageMaker动手实验室

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

构建Stable-Diffusion环境

**查看Jupyter Lab控制台,选择最下面的 Terminal **
快速上手Amazon SageMaker动手实验室

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

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

快速上手Amazon SageMaker动手实验室

双击打开刚刚下载的Notebook文件,需要注意我们要选择内核,请选择conda_pytorch_p39
快速上手Amazon SageMaker动手实验室

修改提示词,生成新图片
快速上手Amazon SageMaker动手实验室

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

创建Cloud 9 环境

快速上手Amazon SageMaker动手实验室

根据自己的需求设置名称,选择实例的大小以及实例的系统
快速上手Amazon SageMaker动手实验室

快速上手Amazon SageMaker动手实验室

快速上手Amazon SageMaker动手实验室

构建Web应用

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

wget https://static.us-east-1.prod.workshops.aws/public/73ea3a9f-37c8-4d01-ae4e-07cf6313adac/static/code/SampleWebApp.zip
unzip SampleWebApp.zip
pip install Flask boto3

等待Web应用运行起来后,开始使用描述词来生成我们的图片
快速上手Amazon SageMaker动手实验室

快速上手Amazon SageMaker动手实验室

清理

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

结论

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

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

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

创建Amazon SageMaker NoteBook实例

需要滑动左侧的服务框,找到笔记本–>笔记本实例—右上角创建笔记本实例
快速上手Amazon SageMaker动手实验室

设置笔记本实例的名称、选择笔记本实例、以及存储的大小
快速上手Amazon SageMaker动手实验室
对于权限和加密,点击角色下拉框,然后点击 创建新角色
快速上手Amazon SageMaker动手实验室
快速上手Amazon SageMaker动手实验室

等待实例服务状态为InService即可打开JupyterLab
快速上手Amazon SageMaker动手实验室

运行Notebook实验手册

克隆存储库

cd SageMaker
git clone https://github.com/dgnzlz/Capstone_AWS_DeepRacer.git

快速上手Amazon SageMaker动手实验室

快速上手Amazon SageMaker动手实验室

运行Notebook

快速上手Amazon SageMaker动手实验室
根据自己的需求设置赛道
快速上手Amazon SageMaker动手实验室

查看生成的奖励函数和ActionSpace

快速上手Amazon SageMaker动手实验室

结论

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

清理

请删除对应的Notebook实例

三、Amazon SageMaker JumpStart构建图像分类

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

启动Amazon SageMaker Studio

创建 域名

快速上手Amazon SageMaker动手实验室

设置域名名称,用户配置文件名称,执行角色
快速上手Amazon SageMaker动手实验室
快速上手Amazon SageMaker动手实验室
等待SageMaker 域创建成功
快速上手Amazon SageMaker动手实验室

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

进入到MobileNet V2模型页面

快速上手Amazon SageMaker动手实验室
快速上手Amazon SageMaker动手实验室
快速上手Amazon SageMaker动手实验室

训练/部署模型

快速上手Amazon SageMaker动手实验室

训练模型

快速上手Amazon SageMaker动手实验室
快速上手Amazon SageMaker动手实验室

部署模型

确认模型训练完成
快速上手Amazon SageMaker动手实验室

部署模型
快速上手Amazon SageMaker动手实验室

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

快速上手Amazon SageMaker动手实验室
快速上手Amazon SageMaker动手实验室

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

import boto3
from 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>')

快速上手Amazon SageMaker动手实验室

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

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()

快速上手Amazon SageMaker动手实验室

查看模型是否正确地对玫瑰和向日葵图像进行了分类
快速上手Amazon SageMaker动手实验室

清理

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

结论

在本实验中,您已经部署了预训练图像分类模型来运行推理,然后在新数据集上微调预训练图像分类模型以对不属于预训练数据集的对象进行分类。借助 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

发表回复