兰州企业网站建设公司/软文营销经典案例优秀软文
这是本系列文章的第一篇,旨在通过动手实践,帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章,大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。
那么让我们开始今天的内容吧!
介绍
什么是Amazon Rekognition?
Amazon Rekognition是基于云的计算机视觉平台,提供软件即服务(SaaS)。
通过经过验证的高度可扩展的深度学习技术,Amazon Rekognition可以轻松地将图像和视频分析功能添加到您的应用程序中,而无需具备机器学习的专业知识。
它提供高度精确的面部分析和面部搜索功能,您可以利用这些功能进行用户身份验证、人数统计和公共安全等多种场景的检测、分析和比较。
服务功能:
- 标签识别
- 自定义标签
- 内容审核
- 文本检测
- 面部检测与分析
- 面部搜索与验证
- 名人识别
- 个人防护装备(PPE)检测
Amazon Lambda
- AWS Lambda是一种无服务器计算服务。
- 它无需任何服务器管理,允许我们执行任意类型的应用程序代码。
- 开发人员无需担心启动或管理AWS资源的步骤。
- 任务的配置以代码形式完成,实施在Lambda中,并在执行时运行。
- Lambda函数负责处理资源的预置和管理。
- AWS Lambda支持的编程语言包括Node.js、Python、C#、Java和Go。
- 它允许我们响应其他AWS服务的事件来运行代码。
- 根据工作负载的大小,Lambda自动进行扩展。
- Lambda代码通过来自AWS资源的触发器执行。
- AWS Lambda的成本非常低,费用取决于多个因素。它会按每100毫秒的运行时间以及代码的执行次数收费。
- Lambda函数的可允许运行时间在100毫秒到15分钟之间。
- 它提供从128MB内存到10GB内存的可变资源。
IAM角色
- IAM角色是AWS IAM身份(可以在我们的AWS账户中创建),具有特定的权限。
- 它类似于IAM用户,决定该身份在AWS中可以执行或无法执行的操作。
- 与直接将角色分配给特定用户或组不同,它可以被分配给任何需要它的人。
- 拥有角色的好处是我们不需要关联标准的长期凭证,如密码或访问密钥。
- 当资源承担某个特定角色时,它会为我们的角色会话提供临时安全凭证。
- 我们可以使用角色来访问没有权限访问AWS资源的用户、应用程序或服务。
- 根据我们的需求,可以为角色附加一个或多个策略。
- 例如,我们可以创建一个具有S3完全访问权限的角色,并将其分配给EC2实例,以便访问S3存储桶。
简单存储服务(S3)
- Amazon S3是一种简单的存储服务,我们可以随时、随地通过网络存储和检索任意数量的数据。
- 它为开发人员和用户提供高度可扩展、可靠、快速、廉价的数据存储基础设施。
- S3保证99.9%的可用性。
- S3设计用于存储最多5TB的数据。
- S3是全球化的,这意味着您可以在任何地区创建存储桶,并从任何地方访问它。因此,存储桶的名称必须是唯一的。
- 用户可以随时删除S3存储桶及其对象。
- 我们可以通过为不同用户授予不同权限来限制对存储桶的访问。
- S3还提供额外功能,如版本控制、静态网站托管、服务器访问日志记录、对象存储生命周期策略等。
架构图
任务详情
-
创建S3存储桶并上传图
-
创建Lambda函
-
测试Lambda函数
任务1:创建S3存储桶并上传图像
在此任务中,我们将通过提供所需的配置来创建一个S3存储桶,并将图像上传到该存储桶。
- 导航到顶部的“服务”菜单,然后在“存储”部分点击S3。
- 在左侧菜单中选择“存储桶”,点击“创建存储桶”按钮并填写存储桶的详细信息。
-
存储桶名称: 输入
labs.rekognition.23
注意: 存储桶名称必须在Amazon S3中所有现有存储桶名称中是唯一的。如果您收到存储桶名称已存在的错误,请将存储桶名称的最后两位数字更改为任意随机数字。 -
区域: 选择 美国东部(弗吉尼亚北部)us-east-1
-
对象所有权: 选择 禁用ACL(推荐) 选项
-
阻止公共访问的存储桶设置: 取消选中“阻止所有公共访问”选项,并勾选“确认”复选框。
- 其他设置保持默认。
- 点击“创建存储桶”按钮。
3.现在您的S3存储桶已经创建好了。
4.点击您的存储桶名称。
5.在“概览”中,您会看到以下消息:
"此存储桶中没有任何对象。"
6.注意:本实验室仅支持使用jpg、jpeg和PNG文件格式。其他格式不支持。
7.您可以从本地存储上传任何图像,或者从此链接下载示例图像:Download Me。
8.如果图像在新标签页中打开,请右键点击并将图像保存到您的本地机器上。保存后可以关闭该标签页。
9.上传文件到S3存储桶的步骤:
- 点击“上传”按钮。
- 点击“添加文件”按钮。
- 浏览本地图像文件,或选择下载的图像文件,文件名为:
rose_flower_54_11.jpeg
。 - 点击“上传”按钮。
- 您可以在屏幕底部的传输面板中查看上传进度。
- 文件上传完成后,它将显示在存储桶中。
10.现在,点击屏幕右上角的“关闭”按钮。
任务2:创建Lambda函数
在此任务中,我们将通过提供名称、运行时、权限和代码等所需配置来创建一个Lambda函数。
- 确保您所在的区域是美国东部(弗吉尼亚北部)。
- 通过点击顶部的“服务”菜单导航到Lambda,然后在“计算”部分点击Lambda。
- 点击“创建函数”按钮。
- 选择“从头开始创建”按钮。
- 函数名称:输入
my_rekognition_Lambda
。 - 运行时:选择
Python 3.8
。 - 权限:点击“更改默认执行角色”,选择“使用现有角色”。
- 现有角色:从下拉列表中选择
Whiz_policy_role_<RANDOM_NUMBER>
。 - 点击“创建函数”按钮。
4.在“代码”选项卡下,找到“代码源”部分,双击
lambda_function.py
文件,然后将现有代码替换为以下代码。
import json
import boto3
def lambda_handler(event, context):bucket_name = "labs.rekognition.23"image_obj_name = "rose_flower_54_11.jpeg"try:rkClient = boto3.client("rekognition", region_name="us-east-1")try:rkResponse = rkClient.detect_labels(Image={'S3Object': {'Bucket': bucket_name,'Name': image_obj_name}},)print(rkResponse['Labels'])return rkResponse['Labels']except Exception as e:print("Get labels failed because ", e)except Exception as e:print("Client connection to Rekognition failed because ", e)
注意:请将代码中的存储桶名称和对象名称替换为您自己的名称。
5.注意:如果您创建的存储桶名称不同或上传的对象与实验室中的不一致,输出/结果可能会有所不同。
6.点击“部署”按钮以保存函数。
任务3:测试Lambda函数
- 注意:请确保第6行和第7行的存储桶名称和对象名称与您的S3数据一致。
- 点击“测试”按钮,事件名称:输入
LambdaTest
,然后点击“保存”按钮。 - 再次点击“测试”按钮。
- 现在,在Lambda的执行结果中,Rekognition将根据图像返回标签。
- 它将以JSON格式提供数据,包含标签名称以及它对从图像中检测到该标签的置信度。
6.这就是我们使用Amazon Rekognition服务来检测图像中标签的方式。
结语
通过本次实验室操作,我们成功创建了一个S3存储桶并上传了图像,配置并部署了Lambda函数,同时利用Amazon Rekognition服务实现了对图像标签的自动检测。通过这一步步的实践,我们不仅了解了如何将Amazon Rekognition与AWS Lambda集成,还掌握了如何高效地处理图像分析任务。这种无服务器架构为应用程序的扩展性和自动化提供了强大的支持,是实现AI功能的有效途径。
lab内容参考自whizlabs平台的lab实验,如需想要完整练习上面内容推荐去相关平台进行学习。
相关文章:

使用AWS Lambda轻松开启Amazon Rekognition之旅
这是本系列文章的第一篇,旨在通过动手实践,帮助大家学习亚马逊云科技的生成式AI相关技能。通过这些文章,大家将掌握如何利用亚马逊云科技的各类服务来应用AI技术。 那么让我们开始今天的内容吧! 介绍 什么是Amazon Rekognition&…...

如何获取VS Code扩展的版本更新信息
获取VS Code 扩展的版本更新的需求 因为企业内部有架设私有扩展管理器的要求,但是对于一些官方市场的插件,希望可以自动获取这些扩展的更新并上传至私有扩展管理器。于是就有了本篇介绍的需求: 通过API的方式获取VS Code 扩展的更新。 关于…...

Python开源项目周排行 2024年第13周
#2024年第13周2024年8月5日1roop一款基于深度学习框架TensorFlow和Keras开发的单图换脸工具包,提供了丰富的功能和简洁易用的界面,使得用户可以轻松实现单图换脸操作。支持多张人脸替换成同一个人脸,勾选多人脸模式即可 人脸替换 高清修复自…...

day04--js的综合案例
1.1 商品全选 需求:商品全选 1. 全选 :点击全选按钮,所有复选框都被选中 2. 全不选 :点击全不选按钮,所有复选框都被取消选中 3. 反选 : 点击反选按钮,所有复选框状态取反 <!DOCTYPE html> <html lang"en">…...

【产品经理】定价策略
年初的时候,尝试自己独立运营了一个美团店铺,最终没有继续做下去了,原因是利润率太低,平台和骑手把利润拿走太多了,根本没有钱赚,烧钱搞流量更是深不见底。 不过也学到了很多东西,比如选品策略…...

webrtc学习笔记3
Nodejs实战 对于我们WebRTC项目而言,nodejs主要是实现信令服务器的功能,客户端和服务器端的交互我们选择websocket作为通信协议,所以以websocket的使用为主。 web客户端 websocket WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行…...

Transformer架构;Encoder-Decoder;Padding Mask;Sequence Mask;
目录 Transformer架构 Transformer架构的主要组成部分: 简单举例说明输入和输出: Encoder-Decoder 编码器/解码器组成 6、位置前馈网络(Position-wise Feed-Forward Networks) 7、残差连接和层归一化 10、掩码Mask 10.1 Padding Mask 10.2 Sequence Mask 为什么…...

【leetcode详解】特殊数组II : 一题代表了一类问题(前缀和思想)
前缀和的优势 给定一个数组,前缀和的特点在于,任意给出一对始末位置,能够用O(1)的时间复杂度得到始末位置之间所有元素的某种关系。 题型分析 这道题目正是“给出始末位置,检测其中元素特点”那一类,那我们就想&#…...

SQL每日一练-0814
今日SQL题难度:🌟☆☆☆☆☆☆☆☆☆ 1、题目要求 找出每个部门中薪资最高的员工显示部门ID、部门名称、员工ID、员工姓名以及对应的薪资 2、表和虚拟数据 现有两个表:Employees 和 Departments,记录了员工和部门信息。…...

Android持久化技术—文件存储
Android持久化技术—文件存储 文件存储是Android中最基本的一种数据存储方式,它不对存储的内容进行任何的格式化处理,所有数据都是原封不动地保存到文件当中的,因而它比较适合用于存储一些简单的文本数据或二进制数据。如果你想使用文件存储…...

动手学深度学习(pytorch)学习记录12-激活函数[学习记录]
激活函数 激活函数(activation function)通过计算加权和并加上偏置来确定神经元是否应该被激活, 它们将输入信号转换为输出的可微运算。 import torch import matplotlib.pyplot as plt 简单定义一个画图的函数 def graph_drawing(x_,y_…...

微服务实战系列之玩转Docker(十)
前言 我们知道Docker的“使命”是为了快速完成应用的迁移和部署。为提升它的战斗能力,Docker官方携手发布了Docker Swarm—— 一个快速完成Docker集群构建的利器。那么请先回忆一下本系列第八篇(重点compose)和第九篇(重点networ…...

Mysql(四)---增删查改(进阶)
文章目录 前言1.查询操作1.1.全列查询1.2.指定列查询1.3.列名为表达式查询1.4.查询中使用别名1.5.去重查询1.6.排序1.6.2.NULL 1.7.条件查询1.8.分页查询 2.修改3.删除 前言 上一篇博客,我们学习了一些主键的概念,并且分别创造了一些示例表,…...

SOAP @WebService WSDL
SOAP & WebService & WSDL SOAP(Simple Object Access Protocol)WebService(Web服务)WSDL(Web Services Description Language) SOAP(Simple Object Access Protocol) **是一…...

【Qt】QWidget的toolTip属性
QWidget的toolTip属性 如果一个GUI程序,界面比较复杂,按钮比较多,使用toolTip可以设置当鼠标悬停在控件上的时候,可以弹出一个提示。 API说明 setToolTip 设置 toolTip. ⿏标悬停在该 widget 上时会有提⽰说明. setToolTipDur…...

【操作系统】什么是进程?什么是线程?两者有什么区别(面试常考!!!)
什么是进程/任务(Process/Task) 当我们打开我们的电脑的任务管理器就可以看到我们的电脑正在执行的进程。 每个应用程序运行于现代操作系统之上时,操作系统会提供一种抽象,好像系统上只有这个程序在运行,所有的硬件资…...

AI -- Machine Learning
1. What is Machine Learning 1.1 Artificial Intelligence vs. Machine Learning 1.2 Relations to Other Disciplines 与其他学科的关系 1.3 Human Learning vs. Machine Learning 1.4 What is Skill in Machine Learning 什么是机器学习的技能 1.5 Two General Types of Le…...

了解交换机_1.交换机的技术发展
1.LAN的分段-单网线 最简单的网络是两台计算机通过一根网线相连: 一根网线它有很多限制,首先只能连接两台电脑,其次不能距离太远,主要因为: (1)单路网线太长会存在信号衰减;…...

ubuntu 24.04 安装 Nvidia 显卡驱动 + CUDA + cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会!
ubuntu 24.04 安装 Nvidia 显卡驱动 CUDA cuDNN,配置 AI 深度学习训练环境,简单易懂,一看就会! 1.查看本机显卡型号 lspci | grep -i nvidia输出如下: 01:00.0 3D controller: NVIDIA Corporation GM108M [GeForc…...

跟李沐学AI:目标检测的常用算法
区域神经网络R-CNN 使用启发式搜索算法来选择锚框 -> 使用预训练模型来对每个锚框抽取特征 -> 训练一个SVM对类别进行分类 -> 训练一个线性回归模型来预测边缘框偏移 锚框大小不一,如何将不同的锚框统一为一个batch? -> 兴趣区域池化层 兴趣区域(RoI…...

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(一)---UnrealCV获取深度+分割图像
前言 本系列教程旨在使用UE5配置一个具备激光雷达深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程使用的环境: ubuntu 22.04 ros2 humblewindows11 UE5.4.3python8 本系列教程将涉及以…...

Java算法解析一:二分算法及其衍生出来的问题
这个算法的前提是,数组是升序排列的 算法描述: i和j是指针可以表示查找范围 m为中间值 当目标值targat比m大时,设置查找范围在m右边:i m-1 当目标值targat比m小时,设置查找范围在m左边:j m1 当targat的…...

数学建模预测类—【一元线性回归】
每日格言:行动是治愈恐惧的良药,而犹豫拖延将不断滋养恐惧. 目录 前言 一、什么是回归分析? 1.概念理解 2.分类和一般步骤 二、一元线性回归(Matlab算法) 1.利用regress函数 2、例题讲解 总结 前言 在具体讲述线性回归…...

配置更加美观的 Swagger UI
//注册Swagger服务 private static void AddSwaggerService(IServiceCollection services){services.AddSwaggerGen(opt >{opt.SwaggerDoc("Push", new OpenApiInfo{Version "v1",Title "Push API",Description "Push API 文档"…...

软件测试 - 基础(软件测试的生命周期、测试报告、bug的级别、与开发人员产生争执的调解方式)
一、软件测试的生命周期 测试贯穿软件的整个生命周期 软件测试的生命周期: 需求分析 →测试计划→ 测试设计、测试开发→ 测试执行→ 测试评估->上线->运行维护 需求分析:判断用户的需求是否合理,是否可实现 测试计划:计划项…...

RTX 4070 GDDR6显存曝光:性能与成本的平衡之选
近期,关于NVIDIA RTX 4070新显卡的信息曝光,这款显卡将配备较为缓慢的GDDR6显存,而非更高性能的GDDR6X。这一配置的选择引发了业内的广泛关注,特别是在性能与成本的平衡问题上。 新版RTX 4070 OC 2X的核心特点 **1.显存类型与带…...

canvas的基础使用
canvas的基础使用 一、画一条直线二、线的属性设置三、防止多次绘制的样式污染四、闭合五、快捷绘制矩形六、绘制圆形七、绘制文字八、绘制图片js版dom版图片截取 一、画一条直线 画一条直线需要用到三个方法:cxt.moveTo、cxt.lineTo、cxt.stroke <canvas id&qu…...

Windows 常用网络命令之 telnet(测试端口是否连通)
文章目录 1 概述1.1 启用 telnet 2 常用命令2.1 ping:测试网络是否连通2.2 telnet:测试端口是否连通 3 扩展3.1 进入 cmd 命令3.2 cls 清屏命令 1 概述 1.1 启用 telnet telnet ip:port // 格式 telnet 10.0.24.154:8001若出现上述提示&…...

x264 编码器像素运算系列:asd8函数
x264 编码器中像素间运算 在 x264 编码器中有多种像素间的运算,如下: sad 计算:SAD(Sum of Absolute Differences,绝对差值和)是一种在图像处理和视频编码中常用的度量,用于计算两个图像块之间的差异。SAD值越小,表示两个图像块越相似。hadamard_ac计算:用于计算Hadam…...

什么是AR、VR、MR、XR?
时代背景 近年来随着计算机图形学、显示技术等的发展,视觉虚拟化技术得到了广泛的发展,并且越来越普及化,慢慢的也走入人们的视野。目前市场上视觉虚拟化技术的主流分为这几种 VR、AR、MR、XR。这几项技术并不是最近才出现的,VR的…...