Amazon SageMaker + Stable Diffusion 搭建文本生成图像模型

如果我们的计算机视觉系统要真正理解视觉世界,它们不仅必须能够识别图像,而且必须能够生成图像文本到图像的 AI 模型仅根据简单的文字输入就可以生成图像

近两年,以ChatGPT为代表的AIGC技术崭露头角,逐渐从学术研究的象牙塔迈向工业应用的广阔天地。随着下游行业对快速处理柔性商业业务的需求日益增长,如何提供一个便捷、高效且完整的企业级人工智能解决方案成为了业界亟待解决的问题。幸运的是,亚马逊云服务推出了Amazon SageMaker平台,为企业提供了一站式的人工智能解决方案,满足了市场的迫切需求。

本篇文章将采用Amazon SageMaker+Stable Diffusion实现文本生成图像Demo!

一、Amazon SageMaker简介

Amazon SageMaker是一款亚马逊云服务旗下的全面托管机器学习平台。该平台集成了众多高效工具和服务,使得构建、训练和部署机器学习模型变得前所未有的简单。Amazon SageMaker拥有灵活的计算资源及配置选项,无论项目规模大小,它都能以强大的计算能力,助力训练大型模型。此外,它还提供了强大的管理和监控功能,确保机器学习工作流程的顺畅运行。

Amazon SageMaker机器学习平台提供了一系列能够快速构建、训练和部署机器学习模型的工具和服务,使机器学习工作流程更加高效、易用和可扩展。现在进入

亚马逊云科技: https://mic.anruicloud.com/url/1037

可以免费试用!

二、Amazon SageMaker + Stable Diffusion实践

2.1、创建Amazon SageMaker实例

首先打开亚马逊云控制台,在查找服务处搜索关键词SageMaker,进入Amazon SageMaker环境:

随后,在界面左侧定位至“笔记本”选项并点击。接着,依次选择“笔记本实例”和“创建笔记本实例”,进入配置页面。在此页面中,需注意选择适合的“笔记本实例类型”申请资源的类型,这里建议选择加速型g4dn.xlarge实例,确保高效的计算性能。

在操作系统方面,推荐选择Amazon Linux 2,并搭配Jupyter Lab 3这一交互式编程环境。“卷大小”可根据个人需求进行选择,建议至少设置为20GB,最后点击确定。

2.2、简单测试(可选)

创建实例成功后,可以新建一个初始notebook,复制并粘贴以下代码片段到笔记本的单元格,安装所需依赖

pip install --upgrade -q aiobotocorepip install -q xgboost==1.3.1

然后复制并粘贴以下代码片段,点击run运行:

import pandas as pd
import boto3
import sagemaker
import json
import joblib
import xgboost as xgb
from sklearn.metrics import roc_auc_score# Set SageMaker and S3 client variables
sess = sagemaker.Session()region = sess.boto_region_name
s3_client = boto3.client("s3", region_name=region)sagemaker_role = sagemaker.get_execution_role()# Set read and write S3 buckets and locations
write_bucket = sess.default_bucket()
write_prefix = "fraud-detect-demo"read_bucket = "sagemaker-sample-files"
read_prefix = "datasets/tabular/synthetic_automobile_claims" train_data_key = f"{read_prefix}/train.csv"
test_data_key = f"{read_prefix}/test.csv"
model_key = f"{write_prefix}/model"
output_key = f"{write_prefix}/output"train_data_uri = f"s3://{read_bucket}/{train_data_key}"
test_data_uri = f"s3://{read_bucket}/{test_data_key}"
hyperparams = {"max_depth": 3,"eta": 0.2,"objective": "binary:logistic","subsample" : 0.8,"colsample_bytree" : 0.8,"min_child_weight" : 3}num_boost_round = 100
nfold = 3
early_stopping_rounds = 10# Set up data input
label_col = "fraud"
data = pd.read_csv(train_data_uri)# Read training data and target
train_features = data.drop(label_col, axis=1)
train_label = pd.DataFrame(data[label_col])
dtrain = xgb.DMatrix(train_features, label=train_label)# Cross-validate on training data
cv_results = xgb.cv(params=hyperparams,dtrain=dtrain,num_boost_round=num_boost_round,nfold=nfold,early_stopping_rounds=early_stopping_rounds,metrics=["auc"],seed=10,
)metrics_data = {"binary_classification_metrics": {"validation:auc": {"value": cv_results.iloc[-1]["test-auc-mean"],"standard_deviation": cv_results.iloc[-1]["test-auc-std"]},"train:auc": {"value": cv_results.iloc[-1]["train-auc-mean"],"standard_deviation": cv_results.iloc[-1]["train-auc-std"]},}
}print(f"Cross-validated train-auc:{cv_results.iloc[-1]['train-auc-mean']:.2f}")
print(f"Cross-validated validation-auc:{cv_results.iloc[-1]['test-auc-mean']:.2f}")

这段代码的主要作用是在Amazon S3存储桶中的的汽车保险索赔数据集上,训练一个 XGBoost 二进制分类模型,并评估模型的性能并使用交叉验证来评估其性能,运行单元格后会显示交叉验证训练和验证 AUC 分数。

2.3、Stable Diffusion实践

上一步运行没问题后,我们重新打开Jupyter页面,进入对应实例,选择右侧upload,上传Notebook代码,代码下载链接:

https://static.us-east-1.prod.workshops.aws/public/648e1f0c-f5e0-40eb-87b1-7f3638dba539/static/code/notebook-stable-diffusion.ipynb

上传到笔记本实例当中,上传成功后,点击打开,选择conda_pytorch_p39核,并点击set kernel

这个Diffusion Model的Amazon SageMaker Jupyter文件已经为我们写好了所有配置步骤,环境安装,我们直接点击Run:

该代码在笔记本实例中下载并测试Stable Diffusion模型文件,然后编写模型推理入口,打包模型文件,并上传至S3桶,最后使用代码部署模型至Amazon SageMaker Inference Endpoint。

在juypter notebook的最后,加上这样一段代码,然后将想要生成的句子可以写在prompt里面,就可以实现完整的文本生成图像功能:

from PIL import Image
from io import BytesIO
import base64# helper decoderdef decode_base64_image(image_string):base64_image = base64.b64decode(image_string)buffer = BytesIO(base64_image)return Image.open(buffer)#run prediction
response = predictor[SD_MODEL].predict(data={"prompt": ["A cute panda is sitting on the sofa","a siamese cat wearing glasses,  working hard at the computer",],"height" : 512,"width" : 512,"num_images_per_prompt":1}
)#decode images
decoded_images = [decode_base64_image(image) for image in response["generated_images"]]#visualize generationfor image in decoded_images:display(image)

如上,我们试着生成一张可爱的熊猫坐在沙发上面,等待几秒钟后,推理完成,得到如下结果:

三、Amazon SageMaker 的功能特性

Amazon SageMaker以其强大的功能特性和灵活的配置选项,为数据科学家、业务分析师以及广大开发者提供了全面、高效的机器学习解决方案。

首先,Amazon SageMaker能够让不同背景的用户都能够轻松利用机器学习进行创新。对于数据科学家而言,其提供了功能强大的集成开发环境(IDE),使得他们能够轻松构建、训练和部署复杂的机器学习模型。而对于业务分析师,其提供了无代码界面,即便没有深厚的编程背景,也能通过简单的操作实现机器学习的应用。

其次,Amazon SageMaker 支持如 TensorFlow、PyTorch 和 Apache MXNet多种主流的机器学习框架、支持如scikit-learn、XGBoost等各种机器学习工具包、支持Python、R 等多种编程语言,使得用户能够充分利用现有的技术资源和经验,在机器学习领域实现更快速、更高效的创新。无论是数据科学家、机器学习工程师还是开发者,都能从 Amazon SageMaker 中受益,推动机器学习技术的不断发展和应用。

最后,Amazon SageMaker拥有完全托管、可扩展的基础设施。用户无需担心底层硬件的维护和扩展问题,只需专注于模型的开发和优化。Amazon SageMaker通过高性能、经济实惠的基础设施支持,帮助用户轻松构建自己的机器学习模型和生成式人工智能应用程序的开发。

现在进入亚马逊云科技: https://mic.anruicloud.com/url/1037

可以获取Studio 笔记本上每月 250 个小时的 ml.t3.medium,或者按需笔记本实例上每月 250 个小时的 ml.t2 medium 或 ml.t3.medium,每月 50 个小时的 m4.xlarge 或150小时 的m5.xlarge 实例试用。除此之外,更有云服务器(Amazon EC2),云存储(Amazon S3),负载均衡(Elastic Load Balancing),虚拟服务器VPS(Amazon Lightsail)、视频会议(Amazon Chime )等等100 余种云产品或服务免费试用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/288435.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态、动态代理模式(Spring学习笔记八)

代理模式是SpringAOC的底层 代理模式分为:静态代理模式 动态代理模式 1、静态代理 代码步骤 接口: package com.li.dedmo01;public interface Rent {public void rent(); }真实角色: package com.li.dedmo01;public class Host imple…

没有与参数列表匹配的构造函数“cv::VideoWriter::VideoWriter”实例

今天在使用Visual Studio开发与OpenCV相关的程序时,遇到了这样的情况: 第一个参数的下方被打上了红波浪线,我本能的觉得是第一个参数出的问题,于是改成了这样: 红线依然存在,没有消失,把鼠标放在红线下方&#xff0c…

AI Agent(LLM Agent)入门解读

1. 什么是AI Agent? AI Agent可以理解为一个智能体,包括感知模块、规划决策模块和行动模块,类似于人类的五官、大脑和肢体。它能帮助人类处理复杂的任务,并能根据环境反馈进行学习和调整。 五官可以理解为感知模块,大…

Linux相关命令(1)

1、找出文件夹下包含 “aaa” 同时不包含 “bbb”的文件,然后把他们重新生成一下。要求只能用一行命令。 find ./ -type f -name "*aaa*" ! -name "*bbb*" -exec touch {} \;文件系统操作命令 df:列出文件系统的整体磁盘使用情况 …

已注册的商标别忘了续展,新注可能难下证!

近期普推知产老杨遇到好几个网友和看过多个案例,以前商标名称可以申请注册下来,但是换字体注册不下来了,有的是不想续展想直接换字体申请注册,但是也没有下来。 这些商标名称主要是存在禁止注册或缺显,比如“柳林”以前…

LeetCode讲解算法2-数据结构[栈和队列](Python版)

文章目录 一、栈1.1 栈的定义1.2 栈的实现分析步骤1.3 栈的应用匹配圆括号匹配符号模2除法(十进制转二进制)进制转换 二、队列2.1 单向队列2.2 双端队列2.3 队列的应用验证回文串滑动窗口最大值 一、栈 1.1 栈的定义 栈是一种线性数据结构,栈…

【MySQL】简述SQLの通用语法及4种基本语句介绍(DDL/DML/DQL/DCL)

前言 大家好吖,欢迎来到 YY 滴MySQL系列 ,热烈欢迎! 本章主要内容面向接触过C Linux的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! YY的《C》专栏YY的《C11》专栏YY的…

【那些年错过的好书】——Web前端开发实战:HTML5+CSS3+JavaScript+Vue+Bootstrap(微视频版)

喜欢前端的同学,可以私信我加入学习群。 点击链接,获取资源: https://lizetoolbox.top:8080/qrCode_contact 或者 http://lizetoolbox.top/qrCode_contact 正文开始 前言推荐理由书籍介绍章节介绍实书示例写在最后 前言 陌生的朋友&…

kubectl 启用shell自动补全功能

官网手册参考:https://kubernetes.io/zh-cn/docs/tasks/tools/install-kubectl-linux/ 系统:centos7 补全脚本依赖于工具 bash-completion, 所以要先安装它(可以用命令 type _init_completion 检查 bash-completion 是否已安装&a…

Python爬虫之爬取网页图片

当我们想要下载网页的图片时,发现网页的图片太多了,无从下手,那我们写一个脚本来爬取呗。 这次的脚本是专门针对某个外国网站使用的,因此仅供参考思路。 在测试的过程中,我发现网站使用了发爬虫机制,具体就…

阿里云服务器优惠价格61元一年,多配置报价,来看看

2024年阿里云服务器优惠价格表,一张表整理阿里云服务器最新报价,阿里云服务器网aliyunfuwuqi.com整理云服务器ECS和轻量应用服务器详细CPU内存、公网带宽和系统盘详细配置报价单,大家也可以直接移步到阿里云CLUB中心查看 aliyun.club 当前最新…

AI+软件工程:10倍提效!用ChatGPT编写系统功能文档

系统功能文档是一种描述软件系统功能和操作方式的文档。它让开发团队、测试人员、项目管理者、客户和最终用户对系统行为有清晰、全面的了解。 通过ChatGPT,我们能让编写系统功能文档的效率提升10倍以上。 用ChatGPT生成系统功能文档 我们以线上商城系统为例&#…

jetcache 2级缓存模式实现批量清除

需求 希望能够实现清理指定对象缓存的方法,例如缓存了User表,当User表巨大时,通过id全量去清理不现实,耗费资源也巨大。因此需要能够支持清理指定本地和远程缓存的批量方法。 分析 查看jetcache生成的cache接口,并没…

Java设计模式 | 抽象工厂模式

抽象工厂模式 工厂方法模式中考虑的是一类产品的生产,如幼儿园只培养小朋友,鞋厂只生产鞋子。这些工厂只生产同种类产品,同种类产品称为同等级产品,即工厂方法模式只考虑生产同等级的产品,但是在现实生活中许多工厂都…

有什么代理IP推荐?如何分辨代理IP类型?

跨境外贸是近几年来的热门行业,在众多助力跨境出海的工具中,代理IP也是强力的一大保障。不仅可以帮助企业拓展更大的地区市场,更加顺畅进行市场调查,更重要地,在TikTok、Amazon、Ebay、Instagram、Etsy等等跨境平台业务…

介绍一下Redis的集群模式?

Redis有三种主要的集群模式,用于在分布式环境中实现高可用性和数据复制。这些集群模式分别是:主从复制(Master-Slave Replication)、哨兵模式(Sentinel)和Redis Cluster模式。 一、问题解析 主从模式 主从…

学点儿数据库_Day11_多表、等值连接、内连接、模糊查找

1 多表 学生表、班级表、课程表、班级课程表 关系型数据库: MySql、SqlServer、Oracle 相同的数据出现多次绝不是一件好事,这是关系数据库设计的基础。关系表的设计就是要把信息分解成多个表,一个数据一个表,各表通过某些共同的…

OpenCV模块熟悉:点云处理相关

1. 显示--VIZ 曾经基于PCL 做过不少点云相关的开发,采样VTK进行有点云显示。后来基于OpenCV做了不少三维重建工作,总是将点云保存下来,然后借助CloudCompare等查看结果。如果能够将VIZ编译进来,预计会提升开发速度。 …

86.分隔链表

给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你应当 保留 两个分区中每个节点的初始相对位置。 示例 1: ​ 输入:head [1,4,3,2,5,2], x 3 输出&…

unity学习(70)——编译游戏发生错误2

1.全屏问题其实无所谓,windows用tab可以切出来的。 2.现在主要问题是服务器try了以后虽然不崩溃了,但不再显示2个实例对象了,unity和exe此时都只能看到一个实例对象 2.1把之前报错位置的try-catch先注释掉 2.2 unity中此时登录666账号&…