卖不甜枣 发表于 2024-8-3 00:37:30

基于Amazon SageMaker平台摆设Stable Diffusion模子实现——图片辨认

序言:

当谈到机器学习和人工智能的开发和摆设时,Amazon SageMaker是一个非常强盛和全面的平台。作为一项托管式的机器学习服务,Amazon SageMaker提供了一套完整的工具和功能,帮助开发者轻松构建、训练和摆设机器学习模子。
首先,让我们谈谈我对Amazon SageMaker的看法。我认为它是一项令人印象深刻的服务,由于它将整个机器学习工作流程整合到一个同一的平台上。从数据预备和特征工程到模子训练和推理摆设,Amazon SageMaker提供了一系列直观且易于利用的工具和界面,使机器学习变得更加简单和高效。
此外,Amazon SageMaker还提供了许多最佳实践,帮助开发者在机器学习项目中取得成功。其中一项关键功能是自动模子调优(AutoML),它利用强盛的自动化技术,通过对比和优化差别的算法和超参数组合,自动找到最佳的模子配置。这大大减少了开发者在调试和优化模子上的时间和精神投入。
另一个紧张的功能是Amazon SageMaker Notebook实例,它提供了一个交互式的开发环境,让开发者能够快速迭代和实验他们的机器学习模子。Notebook实例集成了常用的开发工具和库,如Jupyter Notebook和常见的机器学习库,使代码编写、可视化和调试变得非常方便。
对于模子的训练和摆设,Amazon SageMaker提供了高度可扩展和高性能的计算资源,以及灵活的摆设选项。你可以选择将模子摆设为托管的终端节点,也可以选择在边缘装备上举行当地摆设。这使得你能够根据项目需求选择最合适的摆设方式。


Amazon SageMaker由以下三大主要部分构成:
创作: 无需举行任何设置,利用Jupyter Notebook IDE就能举行数据探索、干净与预处理。我们可以在常规实例范例或GPU驱动型实例当中运行此类工作负载。
模子训练: 一项分布式模子构建、训练与验证服务。我们可以利用其中的内置常规监督与无监督学习算法及框架,或者利用Docker容器创建属于自己的训练机制。其模子训练规模可席卷数十个实例,以支持模子构建加快。训练数据读取自S3,训练后的模子成果亦可存放在S3存储桶内。最终得出的模子结果为数据相关模子参数,而非模子当中举行推理的代码。
模子托管: 模子托管服务可共同HTTP端点以调用模子举行实时推理。这些端点可举行规模扩展,从而支持现实流量;我们也可以同时对多套模子举行A/B测试。此外,我们也可以利用内置的SDK构建这些端点,或者选择Docker镜像提供自己的配置选项。
上述构成部分皆可独立利用,这意味着Amazon SageMaker将能够轻松填补现有流程中的空缺环节。换句话来说,当开发职员以端到端方式利用该服务时,将能够享受到由其提供的强盛功能。那本文我们就来利用Amazon SageMaker快速实现高精度猫狗分类问题。
一、环境预备


[*] 登录Amazon SageMaker控制台,选择“条记本实例”。
Amazon SageMaker提供了一个完全集成的机器学习开发环境,能有效提高我们构建模子的效率和本领。我们可以在一键式Jupyter Notebooks帮助下,以闪电般的速度举行构建和协作。Sagemaker还为这些Notebooks提供了一键式共享工具。整个编程的结构都会被自动捕获,同时我们可以毫无停滞地与其他人协同工作,分享我们的训练结果和新心得。
https://i-blog.csdnimg.cn/blog_migrate/3c7d6ecda446ea9e43eed1fc37e8d6ad.png
[*] 在“条记本实例”页面上,单击“创建条记本实例”。
在“创建条记本实例”页面中,输入名称、选择实例范例和计算资源等配置信息,并新建安全组。
https://i-blog.csdnimg.cn/blog_migrate/b119a6334fe5d655b9f1cf00dd0cf1e5.png
末了选择创建条记本实例,SageMaker 就将创建该 Notebook 实例。在 条记本实例 界面可以看当前的实例列表及其状态,假如状态为 InService,在操纵列有 打开 Jupyter |打开 JupyterLab 的选项。
在机器学习中,Notebook 已经是常见的情势了,许多云平台都采取了这种编辑情势。由于可以与代码交互,用它来开发机器学习代码着实是再合适不过了。在 SageMaker Studio 中,除了 Notebook 传统擅长可视化,还额外加了一些可视化组件管理模子的实验过程。
本来用 Notebook 写轻量代码就非常方便,再加上 SageMaker 自己提供的大量精炼 API,它们之间的共同特别融洽。对于那些费时费力的底层资源管理繁杂过程,交给 SageMaker API 就行了,剩下的只要在 Notebook 写下算法逻辑,这才是机器学习开发者最高效的姿势。
https://i-blog.csdnimg.cn/blog_migrate/a117832967ae555a598c178798b6347b.png
点击 Open Jupyter,将自动弹出一个新的页面,加载完成后,出现我们认识的 Jupyter Notebook 界面。
https://i-blog.csdnimg.cn/blog_migrate/f6d0be3ce37f428132cbbe87b2f7757e.png
其中在 SageMaker Examples 页面下,在右侧 New 下拉菜单中,您可以选择创建的开发环境,此处我们选择 conda_python3 以举行后面的内容。
https://i-blog.csdnimg.cn/blog_migrate/e041063e3965c725dad162331f58feed.png
3.创建存储桶用来存放本次实验数据
猫狗数据集先容:
猫狗数据集包罗25000张训练图片,12500张测试图片,包罗猫和狗两种图片。在此次实验中为了训练方便,我们取了一个较小的数据集。 数据解压之后会有两个文件夹,一个是 “train”,一个是 “test”,顾名思义一个是用来训练的,另一个是作为检验精确性的数据
https://i-blog.csdnimg.cn/blog_migrate/7ead21c4977cb1a7f5794c66117b8c73.png
在train文件夹里边是一些已经命名好的图像,有猫也有狗。而在test文件夹中是只有编号名的图像。
https://i-blog.csdnimg.cn/blog_migrate/4763a3fbb5f68a89fc6c6eff0cef35e6.png
图片展示
下面是数据会集的图片展示:
class_names = [‘cats’, ‘dogs’]
plt.figure(figsize=(10, 10))
for images, labels in train_dataset.take(1):
for i in range(9):
ax = plt.subplot(3, 3, i + 1)
plt.imshow(images.numpy().astype(“uint8”))
plt.title(class_names])
plt.axis(“off”)
页: [1]
查看完整版本: 基于Amazon SageMaker平台摆设Stable Diffusion模子实现——图片辨认