最近人工智能爆火啊,前有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 SageMaker
wget https://static.us-east-1.prod.workshops.aws/public/648e1f0c-f5e0-40eb-87b1-7f3638dba539/static/code/notebook-stable-diffusion.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.zip
unzip SampleWebApp.zip
pip 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 SageMaker
git 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 boto3
from IPython.core.display import HTMLroses_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或者研讨会来学习到更多的知识。希望这篇博文能够帮助到您,感谢阅读。
参考资料
-
端到端体验AIGC-从SageMaker到Web应用:https://catalog.us-east-1.prod.workshops.aws/workshops/3b86fa89-da3a-4e5f-8e77-b45fb11adf4a/zh-CN
-
Amazon SageMaker JumpStart:https://catalog.us-east-1.prod.workshops.aws/workshops/63069e26-921c-4ce1-9cc7-dd882ff62575/en-US/lab9
-
Capstone_AWS_DeepRacer:https://github.com/dgnzlz/Capstone_AWS_DeepRacer