当前位置: 首页 > news >正文

DAY09:【pytorch】nn网络层

1、卷积层

1.1 Convolution

1.1.1 卷积操作

  • 卷积运算:卷积核在输入信号(图像)上滑动,相应位置上进行乘加
  • 卷积核:又称为滤波器、过滤器,可认为是某种模式、某种特征

1.1.2 卷积维度

一般情况下,卷积核在几个维度上滑动就是几维卷积

  • 一维卷积
    在这里插入图片描述
  • 二维卷积
    在这里插入图片描述
  • 三维卷积
    在这里插入图片描述

1.2 nn.Conv2d

在这里插入图片描述

# nn.Conv2d(
#     in_channels,
#     out_channels,
#     kernel_size,
#     stride=1,
#     padding=0,
#     dilation=1,
#     groups=1,
#     bias=True,
#     padding_mode='zeros'
# )

1.2.1 基本介绍

功能:对多个二维信号进行二维卷积
主要参数:

  • in_channels:输入通道数
  • out_channels:输出通道数,等价于卷积核个数
  • kernel_size:卷积核尺寸
  • stride:步长
  • padding:填充个数
  • dilation:空洞卷积大小
  • groups:分组卷积设置,默认为1,即不分组
  • bias:是否使用偏置

尺寸计算:
H o u t = ⌊ H i n + 2 × p a d d i n g [ 0 ] − d i l a t i o n [ 0 ] × ( k e r n e l _ s i z e [ 0 ] − 1 ) − 1 s t r i d e [ 0 ] + 1 ⌋ H_{out} = \lfloor \frac{H_{in} + 2 \times padding[0] - dilation[0] \times (kernel\_size[0] - 1) - 1}{stride[0]} + 1 \rfloor Hout=stride[0]Hin+2×padding[0]dilation[0]×(kernel_size[0]1)1+1

1.2.2 代码框架

    conv_layer = nn.Conv2d(3, 1, 3)   # input:(i, o, size) weights:(o, i , h, w)nn.init.xavier_normal_(conv_layer.weight.data)img_conv = conv_layer(img_tensor)

1.3 nn.ConvTranspose

# nn.ConvTranspose(
#     in_channels,
#     out_channels,
#     kernel_size,
#     stride=1,
#     padding=0,
#     output_padding=0,
#     groups=1,
#     bias=True,
#     dilation=1,
#     padding_mode='zeros'
# )

1.3.1 基本介绍

功能:用于对图像进行上采样

对比:

  1. 正常卷积:假设图像尺寸为4×4,卷积核为3×3,padding=0,stride=1,
    则图像: I 16 ∗ 1 I_{16*1} I161,卷积核: K 4 ∗ 16 K_{4*16} K416,输出: O 4 ∗ 1 = K 4 ∗ 16 × I 16 ∗ 1 O_{4*1}=K_{4*16}×I_{16*1} O41=K416×I161
  2. 转置卷积:假设图像尺寸为2×2,卷积核为3×3,padding=0,stride=1,
    则图像: I 4 ∗ 1 I_{4*1} I41,卷积核: K 16 ∗ 4 K_{16*4} K164,输出: O 16 ∗ 1 = K 16 ∗ 4 × I 4 ∗ 1 O_{16*1}=K_{16*4}×I_{4*1} O161=K164×I41

主要参数:

  • in_channels:输入通道数
  • out_channels:输出通道数
  • kernel_size:卷积核大小
  • stride:步长
  • padding:填充
  • dilation:空洞卷积大小
  • groups:分组卷积
  • bias:是否使用偏置

尺寸计算: H o u t = ( H i n − 1 ) × s t r i d e [ 0 ] − 2 × p a d d i n g [ 0 ] + d i l a t i o n [ 0 ] × ( k e r n e l _ s i z e [ 0 ] − 1 ) + o u t p u t _ p a d d i n g [ 0 ] + 1 H_{out} = (H_{in} - 1) \times stride[0] - 2 \times padding[0] + dilation[0] \times (kernel\_size[0] - 1) + output\_padding[0] + 1 Hout=(Hin1)×stride[0]2×padding[0]+dilation[0]×(kernel_size[0]1)+output_padding[0]+1

1.3.2 代码框架

	conv_layer = nn.ConvTranspose2d(3, 1, 3, stride=2)   # input:(i, o, size)nn.init.xavier_normal_(conv_layer.weight.data)img_conv = conv_layer(img_tensor)

2、池化层

2.1 概念

在这里插入图片描述

对信息进行收集并总结,类似水池收集水资源,因而得名池化层

  • 收集:多变少
  • 总结:最大值/平均值

2.2 nn.MaxPool2d

# nn.MaxPool2d(
#     kernel_size,
#     stride=None,
#     padding=0,
#     dilation=1,
#     return_indices=False,
#     ceil_mode=False,
# )

2.2.1 基本介绍

功能:对二维信号(图像)进行最大值池化
主要参数:

  • kernel_size:池化核大小
  • stride:步长
  • padding:填充
  • dilation:池化核间隔大小
  • return_indices:是否返回最大值索引
  • ceil_mode:是否向上取整

2.2.2 代码框架

  • MaxPool2d
	maxpool_layer = nn.MaxPool2d((2, 2), stride=(2, 2))   # input:(i, o, size) weights:(o, i , h, w)img_pool = maxpool_layer(img_tensor)
  • MaxPool2d unpool
    # poolingimg_tensor = torch.randint(high=5, size=(1, 1, 4, 4), dtype=torch.float)maxpool_layer = nn.MaxPool2d((2, 2), stride=(2, 2), return_indices=True)img_pool, indices = maxpool_layer(img_tensor)# unpoolingimg_reconstruct = torch.randn_like(img_pool, dtype=torch.float)maxunpool_layer = nn.MaxUnpool2d((2, 2), stride=(2, 2))img_unpool = maxunpool_layer(img_reconstruct, indices)

2.3 nn.AvgPool2d

# nn.AvgPool2d(
#     kernel_size,
#     stride=None,
#     padding=0,
#     ceil_mode=False,
#     count_include_pad=True,
#     divisor_override=None
# )

2.3.1 基本介绍

功能:对二维信号(图像)进行平均值池化
主要参数:

  • kernel_size:池化核大小
  • stride:步长
  • padding:填充
  • ceil_mode:是否向上取整
  • count_include_pad:是否包含填充的像素
  • divisor_override:除数重写

2.3.2 代码框架

  • AvgPool2d
	avgpoollayer = nn.AvgPool2d((2, 2), stride=(2, 2))   # input:(i, o, size) weights:(o, i , h, w)img_pool = avgpoollayer(img_tensor)
  • AvgPool2d divisor_override
	img_tensor = torch.ones((1, 1, 4, 4))avgpool_layer = nn.AvgPool2d((2, 2), stride=(2, 2), divisor_override=3)img_pool = avgpool_layer(img_tensor)

3、线性层

3.1 概念

在这里插入图片描述

又称全连接层,其每个神经元与上一层所有神经元相连实现对前一层的线性组合、线性变换

3.2 nn.Linear

# nn.Linear(
#     in_features,
#     out_features,
#     bias=True
# )

3.2.1 基本介绍

功能:对一维信号(向量)进行线性组合

主要参数:

  • in_features:输入结点数
  • out_features:输出结点数
  • bias:是否使用偏置

计算公式: y = x W T + b i a s y = xW^T + bias y=xWT+bias

3.2.2 代码框架

	inputs = torch.tensor([[1., 2, 3]])linear_layer = nn.Linear(3, 4)linear_layer.weight.data = torch.tensor([[1., 1., 1.],[2., 2., 2.],[3., 3., 3.],[4., 4., 4.]])linear_layer.bias.data.fill_(0.5)output = linear_layer(inputs)

4、激活函数层

4.1 nn.Sigmoid

在这里插入图片描述

计算公式: y = 1 1 + e − x y = \frac{1}{1 + e^{-x}} y=1+ex1

梯度公式: y ‘ = y × ( 1 − y ) y^{`} = y \times (1 - y) y=y×(1y)

特性:

  • 输出值在(0, 1),符合概率
  • 导数范围是[0, 0.25],易导致梯度消失
  • 输出为非0,破坏数据分布

4.2 nn.tanh

在这里插入图片描述
计算公式: y = s i n x c o s x = e x − e − x e − + e − x = 2 1 + e − 2 x + 1 y = \frac{sinx}{cosx} = \frac{e^x - e^{-x}}{e^{-} + e^{-x}} = \frac{2}{1 + e^{-2x}} + 1 y=cosxsinx=e+exexex=1+e2x2+1

梯度公式: y ‘ = 1 − y 2 y^{`} = 1 - y^2 y=1y2

特性:

  • 输出值在(-1, 1),数据符合0均值
  • 导数范围是(0, 1),易导致梯度消失

4.3 nn.ReLU

在这里插入图片描述
计算公式: y = m a x ( 0 , x ) y = max(0, x) y=max(0,x)

梯度公式:
y ′ = { 1 , x > 0 undefined , x = 0 0 , x < 0 y' = \begin{cases} 1, & x > 0 \\ \text{undefined}, & x = 0 \\ 0, & x < 0 \end{cases} y= 1,undefined,0,x>0x=0x<0

特性:

  • 输出值均为正数,负半轴导致死神经元
  • 导数是1,缓解梯度消失,但易引发梯度爆炸

在这里插入图片描述

4.3.1 nn.LeakuReLU

  • negative_slope: 负斜率的值,默认为0.01,即负斜率

4.3.2 nn.PReLU

  • init:可学习斜率

4.3.3 nn.RReLU

  • lower:均匀分布下限
  • upper:均匀分布上限

微语录:黑暗中有人擎花而来,惊动火焰,燃烧万千蝴蝶迷了眼。

相关文章:

DAY09:【pytorch】nn网络层

1、卷积层 1.1 Convolution 1.1.1 卷积操作 卷积运算&#xff1a;卷积核在输入信号&#xff08;图像&#xff09;上滑动&#xff0c;相应位置上进行乘加卷积核&#xff1a;又称为滤波器、过滤器&#xff0c;可认为是某种模式、某种特征 1.1.2 卷积维度 一般情况下&#xf…...

河南普瑞维升企业案例:日事清SOP流程与目标模块实现客户自主简报功能落地

公司简介&#xff1a; 河南普瑞维升企业管理咨询有限公司成立于2017年&#xff0c;目前公司主营业务是为加油站提供全方面咨询管理服务&#xff0c;目前公司成功运营打造河南成品油&#xff0c;运营站点15座&#xff0c;会员数量已达几十万&#xff0c;在加油站周边辐射区域内…...

LeetCode面试热题150中19-22题学习笔记(用Java语言描述)

Day 04 19、最后一个单词的长度 需求&#xff1a;给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 代码表示 public class Q19_1 {p…...

车载刷写架构 --- 刷写流程中重复擦除同一地址的问题分析

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...

一个测试GPU可用的测试实例

一个测试GPU可用的测试实例&#xff1a; import torch import torch.nn as nn import torch.optim as optim import time import gc import numpy as np from torch.cuda.amp import autocast, GradScalerclass LargeNN(nn.Module):def __init__(self, use_attentionTrue):sup…...

chili3d调试笔记2+添加web ui按钮

onclick 查找 打个断点看看 挺可疑的&#xff0c;打个断点看看 挺可疑的&#xff0c;打个断点看看 打到事件监听上了 加ui了 加入成功 新建弹窗-------------------------------------- 可以模仿这个文件&#xff0c;写弹窗 然后在这里注册一下&#xff0c;外部就能调用了 对了…...

Go-zero:JWT鉴权方式

1.简述 用于记录在go-zero的后端项目中如何添加jwt中间件鉴权 2.流程 配置api.yaml Auth:AccessSecret: "secret_key"AccessExpire: 604800config中添加Auth结构体 Auth struct {AccessSecret stringAccessExpire int64 }types定义jwt token的自定义数据结构&#…...

MySQL的MVCC机制详解

1. 什么是MVCC&#xff1f; MVCC&#xff08;Multi-Version Concurrency Control&#xff0c;多版本并发控制&#xff09;是数据库系统中用于实现并发控制的一种技术。它通过保存数据在某个时间点的快照来实现&#xff0c;使得在同一个数据行上可以同时存在多个版本&#xff0…...

Postman做自动化测试

Postman也可以实现接口自动化 1.在Scripts写断言&#xff0c;图中红框处。不会写可以偷懒使用蓝框处会自动填写 2.单个运行调试&#xff0c;结果显示在TestResults 3.多个接口都写好断言并调通后&#xff0c;在包揽这些接口的文件夹下运行&#xff0c;图示以两个接口为例&…...

Meltdown原理介绍:用户空间读取内核内存

摘要 计算机系统的安全性从根本上依赖内存隔离,如,内核地址范围被标记为不可访问并受到保护,以防用户非法访问。本文介绍了Meltdown。 利用现代处理器上乱序执行,来读取内核任意的内存位置,包括个人数据和密码。乱序执行是必不可少的用来提升性能的手段,并在现代处理器中…...

数据结构和算法(七)--树

一、树 树是我们计算机中非常重要的一种数据结构&#xff0c;同时使用树这种数据结构&#xff0c;可以描述现实生活中的很多事物&#xff0c;例如家谱、单位的组织架构、等等。 树是由n(n>1)个有限结点组成一个具有层次关系的集合。把它叫做"树"是因为它看起来像一…...

UDP猜数字游戏与TCP文件传输案例解析

目录 案例一&#xff1a;UDP协议实现的猜数字游戏 游戏概述 服务器端代码 客户端代码 (udp_client.py) 游戏特点 案例二&#xff1a;TCP协议实现的文件传输工具 工具概述 服务器端代码 客户端代码 工具特点 总结对比 案例一&#xff1a;UDP协议实现的猜数字游戏 游…...

WPF View 与ViewModel注入对象

View 和ViewModel中使用同一个类型的类&#xff0c;注入的对象在主机中通过在服务中添加 AddTransient 获取的不是同一个对象&#xff0c;在 View 绑定了在ViewModel 中是取不到的&#xff0c;应该在View 中注入ViewModel 对象&#xff0c;使用View中的ViewModel对象里面的参数…...

如何下载免费地图数据?

按照以下步骤下载免费地图数据。 1、安装GIS地图下载器 从GeoSaaS&#xff08;.COM&#xff09;官网下载“GIS地图下载器”软件&#xff1a;&#xff0c;安装完成后桌面上出现”GIS地图下载器“图标。 双击桌面图标打开”GIS地图下载器“ 2、下载地图数据 点击主界面底部的“…...

B端可视化方案,如何助力企业精准决策,抢占市场先机

在当今竞争激烈的商业环境中&#xff0c;企业需要快速、准确地做出决策以抢占市场先机。B端可视化方案通过将复杂的企业数据转化为直观的图表和仪表盘&#xff0c;帮助企业管理层和业务人员快速理解数据背后的业务逻辑&#xff0c;从而做出精准决策。本文将深入探讨B端可视化方…...

IAR打包生成的hex和.a文件的区别

IAR打包生成的hex和.a文件的区别 在使用IAR Embedded Workbench进行嵌入式开发时&#xff0c;项目生成的文件中常见的两种文件类型是HEX文件和.a文件。它们在项目开发和部署过程中扮演着不同的角色。 HEX文件 定义与用途 HEX文件是一种十六进制表示的二进制文件格式&#xf…...

黑马点评:Redis消息队列【学习笔记】

目录 当前业务存在的问题 认识消息队列 List PubSub (publish subscribe)​ Stream 单消费模式 消费者组模式 对比 异步秒杀优化 当前业务存在的问题 JVM内存限制&#xff1a;当前使用的是JDK提供的阻塞队列&#xff0c;使用的是JVM的内存&#xff0c;如果不加以限制&…...

thinkphp:部署完整项目到本地phpstudy

一、准备工作 首先准备一个thinkphp的项目文件&#xff1b;准备mysql数据库 二、小皮初步搭建 1、建立网站 在小皮界面&#xff0c;网站->创建网站->输入域名&#xff0c;选择PHP版本等 注&#xff1a;确保端口未被占用 2、将项目文件放入根目录 网站->管理->…...

关于链接库

在 C# 中&#xff0c;链接库主要分为两种类型&#xff1a;托管链接库和非托管链接库&#xff0c;以下为你详细介绍它们的特点和导入方式&#xff1a; 托管链接库 特点 托管链接库通常是用 .NET 兼容的语言&#xff08;如 C#、VB.NET 等&#xff09;编写的&#xff0c;运行在…...

小程序返回按钮,兼容所有机型的高度办法

现象 在使用返回按钮的时候在不同机型上返回按钮小图标位置总是不一样&#xff0c;一会高一会低。 原因 因为手机的状态栏一般是不一样的&#xff0c;导致设置固定高度的时候就随时在改变。 解决办法 直接获取胶囊按钮的top值和height值将返回按钮的top值设置为一样的&…...

Docker镜像迁移指南:从Windows构建到Ubuntu运行

Docker镜像迁移指南&#xff1a;从Windows构建到Ubuntu运行 本文档详细介绍如何在Windows系统中构建SVM分类服务的Docker镜像&#xff0c;并将其迁移到Ubuntu系统中运行。 项目概述 本项目是一个使用FastAPI构建的SVM图像分类服务&#xff0c;可以将上传的图像分类为五种不同…...

XR技术赋能艺术展演|我的宇宙推动东方美学体验化

本次广州展览现场引入我的宇宙XR体验模块&#xff0c;通过空间计算与动作捕捉技术&#xff0c;让观众在潮玩艺术氛围中体验虚拟互动&#xff0c;打造“看得懂也玩得动”的展演新场景。 作为科技与文化融合的推动者&#xff0c;我的宇宙正在以“体验科技”为媒介&#xff0c;为潮…...

半导体制造如何数字化转型

半导体制造的数字化转型正通过技术融合与流程重构&#xff0c;推动着这个精密产业的全面革新。全球芯片短缺与工艺复杂度指数级增长的双重压力下&#xff0c;头部企业已构建起四大转型支柱&#xff1a; 1. 数据中枢重构产线生态 台积电的「智慧工厂4.0」部署着30万物联网传感器…...

windows虚拟机隐藏“弹出虚拟驱动”

PVE8 上安装的windows虚拟机&#xff0c;SCSI控制器使用了VitrlIO&#xff0c;安装virtio驱动后&#xff0c;右下角有弹出选项&#xff0c;virtio驱动的网卡、Balloon、串口等设备都是标准的PCI设备&#xff0c;支持热插拔&#xff0c;因此Windows系统会在界面上显示设备可以弹…...

AI工具箱源码+成品网站源码+springboot+vue

大家好&#xff0c;今天给大家分享一个靠AI广告赚钱的项目&#xff1a;AI工具箱成品网站源码&#xff0c;源码支持二开&#xff0c;但不允许转售&#xff01;&#xff01; 本人专门为小型企业和个人提供的解决方案。 不懂技术的也可以直接部署工具箱网站&#xff0c;成为站长&…...

《MySQL基础:了解MySQL周边概念》

1.登录选项的认识 -h&#xff1a;指明登录部署了mysql服务的主机&#xff0c;默认为127.0.0.1-P&#xff1a;指明要访问的端口号&#xff0c;默认为3306-u&#xff1a;指明登录用户-p&#xff1a;指明登录密码 2.什么是数据库 2.1认识数据库 第一点理解。 mysql是数据库的客户…...

零基础上手Python数据分析 (15):DataFrame 数据排序与排名 - 快速定位关键数据

写在前面 在上一篇文章中,我们学习了如何使用 Pandas 对 DataFrame 进行分组(groupby())和聚合(agg(), apply(), transform()),这使我们能够从不同维度对数据进行汇总和分析。然而,仅仅得到聚合结果往往不够,我们经常需要知道 “谁是第一?”,“哪些数据排在前面/后面…...

案例驱动的 IT 团队管理:创新与突破之路:第五章 创新管理:从机制设计到文化养成-5.1 创新激励体系-5.1.2 OKR 与创新项目的结合

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 OKR 与创新项目的结合&#xff1a;驱动 IT 团队突破性创新的机制设计1. 背景与挑战&#xff1a;创新管理的核心痛点1.1 传统绩效管理体系的失效1.2 OKR 的适应性优势 2. 机制…...

数据库10(代码相关语句)

while循环 declare avgprice numeric(10,2) set avgprice(select avg(price)from titles) //自定义参数 while avgprice<10 //循环条件 begin update titles set priceprice*1.1 end //循环语句操作&#xff0c;当avgprice<10,所有price都加0.1 case语句 查询authors表…...

【Pandas】pandas DataFrame tail

Pandas2.2 DataFrame Indexing, iteration 方法描述DataFrame.head([n])用于返回 DataFrame 的前几行DataFrame.at快速访问和修改 DataFrame 中单个值的方法DataFrame.iat快速访问和修改 DataFrame 中单个值的方法DataFrame.loc用于基于标签&#xff08;行标签和列标签&#…...

淘宝 API 与爬虫混合开发:突破官方接口限制的商品数据采集进阶方案

一、引言 在电商数据挖掘领域&#xff0c;获取淘宝商品数据是一项重要任务。淘宝提供了 API 接口&#xff0c;但其存在调用频率、数据范围等限制。为了更全面、高效地采集商品数据&#xff0c;我们可以采用淘宝 API 与爬虫混合开发的方案&#xff0c;结合两者的优势&#xff0…...

MAC-​​基于 Spring 框架的高并发批量任务处理方案​

基于 Spring 框架的高并发批量任务处理方案​​ 以下结合 Spring 的特性(如 @Async、线程池管理、事务控制)实现高并发批量任务处理,涵盖 ​​任 务分片、异步执行、资源隔离、熔断降级​​ 等核心能力。 ​​一、线程池配置(资源隔离)​​ 通过 ThreadPoolTaskExecut…...

文件包含漏洞 不同语言危险函数导致的漏洞详解

目录 1. 什么是文件包含漏洞&#xff1f; 2. 文件包含漏洞如何利用&#xff1f;实际案例解析 案例 1&#xff1a;PHP 本地文件包含&#xff08;LFI&#xff09; 案例 2&#xff1a;PHP 远程文件包含&#xff08;RFI&#xff09; 案例 3&#xff1a;Java 目录遍历与文件包含…...

Android ViewPager使用预加载机制导致出现页面穿透问题

​ 缘由 在应用中使用ViewPager&#xff0c;并且设置预加载页面。结果出现了一些异常的现象。 我们有4个页面&#xff0c;分别是4个Fragment&#xff0c;暂且称为FragmentA、FragmentB、FragmentC、FragmentD&#xff0c;ViewPager在MainActivity中&#xff0c;切换时&#x…...

css 中float属性及clear的释疑

float属性可以让元素脱离文档流&#xff0c;父元素中的子元素设置为float,则会导致父元素的高度塌陷。 <style type"text/css"> .father{ /*没有给父元素定义高度*/background:#ccc; border:1px dashed #999; } .box01,.box02,.box0…...

SpringBoot异常处理之自定义统一的错误处理页面

总体来讲&#xff0c;springboot里处理异常有五种方式&#xff0c;先看第一种&#xff1a; 利用springboot的默认配置&#xff0c;我们自定义统一的错误处理页面 前面说了SpringBoot只是帮助我们做了整合的工作&#xff0c;做配一堆的默认配置工作&#xff0c;异常处理的配置…...

事务管理:确保数据一致性与业务完整性

摘要&#xff1a;本文围绕事务管理展开&#xff0c;先回顾事务基本概念与操作&#xff0c;后深入探讨Spring事务管理。通过具体案例剖析事务管理在实际应用中的问题及解决方案&#xff0c;详细介绍Transactional注解及其属性rollbackFor和propagation的使用。 关键词&#xff…...

回收镀锡废水的必要性(笔记)

镀锡废水若直接排放&#xff0c;将对环境、经济和社会造成多重危害&#xff0c;其回收处理具有迫切性和深远意义。以下从环境、资源、法规、技术与实践、可持续发展五大维度展开分析&#xff1a; 一、环境危害的紧迫性&#xff1a;重金属与污染物的致命威胁 成分复杂&#xf…...

java 洛谷题单【算法2-1】前缀和、差分与离散化

P8218 【深进1.例1】求区间和 解题思路 前缀和数组&#xff1a; prefixSum[i] 表示数组 a 的前 (i) 项的和。通过 prefixSum[r] - prefixSum[l - 1] 可以快速计算区间 ([l, r]) 的和。 时间复杂度&#xff1a; 构建前缀和数组的时间复杂度是 (O(n))。每次查询的时间复杂度是 …...

FoundationPose 4090部署 真实场景迁移

参考链接&#xff1a; github代码 4090部署镜像拉取 前期准备 搜狗输入法安装 4090双屏不ok&#xff1a;最后发现是hdmi线坏了。。。。 demo 复现 环境部署&#xff08;docker本地化部署&#xff09; 拉取镜像 docker pull shingarey/foundationpose_custom_cuda121:late…...

[dp14_回文串] 分割回文串 II | 最长回文子序列 | 让字符串成为回文串的最少插入次数

目录 1.分割回文串 II 题解 2.最长回文子序列 题解 3.让字符串成为回文串的最少插入次数 题解 回文串&#xff0c;想通过s[i] s[j] 来实现状态变化&#xff0c;由二维数组 右下角 开始扩散 1.分割回文串 II 链接&#xff1a; 132. 分割回文串 II 给你一个字符串 s&…...

美团一面总结

八股的问题里Spring存在不足&#xff0c;无法将八股的知识和项目串联起来。 记录几个值得研究的问题&#xff1a; 端口80到8080是怎么到的 又是怎么一步一步到controller&#xff1f; [用户请求80端口] ↓ [Nginx监听80端口并转发 → 8080] ↓ [Tomcat监听8080端口&#xff0c…...

Selenium2+Python自动化:利用JS解决click失效问题

文章目录 前言一、遇到的问题二、点击父元素问题分析解决办法实现思路 三、使用JS直接点击四、参考代码 前言 在使用Selenium2和Python进行自动化测试时&#xff0c;我们有时会遇到这样的情况&#xff1a;元素明明已经被成功定位&#xff0c;代码运行也没有报错&#xff0c;但…...

PyTorch的benchmark模块

PyTorch的benchmark模块主要用于性能测试和优化&#xff0c;包含核心工具库和预置测试项目两大部分。以下是其核心功能与使用方法的详细介绍&#xff1a; 1. 核心工具&#xff1a;torch.utils.benchmark 这是PyTorch内置的性能测量工具&#xff0c;主要用于代码片段的执行时间…...

基于MLKit的Android人脸识别应用开发实践

基于MLKit的Android人脸识别应用开发实践 https://gitee.com/wenhua512/face-recognition 1. 项目概述 1.1 功能特点 实时人脸检测与跟踪人脸特征提取与识别自动/手动采集模式人脸数据管理相机参数优化 1.2 技术选型 MLKit人脸检测MediaPipe人脸网格CameraX相机框架Room数…...

【技术派后端篇】ElasticSearch 实战指南:环境搭建、API 操作与集成实践

1 ES介绍及基本概念 ElasticSearch是一个基于Lucene 的分布式、高扩展、高实时的基于RESTful 风格API的搜索与数据分析引擎。 RESTful 风格API的特点&#xff1a; 接受HTTP协议的请求&#xff0c;返回HTTP响应&#xff1b;请求的参数是JSON&#xff0c;返回响应的内容也是JSON…...

Spring Boot 应用程序中配置使用consul

配置是 Spring Boot 应用程序中的一部分&#xff0c;主要用于配置服务端口、应用名称、Consul 服务发现以及健康检查等功能。以下是对每个部分的详细解释&#xff1a; 1. server.port server:port: 8080作用&#xff1a;指定 Spring Boot 应用程序运行的端口号。解释&#xf…...

【设计模式——策略模式】

为什么要使用策略模式&#xff1f; 策略模式是一种行为设计模式&#xff0c;它允许在运行时选择算法或行为。通过将算法封装在独立的类中&#xff0c;客户端可以在运行时动态地选择和切换算法&#xff0c;而无需修改原有代码。这种模式特别适合需要灵活切换行为的场景。 形象…...

helm账号密码加密

1、安装工具 sudo apt update sudo apt install gnupg -y wget https://github.com/getsops/sops/releases/download/v3.10.2/sops-v3.10.2.linux.amd64 mv sops-v3.10.2.linux.amd64 /usr/local/bin/sops chmod x /usr/local/bin/sops2、生成加密文件 gpg --full-generate-…...

【今日三题】添加字符(暴力枚举) / 数组变换(位运算) / 装箱问题(01背包)

⭐️个人主页&#xff1a;小羊 ⭐️所属专栏&#xff1a;每日两三题 很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~ 目录 添加字符(暴力枚举)数组变换(位运算)装箱问题(01背包) 添加字符(暴力枚举) 添加字符 当在A的开头或结尾添加字符直到和B长度…...