基于 ACK Serverless 解锁你家萌宠的 AI 形象详情
 
  
1. 计费说明

必看!!必看!!必看!!

本实验为付费体验,需要消耗账号费用。体验后若不再需要使用,请及时释放资源,避免持续产生费用。

体验预估费用:

12.63 元(每小时)~16.35 元(每小时),完成全部实验预计 2 小时。

特别说明(请看完):

  • 训练模型时间与您数据集大小有关,一般训练预计 30-40 分钟,完成全部实验预计 2 小时。
  • 当您使用训练好的模型生成图时,也会持续产生云资源费用,费用与您使用时长相关。当您不再需要使用时,请及时释放资源,避免持续产生费用。
  • 因为 GPU 资源库存情况不同,本实验会基于库存随机创建 GPU 资源,如 A10、T4、V100 等,不同 GPU 卡费用不同,所以实际费用请您以最终账单为准,账单每小时出一次,您可在用户中心>账单详情中查看。

计费详细说明

产品名

计费类型

费用

计费链接

容器服务ACK Serverless集群

限时免费

目前公测中,限时免费

ACK Serverless集群计费说明

弹性容器实例

按量付费

11.74元/小时~15.46元/小时

ECI实例计费

弹性公网IP

按量付费

0.03元/小时 * 2个

(流量费:0.8元/GB)

弹性公网IP计费说明

NAT网关

按量付费

0.195元/CU * 2个

公网NAT网关计费

负载均衡SLB

按量付费

0.22元/小时 * 2个

(流量费:0.8元/GB)

传统型负载均衡CLB计费说明

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

 
 
上一页下一页
 
新标签页
 

快速进入产品控制台

本实验相关云产品
云原生网关 MSE-Higress
容器服务ACK Serverless
更多云产品
云原生数据库 PolarDB PostgreSQL 版
DataV数据可视化
开源大数据平台 E-MapReduce
微服务治理 MSE-Sentinel/OpenSergo
GPU云服务器
云数据传输
RDS MySQL Serverless版
混合云备份 HBR
访问控制 RAM
企业级分布式应用服务 EDAS
可观测可视化 Grafana 版
性能测试 PTS
专有网络 VPC
资源编排 ROS
容器镜像服务 ACR
弹性容器实例
可观测监控Prometheus版
实时数仓Hologres
实时计算Flink版
应用实时监控服务-云拨测
生活物联网平台
表格存储
物联网平台
消息服务 MNS
消息队列 RabbitMQ 版
事件总线 EventBridge
QUICK BI
数据库自治服务 DAS
音视频通信 RTC
云效
云原生多模数据库Lindorm
机器学习PAI
龙蜥操作系统(Anolis OS)
智能开放搜索 OpenSearch
大数据计算服务 MaxCompute
数据湖构建DLF
DataWorks
阿里云ElasticSearch
数据管理 DMS
云数据库RDS PostgreSQL 版
数据传输 DTS
日志服务(SLS)
弹性伸缩
小程序云
NAT网关
全站加速DCDN
视频直播
云数据库Redis版
云数据库MongoDB版
云数据库HBase版
云原生分布式数据库PolarDB-X
CDN
函数计算FC
消息队列RocketMQ版
对象存储OSS
消息队列Kafka版
视频点播
弹性公网IP
云数据库RDS SQLServer版
Serverless应用引擎
云原生数据仓库AnalyticDB MySQL版
云原生关系型数据库PolarDB
容器服务 ACK
GPU云服务器
轻量应用服务器
文件存储NAS
云服务器ECS
负载均衡SLB
云数据库RDS MySQL版

基于 ACK Serverless 解锁你家萌宠的 AI 形象详情
结束实验
 
  • 实验手册
  • 实验报告
 
2. 准备您家萌宠数据集

一、准备数据集

  1. 挑选20张萌宠图片,要求萌宠主体清晰。支持.png、.jpg、 .jpeg、 .webp、.bmp 格式的照片。

注意:其他图片格式,会造成训练模型时报错,请一定要确认照片格式!如果您发现有些照片格式不符合要求,请使用图片转换工具,请不要通过给图片重命名来修改格式,也会导致训练报错。

  • 解释说明:挑选您家萌宠单独照片,为了模型训练效果,尽量保持照片背景干净,不要与人的合照,也不要与其他动物合照,保证有萌宠正脸照,尽量不要所有照片都是背面或者侧面。
  • 正确示范:

  • 错误示范:

  1. 在您PC电脑上新建文件夹,文件夹名为您萌宠英文名(或中文名拼音,更推荐),将20张照片放入文件夹中。
  • 解释说明:若您萌宠有英文名,例如Bob,则您文件夹名为Bob;若您萌宠是中文名,例如桃子,则您文件夹名为taozi。

说明:我们在镜像中内置了“taozi”数据集,包含了一只名叫桃子的小猫的20张照片。如果您不想要准备自己的宠物数据集,但是想要体验容器化弹性部署、模型镜像加速拉取以及 Stable Diffusion 模型训练的过程,您可以直接使用“taozi”数据集来训练。

二、查看数据集路径,并保存路径

查看本地数据集路径方法如下。

  • 如果您电脑是 Mac 系统:

您可直接键盘 command+C,然后在终端command+V。

举例:

  1. 单击目标文件,如Bob2,键盘同时按下command+C。

  1. 打开本地终端,键盘同时按下command+V,即可看到文件夹路径,即/Users/XXXX/Downloads/Bob2 (如下截图)。

  • 如果您电脑是 Windows 系统:

您可右键单击文件夹,单击属性,在属性面板中找到目标文件bob所在的位置。例如D:\。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

 
 
上一页下一页
 
新标签页
 

快速进入产品控制台

本实验相关云产品
云原生网关 MSE-Higress
容器服务ACK Serverless
更多云产品
云原生数据库 PolarDB PostgreSQL 版
DataV数据可视化
开源大数据平台 E-MapReduce
微服务治理 MSE-Sentinel/OpenSergo
GPU云服务器
云数据传输
RDS MySQL Serverless版
混合云备份 HBR
访问控制 RAM
企业级分布式应用服务 EDAS
可观测可视化 Grafana 版
性能测试 PTS
专有网络 VPC
资源编排 ROS
容器镜像服务 ACR
弹性容器实例
可观测监控Prometheus版
实时数仓Hologres
实时计算Flink版
应用实时监控服务-云拨测
生活物联网平台
表格存储
物联网平台
消息服务 MNS
消息队列 RabbitMQ 版
事件总线 EventBridge
QUICK BI
数据库自治服务 DAS
音视频通信 RTC
云效
云原生多模数据库Lindorm
机器学习PAI
龙蜥操作系统(Anolis OS)
智能开放搜索 OpenSearch
大数据计算服务 MaxCompute
数据湖构建DLF
DataWorks
阿里云ElasticSearch
数据管理 DMS
云数据库RDS PostgreSQL 版
数据传输 DTS
日志服务(SLS)
弹性伸缩
小程序云
NAT网关
全站加速DCDN
视频直播
云数据库Redis版
云数据库MongoDB版
云数据库HBase版
云原生分布式数据库PolarDB-X
CDN
函数计算FC
消息队列RocketMQ版
对象存储OSS
消息队列Kafka版
视频点播
弹性公网IP
云数据库RDS SQLServer版
Serverless应用引擎
云原生数据仓库AnalyticDB MySQL版
云原生关系型数据库PolarDB
容器服务 ACK
GPU云服务器
轻量应用服务器
文件存储NAS

基于 ACK Serverless 解锁你家萌宠的 AI 形象详情
结束实验
 
  • 实验手册
  • 实验报告
 
3. 开通MSE云原生网关并完成授权

一、开通MSE云原生网关

  1. 单击确认授权,开通MSE云原生网关。

  1. 在访问控制快速授权对话框中,单击确认授权,完成授权。

二、为 MSE 访问 ECI 授权

  1. 前往MSE访问ECI授权页面。
  2. 单击同意授权,完成MSE访问ECI的授权。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

 
 
上一页下一页
 
新标签页
 

快速进入产品控制台

本实验相关云产品
云原生网关 MSE-Higress
容器服务ACK Serverless
更多云产品
云原生数据库 PolarDB PostgreSQL 版
DataV数据可视化
开源大数据平台 E-MapReduce
微服务治理 MSE-Sentinel/OpenSergo
GPU云服务器
云数据传输
RDS MySQL Serverless版
混合云备份 HBR
访问控制 RAM
企业级分布式应用服务 EDAS
可观测可视化 Grafana 版
性能测试 PTS
专有网络 VPC
资源编排 ROS
容器镜像服务 ACR
弹性容器实例
可观测监控Prometheus版
实时数仓Hologres
实时计算Flink版
应用实时监控服务-云拨测
生活物联网平台
表格存储
物联网平台
消息服务 MNS
消息队列 RabbitMQ 版
事件总线 EventBridge
QUICK BI
数据库自治服务 DAS
音视频通信 RTC
云效
云原生多模数据库Lindorm
机器学习PAI
龙蜥操作系统(Anolis OS)
智能开放搜索 OpenSearch
大数据计算服务 MaxCompute
数据湖构建DLF
DataWorks
阿里云ElasticSearch
数据管理 DMS
云数据库RDS PostgreSQL 版
数据传输 DTS
日志服务(SLS)
弹性伸缩
小程序云
NAT网关
全站加速DCDN
视频直播
云数据库Redis版
云数据库MongoDB版
云数据库HBase版
云原生分布式数据库PolarDB-X
CDN
函数计算FC
消息队列RocketMQ版
对象存储OSS
消息队列Kafka版
视频点播
弹性公网IP
云数据库RDS SQLServer版
Serverless应用引擎
云原生数据仓库AnalyticDB MySQL版
云原生关系型数据库PolarDB
容器服务 ACK
GPU云服务器
轻量应用服务器
文件存储NAS
云服务器ECS

4. 创建 ACK Serverless 集群
  1. 登录容器服务管理控制台,在左侧导航栏选择集群。

  1. 在集群列表页面,单击页面右上角的创建集群。

  1. 在创建集群页面,单击ACK Serverless集群页签,根据如下说明完成相关配置,其他配置项保持默认值,然后单击下一步:组件配置。

配置项

说明

配置建议

集群名称

填写集群的名称。

knative-sd-demo

集群规格

选择集群规格,支持Pro版和标准版

Pro版

地域

选择集群所在的地域。建议选择华北2(北京)地域。

华北2(北京)

可用区

选择集群所在的可用区。

目前华北2(北京)支持的可用区如下: 华北 2 可用区 C 华北 2 可用区 D 华北 2 可用区 G 华北 2 可用区 E 注意:请您在以上ECI支持GPU的四个可用区进行选择。

华北2 可用区G

API Server访问

ACK Serverless集群默认为API Server创建一个内网SLB实例,您可修改SLB实例规格。更多信息,请参见实例规格

您可设置是否开放使用EIP暴露API Server。

使用EIP暴露API Server

  1. 单击下一步:组件配置,选择Ingress为MSE Ingress,并选中开启 Knative。如您无需使用监控和日志服务等功能,可以取消选中使用阿里云可观测监控 Prometheus 版和使用日志服务,避免产生相关费用。其他配置项保持默认。

  1. 单击下一步:确认配置,确认配置信息,仔细阅读并选中相关协议,然后单击创建集群。预计等待3分钟。

额外说明:

  1. 若您项目状态均为「通过」,您可忽略下方内容,直接点击文档「下一页」。
  2. 若您之前从未开通过 ACK 产品,以及若您是第一次使用阿里云产品,可能会出现如下2项状态「未通过」提醒。您可根据如下步骤,依次操作。

5.1 【服务开通检查】状态「未通过」

若您界面显示【服务开通检查】状态「未通过」,则点击「容器服务 ACK Pro 版」,跳转到新页面。

在新页面勾选服务协议「我已阅读并同意容器服务ACK服务协议」,并点击「立即开通」。

出现如下页面,表示容器服务 ACK Pro 开通成功。

回到容器服务控制台页面,点击「重新检查」

【服务开通检查】状态显示为「通过」

5.2 【账户状态检查】状态「未通过」

点击用户中心 ,或者点击界面右上角头像,跳转到账号中心页面。

在账号中心页面查看「实名认证」情况,若您还未实名认证,点击进行认证即可。

点击页面上方的「费用」,跳转到用户中心首页

5. 安装 CSI 组件
  1. 待集群状态为「运行中」,在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面,然后在左侧导航栏,选择运维管理 > 组件管理。

  1. 在组件管理页面,单击存储页签,找到csi-provisioner (托管)组件,单击卡片右下方的安装。

  1. 单击确定完成CSI组件的安装。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

6. 部署并访问 Stable Diffusion 服务

一、Knative 部署 Stable Diffusion 服务

  1. 在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面,然后在左侧导航栏,选择应用 > Knative。

  1. 在Knative页面,单击服务管理页签,然后单击使用模板创建。

  1. 在示例模板下拉列表中,选择 Resouce - Knative Service,删除原有的全部内容,并将以下 YAML 粘贴至模板,然后单击创建。

将会创建一个名为knative-sd-demo的服务。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alicloud-disk-efficiency
parameters:
type: cloud_efficiency
encrypted: "false"
provisioner: diskplugin.csi.alibabacloud.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: Immediate
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: sd-pvc
spec:
accessModes:
- ReadWriteOnce
volumeMode: Filesystem
resources:
requests:
storage: 20Gi
storageClassName: alicloud-disk-efficiency
---
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
name: knative-sd-demo
annotations:
serving.knative.dev.alibabacloud/affinity: "cookie"
serving.knative.dev.alibabacloud/cookie-name: "sd"
serving.knative.dev.alibabacloud/cookie-timeout: "1800"
spec:
template:
metadata:
annotations:
autoscaling.knative.dev/class: mpa.autoscaling.knative.dev
autoscaling.knative.dev/maxScale: '1'
autoscaling.knative.dev/scale-down-delay: '1800s'
autoscaling.knative.dev/scale-to-zero-pod-retention-period: '1800s'
autoscaling.knative.dev/targetUtilizationPercentage: "100"
k8s.aliyun.com/eci-extra-ephemeral-storage: 80Gi
k8s.aliyun.com/eci-use-specs: 'ecs.gn5-c4g1.xlarge,ecs.gn5i-c8g1.2xlarge,ecs.gn5-c8g1.2xlarge'
spec:
containerConcurrency: 5
initContainers:
- name: init-sd
image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/stable-diffusion:v2.0.0-gpu
command:
- sh
- -c
- "cp -n /stable-diffusion-webui/models/Stable-diffusion/v1-5-pruned-emaonly.safetensors /data/"
volumeMounts:
- name: sd-data
mountPath: /data
containers:
- args:
- --listen
command:
- python3
- launch.py
image: yunqi-registry.cn-shanghai.cr.aliyuncs.com/lab/stable-diffusion:v2.0.0-gpu
imagePullPolicy: IfNotPresent
ports:
- containerPort: 7860
name: http1
protocol: TCP
name: stable-diffusion
readinessProbe:
tcpSocket:
port: 7860
initialDelaySeconds: 5
periodSeconds: 1
failureThreshold: 3
volumeMounts:
- name: sd-data
mountPath: /stable-diffusion-webui/models/Stable-diffusion
volumes:
- name: sd-data
persistentVolumeClaim:
claimName: sd-pvc

  1. 在服务管理页签,刷新页面后,当knative-sd-demo的状态变为成功时,表明SD服务部署成功。

二、部署 portal server 并访问 Stable Diffusion 服务

部署观测服务portal-server,用于Stable Diffusion效果展示。

  1. 在Knative页面,单击服务管理页签,然后单击使用模板创建。
  2. 在示例模板下拉列表中,选择自定义,将以下portal-server压测服务的YAML示例粘贴至模板,然后单击创建。
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: portal-server
name: portal-server
spec:
replicas: 1
selector:
matchLabels:
app: portal-server
template:
metadata:
labels:
app: portal-server
spec:
serviceAccountName: portal-server
containers:
- name: portal-server
image: registry-vpc.cn-beijing.aliyuncs.com/acs/sd-yunqi-server:v1.0.3
imagePullPolicy: IfNotPresent
env:
- name: MAX_CONCURRENT_REQUESTS
value: "5"
- name: POD_NAMESPACE
value: "default"
readinessProbe:
failureThreshold: 3
periodSeconds: 1
successThreshold: 1
tcpSocket:
port: 8080
timeoutSeconds: 1
---
apiVersion: v1
kind: Service
metadata:
annotations:
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type: internet
service.beta.kubernetes.io/alibaba-cloud-loadbalancer-instance-charge-type: PayByCLCU
name: portal-server
spec:
externalTrafficPolicy: Local
ports:
- name: http-80
port: 80
protocol: TCP
targetPort: 8080
- name: http-8888
port: 8888
protocol: TCP
targetPort: 8888
selector:
app: portal-server
type: LoadBalancer
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: pod-list-cluster-role
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["list"]
- apiGroups: ["networking.k8s.io"]
resources: ["ingresses"]
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: pod-list-cluster-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: pod-list-cluster-role
7. 通过 kubectl 连接集群

一、如果您电脑是Windows系统

如下方法,根据您的偏好,二选一即可。

方法一:终端使用命令行方式安装和设置(此方法适合对于 Kubernetes 较为熟悉的同学)。

单击下载和安装kubectl,并安装至对应的本地客户端机器。

方法二:界面交互方式安装和设置(此方法适合对于 Kubernetes 不太熟悉的同学)。

  1. 下载kubectl最新补丁版 1.28至如下目录。

  1. 在HOME目录下,创建不带后缀名的config文件。
  1. 在任务栏搜索框输入cmd,进入home目录 (例如C:\Users\用户名),输入mkdir .kube创建.kube文件夹。

  1. 输入cd .kube进入.kube文件夹下。

  1. 输入type nul >config,在.kube文件夹下创建不带后缀名的config文件。

  1. 设置环境变量。右键单击我的电脑,选择属性,选择高级选项卡,单击环境变量。此处定义Path变量,只需要将kubectl.exe文件放在定义的这个路径下即可。

  1. 在cmd命令行中输入“kubectl version”,显示版本信息,表示环境变量设置成功。
  2. 复制如下公网访问凭据。
  1. 在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面。
  2. 在集群信息页面,单击连接信息页签,选择公网访问,并复制公网访问凭证。

  1. 确保config文件是没有任何后缀的文件,然后将复制的访问凭据粘贴至如下已创建的config文件中。

  1. 在cmd命令行中输入命令“kubectl get ns“,有预期输出说明已通过kubectl成功连接集群。

二、如果您电脑是 MacOS 系统

如下方法,根据您的偏好,二选一即可。

方法一:单击在macos系统上安装和设置kubectl,根据文档操作即可(此方法适合对于 Kubernetes 较为熟悉的同学)。

方法二:详细操作指导(此方法适合对于 Kubernetes 不太熟悉的同学)。

使用本地电脑(如个人笔记本),打开终端应用,并按下方文档操作。

安装kubectl工具
如果您的电脑是 Intel 处理器,请复制下方命令,在终端应用中粘贴,并键盘敲回车执行
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/amd64/kubectl"

举例

打开终端应用,复制上方命令,然后粘贴到终端,并在键盘上敲回车键,执行命令

出现下方结果,代表正在下载安装 kubectl 工具

  1. 如果您的电脑是苹果处理器(如 M1 ),请复制下方命令,在终端应用中粘贴,并键盘敲回车执行
   curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/darwin/arm64/kubectl"
配置集群凭证,连接 ACK Serverless 集群
请复制下方命令,在终端应用中粘贴,并键盘敲回车执行
mkdir -p ~/.kube
8. 上传您家萌宠数据集

一、查看 Pod 名称

打开本地终端,复制以下命令并黏贴,敲键盘上回车键执行命令,可查看 Pod 名称。

kubectl get pod #获取Pod名称。

举例:

下图显示两个 pod,包含 Knative-sd-demo 的就是目标 pod,复制该 pod 名称即可(下图红框部分)

二、 确认数据集路径

在本实验第一步,即「准备您家萌宠数据集」步骤中,已指导您查看您家萌宠的数据集路径,并保存路径。请您再次确认数据集路径。如果您忘记保存路径,可以基于下方步骤操作即可。

查看本地数据集路径方法如下。

如果您电脑是 Mac 系统:
  • 您可直接键盘 command+C,然后在终端 command+V

举例:

  1. 鼠标点击目标文件,如 Bob2,键盘同时按下 command+C

2. 打开本地终端,键盘同时按下 command+V,即可看到文件夹路径,即 /Users/XXXX/Downloads/Bob2 (如下截图)

如果您电脑是 Windows 系统:

您可右键单击文件夹,选择属性,找到目标文件bob所在的位置。例如 D:\

此时,需要先进入对应的目标文件夹下,然后再执行cp命令。

三、上传数据集

在本地终端复制以下命令并黏贴。注意:${local_data_set} 需要替换成您家萌宠的数据集路径,${pod_name}需要替换为您 Stable diffusion 的 pod 名称。


#请将下方 ${local_data_set} 替换为您的萌宠数据集路径。
#请将下方 ${local_data_set} 替换为您 Stable diffusion 的 pod 名称。
kubectl cp ${local_data_set} default/${pod_name}:/data/

举例:

下图红框中,是执行的命令,注意其中「/Users/yaxinli/Downloads/Bob」是替换后的数据集路径,「knative-sd-demo-00001-deployment-b979f7b65-d7dd4」是替换后的 pod 名称。

四、确认数据集上传成功

在本地终端复制以下命令并黏贴。注意:${pod_name}需要替换为您 Stable diffusion 的 pod 名称。


# 上传完毕后,确认上传是否完成
kubectl exec -it ${pod_name} -c stable-diffusion -- ls /data/

举例:

下图红框中,是执行的命令,注意其中「knative-sd-demo-00001-deployment-b979f7b65-d7dd4」是替换后的 pod 名

9. 训练您家萌宠模型

一、创建您的萌宠模型

在 Stable Diffusion 模型页面,根据图示操作步骤创建模型。Name 这里建议写您宠物名字,需要为英文,若没有英文名可以输入拼音,例如 bob 或 taozi。

模型创建耗时约1分钟,创建成功后Output如下图所示。注意:如果发现超过一分钟还没有出结果,请刷新页面,再次创建。Stable Diffusion 是开源的模型,开源 WebUI 可能会出现不稳定的情况,刷新页面即可。

二、训练您家萌宠专属模型

0. 解锁您家萌宠的 AI 形象!

一、使用您家萌宠专属模型生成图片

  1. 在 Stable Diffusion 模型页面左上方,点击刷新按钮,之后选择刚训练出的萌宠模型,如 bob/bob_380_lora_xxxx。

  1. 在界面上的「txt2img」对话框中输入Prompt(即关键词)。如: bob,cat,drink a cup of coffee,very detailed

注意:开源 Stable Diffusion 仅支持英文。以及 prompt 中的「bob,cat」这里请记得替换成您家宠物的名字和物种,如 beila,dog

下方列出一些 prompt 给您参考,您也可以充分发挥您的想象力来创作。

  • bob,cat,wearing a golden crown
  • bob,cat,diving
  • bob,cat,sitting on a table,drinking coffee
  • bob,cat,being an astronaut
  • bob,cat,sitting on beach,enjoying sunset

二、下载生成的图片,并提交作品

保存图片,并访问【萌宠 AI 变身秀】页面,提交作品

  1. 选择已创建的模型。如 bob

  1. 在Settings页面,根据如下截图配置模型参数。

  1. 在Concepts页面,配置数据集路径Dataset Directory和一些文件关键字信息。注意:/data/是固定的,您输入即可,但是「Bob」需要替换成您自己的数据集名称,并且请注意大小写。如果您忘记了数据集名称,可以回到「上传您家萌宠数据集」步骤中,根据文档再次查看。

第3、4、5步,输入您宠物名字(拼音),以及宠物种类,如宠物叫 Bob,是猫,所以输入「bob,cat」。如您宠物叫贝拉,是狗,那就输入「beila,dog」。

  1. 配置完成后单击Train,开始训练。训练时间的长短,取决于图片数据集大小。一般来说,格式不是太大的图片,训练大约30-40分钟。

  1. 当Output区域,出现Training finished.Total lifetime steps表明训练已经完成。

特别提醒:

开源 Stable Diffusion 的 WebUI 可能会出现不稳定的情况,训练时页面有可能会卡住,您可以执行以下命令,通过日志查看训练进程。

替换以下 ${pod_name} 为您当前Pod的名称,您可以通过执行命令 kubectl get pod 获取当前 Pod 的名称。

kubectl logs ${pod_name} -c stable-diffusion

等待Steps为100%时,表明训练完成。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

称。

执行成功后,可以看到返回结果中,包含数据集名字,如下图红色箭头所指,包含 Bob,代表 Bob 数据集已上传成功。

P.S. 「taozi」是内置的数据集,包含了一只名叫桃子的小猫的20张照片。如果您不想要准备自己的宠物数据集,但是想要体验容器化弹性部署、模型镜像加速拉取以及 Stable Diffusion 模型训练的过程,您可以直接使用 taozi 数据集来训练。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

vi ~/.kube/config

举例

  1. 打开终端应用,复制上方命令,然后粘贴到终端,并在键盘上敲回车键,执行命令

  1. 出现以下结果,即打开空白文件

打开容器服务控制台
  1. 在集群列表页面,单击目标集群knative-sd-demo进入集群信息页面。
    1. 在集群信息页面,单击连接信息页签,选择公网访问,并复制公网访问凭证。

打开终端应用,将复制好的集群凭证,粘贴(command+c,command+v)至终端

举例

如下图

保存并退出(按下键盘ESC键,然后输入:wq,即可完成保存并退出 )。注意:输入「:wq」时要切换成英文输入法,否则可能产生无法输入或执行错误的情况。

举例

在终端中输入命令“kubectl get ns“,有预期输出说明已通过kubectl成功连接集群。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

subjects: - kind: ServiceAccount name: portal-server namespace: default --- apiVersion: v1 kind: ServiceAccount metadata: name: portal-server namespace: default 
  1. 在左侧导航栏,选择网络 > 服务。

  1. 在服务页面,查看portal-server服务,在外部端点列下获取访问IP。

  1. 点击您界面 portal server IP 123.56.XXXX 直接跳转,或在浏览器中输入http://123.56.XX.XX,然后在该页面单击Stable Diffusion跳转至Stable Diffusion访问页面。

注意:这个界面的 pod status 最开始是黄色,代表 pod 启动中,等变绿代表 pod 已起来。等 Ready :true 时,代表应用已启动。一般等待 1-2 分钟即可正常打开 Stable Diffusion 界面。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

点击充值即可。由于实验涉及到的产品为后付费,要求账户余额不低于100元。若您体验完实验后,不需要使用其他产品,您也可以随时进行提现。

回到容器服务控制台页面,点击「重新检查」

【服务状态检查】显示「通过」,然后勾选服务协议,并点击创建集群。

如果您遇到任何问题,欢迎加入答疑群联系我们,钉钉群号:13440056088

负载均衡SLB
云数据库RDS MySQL版
 
云服务器ECS
负载均衡SLB
云数据库RDS MySQL版

1. 释放资源

注意:当您执行下操作释放全部资源,您的萌宠专属模型,以及未下载的图片,均会丢失。

当您释放资源时,请切记仔细按照文档每一步完成全部资源释放。

一、释放容器服务ACK Serverless集群

  1. 在集群列表页面,找到您已创建的ACK Serverless集群,在右侧操作列,选择更多 > 删除。

  1. 在删除集群面板中,选中同时删除集群下的ALB资源、同时删除集群下的PrivateZone资源、我已知晓以上信息并确认删除集群,然后单击确定。

  1. 输入手机验证码,然后单击确定,ASK Pro集群删除完成。

二、释放MSE云原生网关

  1. 在左侧导航栏,选择云原生网关 > 网关列表。

  1. 在网关列表页面,切换至网关所在地域华北2(北京)

  1. 然后在页面右侧的操作列,单击 图标,然后单击释放实例。

  1. 在释放面板中,选中是否同时删除网关创建时代购的SLB实例,然后单击确定,MSE云原生网关删除完成。

三、释放NAT网关

  1. 在左侧导航栏,选择概览,选择 NAT 网关,点击本次实验创建的华北2(北京)实例

  1. 点击页面更多操作,点击删除

2. 附:常见问题

问题1:Pod无法创建,报错NoStock

问题现象

Warning NoStock 65s EciService [eci.containergroup]Create ECI failed because the specified instance is out of stock. It is recommended to use the multi-zone creation function to avoid the risk of stockout. More info: https://help.aliyun.com/document_detail/157290.html

解决方案:

您可以通过API查询可用库存情况。具体操作,请参见DescribeAvailableResource - 查询可用ECS实例规格

修改ECI配置,将Pod创建到资源充足的可用区。具体操作,请参见多可用区创建Pod

问题2:训练页面刷新后无法重新进入

出现此现象,仅前端页面无法显示,后端训练还在继续。

您可以通过执行以下命令,查看训练进度。

kubectl logs stable-diffusion-0|grep "Steps:"

等待训练进度为100%时,单击模型刷新按钮,即可查看训练完成的模型。

问题3:如需重新训练新的模型,但Pod已缩容,该如何上传数据集?

30分钟如果没有请求,Pod就会自动缩容到0。此时您可以重新登录SD服务页面,触发Pod重建,然后将数据集上传到重建后的Pod中进行训练。

问题4:如果SD页面出现如下错误怎么办?

如果您训练过程中,出现如下页面提示,可等待刷新页面后,再去查看训练进度如果是100%,说明训练已完成,可直接进行下一步生成图片的操作。

如果您遇到任何

  1. 在删除网关面板中,选中强制删除(删除 NAT 网关及其包含资源),然后单击确定,NAT网关删除完成。

请您再次按照文档每一步检查,确认完成全部资源释放。

基于 ACK Serverless 解锁你家萌宠的 AI 形象的更多相关文章

  1. Serverless助力AI计算:阿里云ACK Serverless/ECI发布GPU容器实例

    ACK Serverless(Serverless Kubernetes)近期基于ECI(弹性容器实例)正式推出GPU容器实例支持,让用户以serverless的方式快速运行AI计算任务,极大降低AI ...

  2. Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

    短网址顾名思义就是使用比较短的网址代替很长的网址.维基百科上面的解释是这样的: 短网址又称网址缩短.缩短网址.URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短小的 URL 以代 ...

  3. Knative 实战:基于 Knative Serverless 技术实现天气服务-下篇

    上一期我们介绍了如何基于 Knative Serverless 技术实现天气服务-上篇,首先我们先来回顾一下上篇介绍的内容: 通过高德天气 API 接口,每隔 3 个小时定时发送定时事件,将国内城市未 ...

  4. 基于昇腾计算语言AscendCL开发AI推理应用

    摘要:本文介绍了昇腾计算语言AscendCL的基本概念,并以示例代码的形式介绍了如何基于AscendCL开发AI推理应用,最后配以实际的操作演示说明如何编译运行应用. 本文分享自华为云社区<基于 ...

  5. 做游戏长知识------基于行为树与状态机的游戏AI(一)

    孙广东 2014.6.30 AI. 我们的第一印象可能是机器人,如今主要说在游戏中的应用. 现代的计算机游戏中已经大量融入了AI元素,平时我们进行游戏时产生的交互都是由AI来完毕的.比方在RPG游戏中 ...

  6. Unity教程之-基于行为树与状态机的游戏AI

    AI.我们的第一印象可能是机器人,现在主要说在游戏中的应用.关于AI的相关文章我们在前面也提到过,详细请戳这现代的计算机游戏中已经大量融入了AI元素,平时我们进行游戏时产生的交互都是由AI来完成的.比 ...

  7. Knative 实战:基于 Knative Serverless 技术实现天气服务-上篇

    提到天气预报服务,我们第一反应是很简单的一个服务啊,目前网上有大把的天气预报 API 可以直接使用,有必要去使用 Knative 搞一套吗?杀鸡用牛刀?先不要着急,我们先看一下实际的几个场景需求: 场 ...

  8. Knative 实战:基于 Knative Serverless 技术实现天气服务

    提到天气预报服务,我们第一反应是很简单的一个服务啊,目前网上有大把的天气预报 API 可以直接使用,有必要去使用 Knative 搞一套吗?杀鸡用牛刀?先不要着急,我们先看一下实际的几个场景需求: 场 ...

  9. 闻其声而知雅意,基于Pytorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)

    前文回溯,之前一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),利用AI技术将文本合成语音,现在反过来,利用开源库Whisper再将语音转 ...

  10. [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建

    这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...

随机推荐

  1. 2023-06-20:给定一个长度为N的数组arr,arr[i]表示宝石的价值 你在某天遇到X价值的宝石, X价值如果是所有剩余宝石价值中的最小值,你会将该宝石送人 X价值如果不是所有剩余宝石价值中的

    2023-06-20:给定一个长度为N的数组arr,arr[i]表示宝石的价值 你在某天遇到X价值的宝石, X价值如果是所有剩余宝石价值中的最小值,你会将该宝石送人 X价值如果不是所有剩余宝石价值中的 ...

  2. 前端树形结构图treeShapeStruct,可拖拽移动,点击展开收缩,无限添加子集

    快速实现树形结构图,可拖拽移动,点击展开收缩,无限添加子集; 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12650 效果图如 ...

  3. 如何构建您的第一部AWS数据库服务

    目录 2.1. 基本概念解释 2.2. 技术原理介绍 2.3. 相关技术比较 实现步骤与流程 2.3.1 准备工作:环境配置与依赖安装 2.3.2 核心模块实现 2.3.3 集成与测试 4. 应用示例 ...

  4. 无法将“Ethernet0”连接到虚拟网络“VMnet8”。

    出现这个问题的解决办法,请参考右侧链接:https://blog.csdn.net/big_bigwolf/article/details/79147388

  5. 组合数学_第4章_Polya定理

    第4章 Polya定理 4.1 群的概念 4.1.1 群的定义 给定一个集合\(G=\{a,b,c,\cdots\}\)和集合\(G\)上的二元运算"\(\cdot\)",并满足下 ...

  6. C++面试八股文:什么是空指针/野指针/悬垂指针?

    某日二师兄参加XXX科技公司的C++工程师开发岗位第30面: 面试官:什么是空指针? 二师兄:一般我们将等于0/NULL/nullptr的指针称为空指针.空指针不能被解引用,但是可以对空指针取地址. ...

  7. Linux 图形栈从入门到放弃 --- Linux 图形相关概念简介

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   无 前言   在日常生活中,像我们常用的ubunt ...

  8. WAMP apache 无法运行 报错could not execult menu item

    wamp:could not execult menu item (internal error)[exception]counld not perform service action:服务器没有及 ...

  9. 2023-07-09:给定N、M两个参数, 一共有N个格子,每个格子可以涂上一种颜色,颜色在M种里选, 当涂满N个格子,并且M种颜色都使用了,叫一种有效方法。 求一共有多少种有效方法。 1 <= N,

    2023-07-09:给定N.M两个参数, 一共有N个格子,每个格子可以涂上一种颜色,颜色在M种里选, 当涂满N个格子,并且M种颜色都使用了,叫一种有效方法. 求一共有多少种有效方法. 1 <= ...

  10. Ubuntu 20.04使用 VNC远程桌面连接避坑指南

    Ubuntu 20.04使用 VNC远程桌面连接避坑指南 自从开始使用Ubuntu 20.04搭建深度学习服务器,就想到使用VNC远程桌面连接使用.可是之前一直使用的是Ubuntu18.04,心里想着 ...