aws(学习笔记第二十四课) 使用sam开发step functions
aws(学习笔记第二十四课)
- 使用
sam
开发step functions
学习内容:
- 生成
sam
的step functions
实例程序 - 什么是
SAM amazon Serverless Application Model
SAM
程序结构SAM
执行程序
1. 生成sam
的step functions
实例程序
- 参照文档
这里参照AWS
的官方文档SAM amazon Serverless Application Model
- 什么是
SAM amazon Serverless Application Model
- 整体架构
SAM
就是一个基于Cloudformation
的应用程序框架,主要目的正如名字(Serverless Application Model
),方便进行Serverless Application
的开发。
开发的一般步骤如下:- 开发
lambda
等serverless application
。 - 利用
step functions
等serverless application
。当然,其中可以调用lambda
。 - 之后利用上面的
serverless application
,进行Cloudformation
的template
定义。 - 最后经过
sam build
和sam deploy
部署到AWS
的环境中。
- 开发
- 整体架构
3. SAM
程序结构
- 开始使用
SAM
- 这里使用
SAM
提供的实例程序进行练习HourlyTradingSchedule
是一个AWS EventBridge
的规则,这里定义了股票投资程序的调用周期。类似于linux
的cron job
。StockTradingStateMachine
就是股票交易的StateMachine
。- 股票交易的
StateMachine
里面包括三个lambda
StockCheckerFunction
这里随机产生股票的价格(进行简单的股票市场的模拟)- 中间其实有一个
choice state
,进行判断。这里没有画出来 - 之后根据判断,如果股票高过某个固定价格,那么进行
StockBuyerFunction
的调用 - 如果股票高过某个固定价格,那么进行
StockSellerFunction
的调用 - 最后,不管买还是卖的操作,都进行
TransactionTable
的写入(使用DynamoDB
记录交易)
- 进行实际代码的实验
- 实验环境
这里还是使用非常给力的工具CloudShell
。
- 构建代码
- 创建代码的父路径
mkdir demo-sam cd demo-sam
- 使用
sam
生成股票实例代码(这个代码是sam
自带的)
之后进行一些runtime
的相关设定。
到这里,代码就会被生成出来,而且cloudformation
的template
文件都是yaml
格式的。
- 创建代码的父路径
- 实验环境
- 将
cloudshell
环境中的代码通过S3
取到本地- 创建传输文件的
S3 bucket
因为cloudshell
不是很容易和本地传输文件,所以使用S3 bucket
。
- 将
SAM
代码打包,copy
到S3 bucket
tar zcvf demo-sam.tar.gz demo-sam/ aws s3 cp demo-sam.tar.gz s3://finlay-cloudshell/
- 将
SAM init
生成的实例程序代码,下载到本地
本地文件夹如下所示。
- 将
SAM init
生成的实例程序代码使用vscode
打开(这里单纯的可以更加容易编辑代码)template
文件
使用AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 Description: |demo-samSample SAM Template for demo-samResources:StockTradingStateMachine:Type: AWS::Serverless::StateMachine # More info about State Machine Resource: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-statemachine.htmlProperties:DefinitionSubstitutions:StockCheckerFunctionArn: !GetAtt StockCheckerFunction.ArnStockSellerFunctionArn: !GetAtt StockSellerFunction.ArnStockBuyerFunctionArn: !GetAtt StockBuyerFunction.ArnDDBPutItem: !Sub arn:${AWS::Partition}:states:::dynamodb:putItemDDBTable: !Ref TransactionTableEvents:HourlyTradingSchedule:Type: Schedule # More info about Schedule Event Source: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-property-statemachine-schedule.htmlProperties:Description: Schedule to run the stock trading state machine every hourEnabled: false # This schedule is disabled by default to avoid incurring charges.Schedule: rate(1 hour)Policies:# Find out more about SAM policy templates: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-policy-templates.html- LambdaInvokePolicy:FunctionName: !Ref StockCheckerFunction- LambdaInvokePolicy:FunctionName: !Ref StockSellerFunction- LambdaInvokePolicy:FunctionName: !Ref StockBuyerFunction- DynamoDBWritePolicy:TableName: !Ref TransactionTableDefinitionUri: statemachine/stock_trader.asl.jsonStockCheckerFunction:Type: AWS::Serverless::Function # More info about Function Resource: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-function.htmlProperties:CodeUri: functions/stock_checker/Handler: app.lambda_handlerRuntime: python3.9Architectures:- x86_64StockSellerFunction:Type: AWS::Serverless::FunctionProperties:CodeUri: functions/stock_seller/Handler: app.lambda_handlerRuntime: python3.9Architectures:- x86_64StockBuyerFunction:Type: AWS::Serverless::FunctionProperties:CodeUri: functions/stock_buyer/Handler: app.lambda_handlerRuntime: python3.9Architectures:- x86_64TransactionTable:Type: AWS::Serverless::SimpleTable # More info about SimpleTable Resource: https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-resource-simpletable.htmlProperties:PrimaryKey:Name: IdType: StringProvisionedThroughput:ReadCapacityUnits: 1WriteCapacityUnits: 1ApplicationResourceGroup:Type: AWS::ResourceGroups::GroupProperties:Name: !Sub ApplicationInsights-SAM-${AWS::StackName}ResourceQuery:Type: CLOUDFORMATION_STACK_1_0ApplicationInsightsMonitoring:Type: AWS::ApplicationInsights::ApplicationProperties:ResourceGroupName: !Ref ApplicationResourceGroupAutoConfigurationEnabled: 'true' Outputs:# StockTradingStateMachineHourlyTradingSchedule is an implicit Schedule event rule created out of Events key under Serverless::StateMachine# Find out more about other implicit resources you can reference within SAM# https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-specification-generated-resources.htmlStockTradingStateMachineArn:Description: Stock Trading State machine ARNValue: !Ref StockTradingStateMachineStockTradingStateMachineRoleArn:Description: IAM Role created for Stock Trading State machine based on thespecified SAM Policy TemplatesValue: !GetAtt StockTradingStateMachineRole.Arn
vscode
打开template
文件,可以看到AWS service
的图形化结构。
stock_checker
文件 随机产生stock
的价格from random import randintdef lambda_handler(event, context):"""Sample Lambda function which mocks the operation of checking the current price of a stock.For demonstration purposes this Lambda function simply returns a random integer between 0 and 100 as the stock price.Parameters----------event: dict, requiredInput event to the Lambda functioncontext: object, requiredLambda Context runtime methods and attributesReturns------dict: Object containing the current price of the stock"""# Check current price of the stockstock_price = randint(0, 100) # Current stock price is mocked as a random integer between 0 and 100return {"stock_price": stock_price}
stock_buyer
文件 如果价格低,选择买进from datetime import datetime from random import randint from uuid import uuid4def lambda_handler(event, context):"""Sample Lambda function which mocks the operation of buying a random numberof shares for a stock.For demonstration purposes, this Lambda function does not actually perform any actual transactions. It simply returns a mocked result.Parameters----------event: dict, requiredInput event to the Lambda functioncontext: object, requiredLambda Context runtime methods and attributesReturns------dict: Object containing details of the stock buying transaction"""# Get the price of the stock provided as inputstock_price = event["stock_price"]# Mocked result of a stock buying transactiontransaction_result = {"id": str(uuid4()), # Unique ID for the transaction"price": str(stock_price), # Price of each share"type": "buy", # Type of transaction (buy/sell)"qty": str(randint(1, 10)), # Number of shares bought/sold (We are mocking this as a random integer between 1 and 10)"timestamp": datetime.now().isoformat(), # Timestamp of the when the transaction was completed}return transaction_result
stock_seller
文件 如果价格高,选择抛出from datetime import datetime from random import randint from uuid import uuid4def lambda_handler(event, context):"""Sample Lambda function which mocks the operation of selling a random numberof shares for a stock.For demonstration purposes, this Lambda function does not actually perform any actual transactions. It simply returns a mocked result.Parameters----------event: dict, requiredInput event to the Lambda functioncontext: object, requiredLambda Context runtime methods and attributesReturns------dict: Object containing details of the stock selling transaction"""# Get the price of the stock provided as inputstock_price = event["stock_price"]# Mocked result of a stock selling transactiontransaction_result = {"id": str(uuid4()), # Unique ID for the transaction"price": str(stock_price), # Price of each share"type": "sell", # Type of transaction (buy/sell)"qty": str(randint(1, 10)), # Number of shares bought/sold (We are mocking this as a random integer between 1 and 10)"timestamp": datetime.now().isoformat(), # Timestamp of the when the transaction was completed}return transaction_result
step functions
文件 将上面的lambda
函数穿插起来,形成一个工作流程编排{"Comment": "A state machine that does mock stock trading.","StartAt": "Check Stock Value","States": {"Check Stock Value": {"Type": "Task","Resource": "${StockCheckerFunctionArn}","Retry": [{"ErrorEquals": ["States.TaskFailed"],"IntervalSeconds": 15,"MaxAttempts": 5,"BackoffRate": 1.5}],"Next": "Buy or Sell?"},"Buy or Sell?": {"Type": "Choice","Choices": [{"Variable": "$.stock_price","NumericLessThanEquals": 50,"Next": "Buy Stock"}],"Default": "Sell Stock"},"Sell Stock": {"Type": "Task","Resource": "${StockSellerFunctionArn}","Retry": [{"ErrorEquals": ["States.TaskFailed"],"IntervalSeconds": 2,"MaxAttempts": 3,"BackoffRate": 1}],"Next": "Record Transaction"},"Buy Stock": {"Type": "Task","Resource": "${StockBuyerFunctionArn}","Retry": [{"ErrorEquals": ["States.TaskFailed"],"IntervalSeconds": 2,"MaxAttempts": 3,"BackoffRate": 1}],"Next": "Record Transaction"},"Record Transaction": {"Type": "Task","Resource": "${DDBPutItem}","Parameters": {"TableName": "${DDBTable}","Item": {"Id": {"S.$": "$.id"},"Type": {"S.$": "$.type"},"Price": {"N.$": "$.price"},"Quantity": {"N.$": "$.qty"},"Timestamp": {"S.$": "$.timestamp"}}},"Retry": [{"ErrorEquals": ["States.TaskFailed"],"IntervalSeconds": 20,"MaxAttempts": 5,"BackoffRate": 10}],"End": true}} }
vscode
的sam
预览功能
- 创建传输文件的
- 回到
cloudshell
执行sam build
和sam deploy
部署到AWS
可以看到,本质上这个sam build sam deploy
sam application
还是使用Cloudformation
进行部署。
查看Cloudformation
进一步验证了想定结果。
- 这里使用
4. 执行sam
的step functions
实例程序
-
打开默认的
aws eventbridge
的规则设置
默认是禁用的,编辑这里,打开禁用。
-
查看执行结果
可以看出,已经成功执行一次
股票价格为2,执行了buy stock lambda
相关文章:
aws(学习笔记第二十四课) 使用sam开发step functions
aws(学习笔记第二十四课) 使用sam开发step functions 学习内容: 生成sam的step functions实例程序什么是SAM amazon Serverless Application ModelSAM程序结构SAM执行程序 1. 生成sam的step functions实例程序 参照文档 这里参照AWS的官方文档SAM amazon Serverl…...
RabbitMQ介绍与使用
RabbitMQ官网 RabbitMQ 介绍 RabbitMQ 是一个开源的消息代理和队列服务器,基于 AMQP(高级消息队列协议)标准,使用 Erlang 编程语言构建。它是消息队列(MQ)的一种,广泛应用于分布式系统中&#x…...
LeetCode 热题 100_腐烂的橘子(52_994_中等_C++)(图;广度优先遍历(队列))
LeetCode 热题 100_腐烂的橘子(52_994) 题目描述:输入输出样例:题解:解题思路:思路一(广度优先遍历(队列)): 代码实现代码实现(思路一…...
【数学】概率论与数理统计(五)
文章目录 [toc] 二维随机向量及其分布随机向量离散型随机向量的概率分布律性质示例问题解答 连续型随机向量的概率密度函数随机向量的分布函数性质连续型随机向量均匀分布 边缘分布边缘概率分布律边缘概率密度函数二维正态分布示例问题解答 边缘分布函数 二维随机向量及其分布 …...
《AI模型格局演变:Claude、Gemini Flash与OpenAI的技术角力》
Anthropic的Claude模型在通用聊天模型中表现优异,但在市场份额上仍落后于OpenAI Anthropic的Claude模型在通用聊天模型中的表现优异,主要体现在以下几个方面: 1. 技术优势 性能表现: Claude模型在处理复杂任务(如编程、自然语言…...
[0405].第05节:搭建Redis主从架构
Redis学习大纲 一、3主3从的集群配置: 1.1.集群规划 1.分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点,结构如下: 2.每组是一主一从&#x…...
01、kafka知识点综合
kafka是一个优秀大吞吐消息队列,下面我就从实用的角度来讲讲kafka中,“kafka为何有大吞吐的机制”,“数据不丢失问题”,“精准一次消费问题” 01、kafka的架构组织和运行原理 kafka集群各个节点的名称叫broker,因为kaf…...
K8S集群常用命令
1,查看pod kubectl get pods -A 查看所有的pod kubectl get pods 这个只查看namespace为default下的pod,也就是只查看默认命名空间下的pod kubectl get pod -A -o wide 查看所有的pod,并且放出的信息更全(包含了pod的ip࿰…...
数据集-目标检测系列- 石榴 检测数据集 pomegranate >> DataBall
数据集-目标检测系列- 石榴 检测数据集 pomegranate >> DataBall DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(fre…...
【ubuntu24.04】配置ssh以root登录
ubuntu默认不能以root登录 SSH 访问 Ubuntu 时,root 用户登录提示 Access denied 的问题,通常是因为 Ubuntu 默认禁用了 root 用户通过 SSH 登录。这是出于安全性考虑的默认配置。原因分析 默认禁用 root 登录: 在 /etc/ssh/sshd_config 配置文件中,PermitRootLogin 默认…...
python学opencv|读取图像(二十九)使用cv2.getRotationMatrix2D()函数旋转缩放图像
【1】引言 前序已经学习了如何平移图像,相关文章链接为: python学opencv|读取图像(二十七)使用cv2.warpAffine()函数平移图像-CSDN博客 在此基础上,我们尝试旋转图像的同时缩放图像。 【2】…...
Python语言的编程范式
Python语言的编程范式探讨 引言 在当今的编程世界中,Python语言以其简洁、易读和强大的功能深受开发者的喜爱。作为一种多范式编程语言,Python支持多种编程风格,包括面向对象编程(OOP)、函数式编程和命令式编程等。每…...
JAVA多线程学习
文章目录 线程相关概念线程创建继承Thread类Runnable接口多个线程同时操作同一个对象测试:实现callable接口(了解)静态代理lamda表达式 线程状态线程停止线程休眠线程礼让 线程相关概念 线程:是进程的一部分,一个进程之内的线程之间共享进程的…...
【c语言】指针 (完结)
一、sizeof和strlen的对比 1、sizeof 前面我们在学习操作符的时候,我们学习了sizeof,知道其是计算变量所占内存的大小的,单 位是字节,如果操作数是数据类型的话,计算的就是这个类型的变量所占的内存空间的大…...
vue使用自动化导入api插件unplugin-auto-import,避免频繁手动导入
unplugin-auto-import是一个现代的自动导入插件,旨在简化前端开发中的导入过程,减少手动导入的繁琐工作,提升开发效率。它支持多种构建工具,包括Vite、Webpack、Rollup和esbuild,并且可以与TypeScript配合使用&…...
matlab函数讲解——randsample
在MATLAB中,randsample函数用于从一个给定的集合中随机选择样本。函数的基本用法是从指定范围内随机选择元素,具体用法如下: 用法 y randsample(n, k, true, w)参数说明 n: 整数,表示从1到n的集合中进行抽样。例如,…...
50_Lua垃圾回收
1.Lua垃圾回收机制概述 Lua采用了一种自动内存管理机制,称为垃圾回收(Garbage Collection, GC)。垃圾回收的主要目的是回收程序中不再被使用的内存,从而避免内存泄漏。Lua的垃圾回收器负责回收动态分配的对象,如函数、用户数据、表、字符串、线程、内部结构等。Lua的垃圾…...
【Python】数据容器:列表,元组,字符串,集合字典及通用操作
文章目录 一.序列1.1list列表定义常用操作列表的遍历 1.2tuple元组定义常见操作元组的遍历 1.3str字符串定义常见操作字符串的遍历 1.4序列常用操作——切片 二.set集合定义常见操作集合的遍历 三.dict字典定义常用操作字典的嵌套 *数据容器对比总结四.数据容器的通用操作4.1通…...
Wi-Fi Direct (P2P)原理及功能介绍
目录 Wi-Fi Direct (P2P)介绍Wi-Fi Direct P2P 概述P2P-GO(P2P Group Owner)工作流程 wifi-Direct使用windows11 wifi-directOpenwrtwifi的concurrent mode Linux环境下的配置工具必联wifi芯片P2P支持REF Wi-Fi Direct ÿ…...
系统看门狗配置--以ubuntu为例
linux系统配置看门狗 以 ubuntu 系统配置看门狗为例 配置看门狗使用的脚本文件,需要使用管理员权限来执行: 配置是:系统每 30S 喂一次狗,超过 60S 不进行投喂,就会自动重启。 1. 系统脚本内容: #!/bin/b…...
Mysql--基础篇--多表查询(JOIN,笛卡尔积)
在MySQL中,多表查询(也称为联表查询或JOIN操作)是数据库操作中非常常见的需求。通过多表查询,你可以从多个表中获取相关数据,并根据一定的条件将它们组合在一起。MySQL支持多种类型的JOIN操作,每种JOIN都有…...
44_Lua迭代器
在Lua中,迭代器是一种用于遍历集合元素的重要工具。掌握迭代器的使用方法,对于提高Lua编程的效率和代码的可读性具有重要意义。 1.迭代器概述 1.1 迭代器介绍 迭代器是一种设计模式,它提供了一种访问集合元素的方法,而不需要暴露其底层结构。在Lua中,迭代器通常以一个函…...
网络原理(三)—— 传输层 之 UDP 和 TCP协议
传输层 在传输层两大关键的协议就是UDP和TCP协议了,除此之外,还有别的传输层协议,本文章将介绍UDP和TCP协议,重点介绍TCP协议。 首先回顾TCP和UDP 的特点: UDP:不可靠传输,面向数据包…...
Swin Transformer模型详解(附pytorch实现)
写在前面 Swin Transformer(Shifted Window Transformer)是一种新颖的视觉Transformer模型,在2021年由微软亚洲研究院提出。这一模型提出了一种基于局部窗口的自注意力机制,显著改善了Vision Transformer(ViT…...
opencv进行人脸识别环境搭建
1. 构建人脸识别环境 1) 下载安装opencv 下载地址:Releases - OpenCV 参考博文:OpenCV下载安装教程(Windows)-CSDN博客 下载对应系统的opencv,如windows版,opencv-4.5.5-vc14_vc15.exe 2) 然后解压缩到…...
java小灶课详解:关于char和string的区别和对应的详细操作
char和string的区别与操作详解 在编程语言中,char和string是用于处理字符和字符串的两种重要数据类型。它们在存储、操作和应用场景上存在显著差异。本文将从以下几个方面详细解析两者的区别及常见操作。 1. 基本定义与存储差异 char: 定义:…...
计算机网络之---RIP协议
RIP协议的作用 RIP (Routing Information Protocol) 协议是一个基于距离矢量的路由协议,它在网络中用来动态地交换路由信息。RIP 是最早的路由协议之一,通常用于小型和中型网络中。它的工作原理简单,易于实现,但在一些大型网络中效…...
F#语言的文件操作
F#语言的文件操作 F#是一种功能性编程语言,运行在.NET平台上,特别适合处理并发和复杂的数据处理任务。在这篇文章中,我们将介绍F#语言中的文件操作,包括读取、写入和管理文件的基本方法。通过实例来帮助理解,适合初学…...
微信小程序开发设置支持scss文件
在微信小程序开发中,默认是不支持scss文件的,创建文件的时候,css文件默认创建的是wxss后缀结尾的,但是用习惯了scss的怎么办呢? 首先找到project.config.json文件,打开文件在setting下设置useCompilerPlug…...
【Excel笔记_3】execl的单元格是#DIV/0!,判断如果是这个,则该单元格等于空
在 Excel 中,可以使用 IF 函数来判断单元格是否是 #DIV/0! 错误,并将其替换为空值(即空字符串 "")。具体公式如下: IF(ISERROR(A1), "", A1)或者,如果只想判断 #DIV/0! 错误ÿ…...
51单片机入门基础
目录 一、基础知识储备 (一)了解51单片机的基本概念 (二)掌握数字电路基础 (三)学习C语言编程基础 二、开发环境搭建 (一)硬件准备 (二)软件准备 三、…...
设计模式 行为型 访问者模式(Visitor Pattern)与 常见技术框架应用 解析
访问者模式(Visitor Pattern)是一种行为设计模式,它允许你在不改变元素类的前提下定义作用于这些元素的新操作。这种模式将算法与对象结构分离,使得可以独立地变化那些保存在复杂对象结构中的元素的操作。 假设我们有一个复杂的对…...
stable diffusion 量化学习笔记
文章目录 一、一些tensorRT背景及使用介绍1)深度学习介绍2)TensorRT优化策略介绍3)TensorRT基础使用流程4)dynamic shape 模式5)TensorRT模型转换 二、TensorRT转onnx模型1)onnx介绍2)背景知识&…...
金融项目实战 04|JMeter实现自动化脚本接口测试及持续集成
目录 一、⾃动化测试理论 二、自动化脚本 1、添加断言 1️⃣注册、登录 2️⃣认证、充值、开户、投资 2、可重复执行:清除测试数据脚本按指定顺序执行 1️⃣如何可以做到可重复执⾏? 2️⃣清除测试数据:连接数据库setup线程组 ①明确…...
无需昂贵GPU:本地部署开源AI项目LocalAI在消费级硬件上运行大模型
无需昂贵GPU:本地部署开源AI项目LocalAI在消费级硬件上运行大模型 随着人工智能技术的快速发展,越来越多的AI模型被广泛应用于各个领域。然而,运行这些模型通常需要高性能的硬件支持,特别是GPU(图形处理器)…...
selenium学习笔记
一.搭建环境 1.安装chrome #下载chrome wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb#安装chrome apt --fix-broken install ./google-chrome-stable_current_amd64.deb2.安装chromedriver 首先先查看版本:google-chrome --…...
SOME/IP协议详解 基础解读 涵盖SOME/IP协议解析 SOME/IP通讯机制 协议特点 错误处理机制
车载以太网协议栈总共可划分为五层,分别为物理层,数据链路层,网络层,传输层,应用层,其中今天所要介绍的内容SOME/IP就是一种应用层协议。 SOME/IP协议内容按照AUTOSAR中的描述,我们可以更进一步…...
nginx 实现 正向代理、反向代理 、SSL(证书配置)、负载均衡 、虚拟域名 ,使用其他中间件监控
我们可以详细地配置 Nginx 来实现正向代理、反向代理、SSL、负载均衡和虚拟域名。同时,我会介绍如何使用一些中间件来监控 Nginx 的状态和性能。 1. 安装 Nginx 如果你还没有安装 Nginx,可以通过以下命令进行安装(以 Ubuntu 为例࿰…...
基于单片机的智能花卉浇水系统的设计与实现
摘要: 随着人们生活水平的不断提高,生活节奏也越来越快。人们经常忽视办公室或者家居的花卉,忘记浇水。本文设计了一种基于单片机的智能浇水系统。目的是解决养殖花卉的人忘记浇水的问题。本系统以单片机AT89S52为控制芯片,能够按…...
《使用 YOLOV8 和 KerasCV 进行高效目标检测》
《使用 YOLOV8 和 KerasCV 进行高效目标检测》 作者:Gitesh Chawda创建日期:2023/06/26最后修改时间:2023/06/26描述:使用 KerasCV 训练自定义 YOLOV8 对象检测模型。 (i) 此示例使用 Keras 2 在 Colab 中…...
【Domain Generalization(3)】领域泛化与文生图之 -- QUOTA 任意领域中的生成物体的数量可控
系列文章目录 【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解第一篇了解了 DG 的概念,那么接下来将介绍 DG 近年在文生图中的相关应用/代表性工作。【Domain Generalization(2)】领域泛化在文生图…...
qml XmlListModel详解
1、概述 XmlListModel是QtQuick用于从XML数据创建只读模型的组件。它可以作为各种view元素的数据源,比如ListView、GridView、PathView等;也可以作为其他和model交互的元素的数据源。通过XmlRole定义角色,如name、age和height,并…...
CAPL如何设置TCP/IP传输层动态端口范围
在TCP/IP协议中,应用程序通过传输层协议TCP/UDP传输数据,接收方传输层收到数据后,根据传输层端口号把接收的数据上交给正确的应用程序。我们可以简单地认为传输层端口号是应用程序的标识,这就是为什么我们说应用程序在使用TCP/IP协议通信时要打开传输层端口号或者绑定端口号…...
Pandas常用数据类型
扩展库pandas常用的数据结构如下: (1)Series:带标签的一维数组 (2)DatetimeIndes:时间序列 (3)DateFrame:带标签且大小可变的二维表格结构 (4…...
【AI大模型】BERT GPT ELMo模型的对比
目录 🍔 BERT, GPT, ELMo之间的不同点 🍔 BERT, GPT, ELMo各自的优点和缺点 🍔 小结 学习目标 理解BERT, GPT, ELMo相互间的不同点理解BERT, GPT, ELMo相互比较下的各自优点和缺点 🍔 BERT, GPT, ELMo之间的不同点 关于特征提取…...
探索AGI:智能助手与自我赋能的新时代
目录 1 AGI1.1 DeepMind Levels(2023年11月)1.2 OpenAI Levels(2024年7月)1.3 对比与总结1.4 AGI可能诞生哪里 2 基于AI的智能自动化助手2.1 通用型大模型2.2 专业的Agent和模型工具开发框架2.3 编程与代码生成助手2.4 视频和多模态生成2.5 商…...
Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步
Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动同步 目录 Oracle Dataguard(主库为双节点集群)配置详解(5):将主库复制到备库并启动…...
webrtc自适应分辨率的设置
DegradationPreference 是一个枚举类,用于在视频编码或实时通信(如 WebRTC)中指定系统资源不足时如何处理质量下降的策略。以下是该枚举类的中文解释: enum class DegradationPreference {// 禁用:不根据资源过载信号…...
提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息
网络和IP地址计算器 https://www.sojson.com/convert/subnetmask.html提供的 IP 地址 10.0.0.5 和子网掩码位 /26 来计算相关的网络信息。 子网掩码转换 子网掩码 /26 的含义二进制表示:/26 表示前 26 位是网络部分,剩下的 6 位是主机部分。对应的子网掩码为 255…...
WPF系列八:图形控件Path
简介 Path控件支持一种称为路径迷你语言(Path Mini-Language)的紧凑字符串格式,用于描述复杂的几何图形。这种语言通过一系列命令字母和坐标来定义路径上的点和线段,最终绘制出想要的图形。 绘制任意形状:可以用来绘…...