当前位置:AIGC资讯 > AIGC > 正文

借助亚马逊云科技生成你的第一张AIGC图片

        一幅绘画引领的AIGC(AI Generated Content,人工智能生成内容)热潮! 2022年9月AI绘画“太空歌剧院”获得美国科罗拉多州博览会一等奖,同年11月底ChatGPT(人工智能对话聊天机器人)推出并迅速风靡全球,从时间节点上可以看出AIGC热度先于ChatGPT。

        今天一起来动手在亚马逊云科技SageMaker服务上快速搭建基于Stable Diffusion (文生图模型)的 AI 作画应用。

        关于如何申请亚马逊云科技Global账号这里就不再过多赘述,请参考我的另一篇Blog《如何通过AWS Route53注册域名》中的讲解。

        部署AIGC模型至Amazon SageMaker Inference Endpoint,并体验通过Web应用访问。第一步请确保您有足够的限额。

一、申请Endpoint配额

1. 请点击链接https://ap-northeast-1.console.aws.amazon.com/servicequotas/home/services/sagemaker/quotas

 或登陆AWS Management Console,区域选择“亚太地区 (东京)ap-northeast-1”右上角点击“用户名”后出现下拉菜单,选择“Service Quotas” ,点击左侧“AWS服务”,搜索栏输入“SageMaker”。如图

 2. 在配额搜索框中输入ml.g4dn.xlarge for endpoint usage 并选中,请注意“AWS默认配额值”为“0”需要进行“请求增加配额”操作。

3.请求提高配额时,注意“更改配额值”需大于“已应用的配额值”。如:这里我已用配额值为2,那更改的配额值至少填写为3。最后点击“请求”完成提额操作。如图

4.完成提额操作后,您的邮箱会收到提额已受理的提醒、处理及完成邮件。也可以在Console--Service Quotas页面“配额请求历史记录” 中见到刚才的提额记录。这个受理过程持续约为24小时内(Basic用户),当然这取决于您账户的“Suppor计划”。

二、创建Amazon SageMaker Notebook实例

1.进入Console页面,确认Region:东京,在搜索栏输入:SageMaker,页面会出现服务:“Amazon SageMaker”点击

 2.进入SageMaker服务界面后在左侧找到“笔记本”并点击,看到“笔记本实例”点击右侧“创建笔记本实例”。因为我们需要创建一个实例来运行 Jupyter Notebook 应用程序的ML(机器学习)计算实例。

3.“创建笔记本实例”注意事项:

A. 笔记本实例设置

a.“笔记本实例名称”根据个人喜好自己填写;

b.“笔记本实例类型”选择“ml.g4dn.xlarge”

c.“平台标识符”选择“Amazon Linux 2, Jupyter Lab 3”

d. 展开“其他配置”选项,“卷大小”建议设为“75”

B. 权限和加密

IAM角色选择“创建新角色”,保持默认值,点击“创建角色”

其他选项保持默认值点击右下角“创建笔记本实例”。

若是出现下图错误:

请返回“Service Quotas”页面检查SageMaker--ml.g4dn.xlarge笔记本实例配额,若“已应用的配额值”=0,请进行提额操作,步骤同前面Endpoint提额操作。 

亚马逊科技Support Team受理ml.g4dn.xlarge for notebook instance usage提额成功后,请重新进行“创建Amazon SageMaker Notebook实例”操作,“创建笔记本实例”过程持续数分钟。你可以通过点击“刷新”按钮,确认创建是否成功。如图 

三、打开Jupyter Notebook 

四、下载/上传Notebook Code 

Download link

Notebook代码是本次动手训练营的主要内容。该代码文件包含以下内容:

在笔记本实例中下载并测试AIGC模型文件

编写模型推理入口代码,打包模型文件,并上传至S3桶

使用代码部署模型至SageMaker Inference Endpoint

(可选)使用会话管理器连接至SageMaker Inference Endpoint进行远程调试

1. 在Jupyter Notebook中点击图1“Upload”找到刚下载的Code文件打开,图2左侧可以见到Code文件,再点击右侧蓝色“Upload”,图3是操作成功的截图。

 点击上传成功的文件进入Notebook中

 2. Notebook打开时显示“Kernel not found”,请确保Kernel匹配conda_pytorch_p38,这里请选择conda_pytorch_p39,再点击“Set Kernel”。 

 3. 在Notebook中Running Code

Code 执行时你切换至另一页面时,会见到Jupyter页面抬头呈现,再切回Jupyter可以看到内容输出(图1)。也可以通过Code前面的括号进行区分(图2)

 Running过程中“2.在Notebook中配置并使用模型—加载模型”有Warning提示请忽略,这里不影响图片生成。

这里会生成两张图片,如图 

当然,也可以根据自己的喜好更改此处的Prompts 内容生成自己喜欢的图片。 

五、可以借助亚马逊云科技Cloud 9服务布署Web应用来调用SageMaker Endpoint

1. Console页面搜索栏输入“Cloud 9”并进入,点击“Create environment”

2. Create environment页面,Name名称请保持您的 AWS Cloud9 环境分配一个账户内唯一且符合命名要求的名称。其余部分保持默认值,滑动到页面末端点击右下角“Create”,直到提示创建成功。

3. 点击“Open”打开刚创建的环境

4. 上传/下载Web应用

在Cloud9控制台中输入以下指令下载保存Web应用程序代码压缩文件,并将该压缩文件进行解压。

cd ~/environment
wget https://static.us-east-1.prod.workshops.aws/public/73ea3a9f-37c8-4d01-ae4e-07cf6313adac/static/code/SampleWebApp.zip
unzip SampleWebApp.zip

5. 在Cloud9中安装Flask和boto3

在指令中输入:pip3 install Flask

 再接着输入指令:pip3 install boto3 安装boto3

6. 运行app.py

打开SampleWebApp文件夹,找到app.py选中点击鼠标右键点击“Open”,再点击“Run”运行代码

7. 预览Web应用

点击Cloud9控制台正上方“Preview—Preview Running Application”,出现Web页面。Web页面可以点击“Browser”右侧图标,可以弹出到新窗口。

 假如在Web页面输入相关信息后,生成图片报错(下图),请检查Cloud9 Environment是否运行正常,重新运行就可以正常生成图片了。

以上,是这次动手训练营的实操及遇到的一些问题排错。

最后,各位一定要记得清除本次实验开启的资源。

实验参考手册:

https://catalog.us-east-1.prod.workshops.aws/workshops/3b86fa89-da3a-4e5f-8e77-b45fb11adf4a/zh-CN

更新时间 2023-12-09