基于函数计算模板部署AI应用实践

本文涉及的产品
简介: 在本实验场景中,将向大家介绍如何基于阿里云函数计算FC服务部署Stable Diffusion实现文字到图片的生成;以及部署ImageAI 目标检测应用,对现有图片内容进行检测。

引言

人工智能生成内容(Artificial Intelligence Generated Content,简称 AIGC)是当下最火的概念之一。随着 AI 技术的快速发展以及众多开源项目(如Stable Diffusion)的诞生,每个人都可以很轻松且廉价的使用到 AIGC。Serverless是一种云原生开发模式,可使开发人员专注构建和运行应用,而无需关注和管理服务器等底层基础设施及其运维。在本实验场景中,我们将向大家介绍如何基于阿里云Serverless服务函数计算FC部署Stable Diffusion实现文字到图片的生成;以及部署ImageAI 目标检测应用,对现有图片内容进行检测。这是一项接近零基础的教程,其中并不会包含复杂的概念或者深奥的算法,旨在让您轻松便利的体验Serverless架构和AIGC技术。

函数计算

阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,您无需管理服务器等基础设施,只需编写代码并上传。函数计算会为您准备好计算资源,以弹性、可靠的方式运行您的代码,并提供日志查询、性能监控、报警等功能。

产品地址:https://www.aliyun.com/product/fc?spm=5176.224200.J_4VYgf18xNlTAyFFbOuOQe.102.5197586c8UbVep

产品优势:

image.png

产品文档:https://help.aliyun.com/zh/fc/product-overview/what-is-function-compute

产品架构:

image.png


Stable Diffusion

Stable Diffusion 是一种扩散模型(Diffusion Model)的变体,称为“潜在扩散模型”(Latent Diffusion Model),使用这个模型,可以生成包括人脸在内的任何图像。Stable Diffusion 能够根据我们提供的一些提示词以及可以调整的部分参数,通过模型计算生成一张不错的图片。



ImageAI

本节会创建ImageAI目标检测应用,ImageAI是用于图像预测、自定义图像预测、对象检测、视频检测、视频对象跟踪和图像预测训练,本实验会使用ImageAI的图像预测功能,对Stable Diffusion中生成的图片进行预测,ImageAI函数应用在Bucket上传图片后,会自动触发ImageAI 目标检测函数生成图片检测结果。

使用ImageAI进行目标检测非常简单,以下是一个示例代码:

from imageai.Detection import ObjectDetection

# 创建ObjectDetection对象
detector = ObjectDetection()

# 选择要使用的模型
detector.setModelTypeAsYOLOv3()
detector.setModelPath("path_to_model")

# 加载模型
detector.loadModel()

# 检测图像中的物体
detections = detector.detectObjectsFromImage(input_image="input.jpg", output_image_path="output.jpg")

# 打印检测结果
for detection in detections:
    print(detection["name"], " : ", detection["percentage_probability"])

上述代码首先创建了一个ObjectDetection对象,并选择了要使用的模型(例如YOLOv3)。然后加载模型并调用detectObjectsFromImage方法对输入图像进行目标检测。最后,可以遍历检测结果并打印出每个检测到的物体及其置信度。

除了静态图像,ImageAI还支持对视频和摄像头流进行目标检测。通过类似的方式,可以实现对视频中的物体进行实时检测。


基于函数计算模板部署AI应用实践

进入函数计算控制台,点击应用,或将以下地址复制进远程桌面的浏览器地址栏直接进入:

https://fcnext.console.aliyun.com/applications

image.png

选择通过模板创建应用,在热门应用中选择AI数字绘画stable-diffusion自定义模型版,或者可以在右侧搜框通过名称检索找到AI数字绘画stable-diffusion自定义模型版,再点击立即创建。

image.png

进入应用选择配置界面,按照以下配置进行部署:

image.png

在弹出的创建提醒界面中,勾选已知当前收费项和我已经了解上面的内容,并同意上述描述,然后点击同意并继续部署

image.png

点击部署后,会自动跳转至部署界面,然后等待部署完成(大约需要等待2分钟),在部署时也可以查看 日志 观察应用部署情况

image.png

等待应用状态显示部署成功时即表示应用已经部署完成,并且可以在WebUI域名栏查看到应用访问地址

image.png

在应用详情界面,点击WebUI 域名的应用访问地址,即可自动跳转至WebUI界面(首次访问需要加载几分钟时间,请耐心等待)

image.png

加载完成之后,WebUI返回如下页面,表示已成功进入Stable Diffusion WebUI的操作界面。应用已预置了默认的提示词(如下图红框内),可以协助快速生成第一张图片

image.png

直接点击右上角生成按钮,在图片生成的过程中,我们可以在页面上看到生成过程的中间图片逐渐变得清晰。同时,也可以通过进度条直观的了解图片生成的进度和预估剩余时间

image.png

生成你的自定义图片:可以在文生图的文本框中,填入中文/英文提示词,之后单击右侧的生成按钮即可

提示词就是生成图片的依据,既可以是描述需要生成内容的词,如:girl, sunset, forest 等;也可以是用于是描述图像属性的词,如:best quality, beautiful, masterpiece 等。我们甚至可以通过提示词选择图片生成的视角、光线、画风;人物的姿势、着装、表情;背景的内容等。我们建议加上画风描述词,让图片更加美观,如:Cyberpunk(赛博朋克),shinkai makoto(新海诚),Ghibli Studio(吉卜力),Paul Gauguin(梵高)等等

生成图片后,我们点击图片下方的 保存 按钮,再点击 Download 按钮将图片下载到本地,记录图片保存的位置,图片将在后续步骤中使用。

下载完成后修改图片名称为fc_test.png。

在下载通知条栏中点击在文件夹中显示。

image.png

image.png

将以下地址复制进远程桌面的浏览器地址栏,进入对象存储OSS的管理控制台:

https://oss.console.aliyun.com/overview

image.png

点击Bucket列表,然后点击创建Bucket。

image.png

在弹出的创建页面,按照以下配置进行设置:

image.png

Bucket创建完成后,我们点击进入Bucket按钮,进入Bucket界面。

image.png

在文件列表中,我们点击 新建目录,在弹出新建目录的界面中填入 origin,再点击 确认 完成创建。

image.png

再次点击新建目录,在弹出新建目录的界面中填入 result,再点击 确认 完成创建。

image.png

将以下地址复制进远程桌面的浏览器地址栏,进入函数计算FC服务控制台:

https://fcnext.console.aliyun.com/applications

点击创建应用,选择通过模板创建应用,在人工智能类别中选择ImageAI 目标检测,或者可以在右侧搜框检索名称找到ImageAI 目标检测,再点击立即创建。

image.png

在高级配置中,按照以下配置进行部署:

image.png

等待3-5分钟左右,等部署状态显示为 部署成功 表示成功创建应用。

image.png

将以下地址复制进远程桌面的浏览器地址栏,进入 函数计算FC 应用列表:

https://fcnext.console.aliyun.com/applications

image.png

然后选择并点击我们刚才创建的 ImageAI应用名称,进入应用详情页面。

image.png

再点击 访问域名,即可自动跳转至WebUI界面(首次访问需要加载几分钟时间)。

image.png

加载完成之后,WebUI返回如下页面,表示已成功进入ImageAI应用的操作界面。

image.png

在WebUI界面的,我们点击选择文件,然后选择在Stable Diffusion中生成的图片导入。

图片上传完成后,点击 图像预测 按钮,等待预测完成后,会在图片下方显示5个预测结果,每个结果后面的数字表示相似度,数字越大表示相似度越高。

首先将以下地址复制进远程桌面的浏览器地址栏进入OSS Bucket列表,点击Bucket名称(u-xxx)进入Bucket界面:

image.png

在文件列表中,点击 origin目录 进入。

image.png

在origin目录中,点击 上传文件。

image.png

在上传界面中,点击 扫描文件,选择我们Stable Diffusion生成的图片,然后点击 上传文件 按钮完成上传。

image.png

上传完成后,我们点击 文件列表,返回列表界面,再点击 result目录 进入。

image.png

进入目录后,我们可以发现,已经自动生成了图片预测结果文件。

image.png

点击文件名称,可以预览文件内容,可以查看到图片内容预测的结果。

image.png

至此,已完成本实验全部内容。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
1天前
|
网络协议 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之在阿里云函数计算中,服务器调用FC函数时出现 "[Errno -3] Temporary failure in name resolution)" 错误如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
11 4
|
1天前
|
Web App开发 缓存 安全
Serverless 应用引擎操作报错合集之在使用阿里云函数计算的过程中遇到“Browser closed unexpectedly”的错误如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
11 2
|
1天前
|
Java 中间件 Serverless
Serverless 应用引擎操作报错合集之在阿里函数计算中,云函数怎么一直报错Function instance exited unexpectedly(code 1, message:operation not permitted) with start command 'php server.php '.如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
8 2
|
1天前
|
JavaScript Serverless API
Serverless 应用引擎操作报错合集之在Serverless 应用引擎中,FC3.0读取response body的时候出现错误提示"Caused by: java.io.IOException: closed"如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
11 3
|
1天前
|
Serverless PyTorch 应用服务中间件
Serverless 应用引擎操作报错合集之在阿里云函数计算中,遇到错误代码“Handled Error”如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
8 1
|
1天前
|
弹性计算 Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之阿里函数计算中{"ErrorCode":"AccessDenied","ErrorMessage":"Current user is in debt."}出现这个代码如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
10 1
|
1天前
|
弹性计算 缓存 Serverless
Serverless 应用引擎操作报错合集之阿里函数计算中,(FC)无法正常运行如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
8 3
|
1天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之阿里云函数计算中出现“找不到类”的错误如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
9 1
Serverless 应用引擎操作报错合集之阿里云函数计算中出现“找不到类”的错误如何解决
|
2天前
|
人工智能 边缘计算 Kubernetes
阿里云边缘容器云帮助AI推理应用快速落地
2024全球分布式云大会·北京站,阿里云徐若晨演讲内容分享
11 0
|
5天前
|
人工智能 监控 数据处理
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
【AI大模型应用开发】【LangSmith: 生产级AI应用维护平台】1. 快速上手数据集与测试评估过程
20 0

热门文章

最新文章