ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性
论文地址:https://arxiv.org/abs/2307.08209
项目主页:https://a-suozhang.xyz/ada3d.github.io/
01. 背景与动因
3D检测(3D Detection)任务是自动驾驶任务中的重要任务。由于自动驾驶任务的安全性至关重要(safety-critic),对感知算法的延迟与准确性都有很高的要求,然而,由于车载计算平台一般硬件资源受限(由于价格和能耗的限制,典型平台为边缘嵌入式计算平台,相较于常用的消费级GPU,计算与显存资源都更为受限制)。为实现上述需求,感知模型的效率存在提升的需求。
基于稀疏体素(Sparse Voxel)的3D检测方法因为其优异性能获得了广泛关注。通过将空间分为规则的小方格(体素,3D的像素),将不规则点云转化为规整的稀疏体素表征,采用3D稀疏卷积算子对其进行特征提取。
然而,其存在着硬件效率相对较低的问题,如下图所示,即使3D稀疏卷积只有原本稠密卷积的1/7计算量,却需要1.3x的执行时间。
典型的基于体素的3D检测器的框架如下所示,主要包含两大部分,分别在3D与2D域(Domain)进行处理。首先将点云体素化为体素表征,采用3D稀疏卷积的3D Backbone提取特征。经过一个3D转2D的投影(在Z轴做Average Pooling)转化为稠密的2D BEV(Bird-Eye-View 表征)。
研究者发现,除了现有3D感知模型效率优化工作所关注的模型冗余性之外,数据冗余性是提升3D感知方法效率的一个重要方面。
针对3D体素空间,存在着大量的冗余背景点,以及接近传感器中心过稠密的冗余点;针对2D鸟瞰图(BEV)空间,由于其由3D体素投影得到,其中大多数(80%以上)位置的像素值为0。在现有方法中,大量的计算和存储被浪费在了这些冗余的数据之中。
研究者进行了验证实验以说明3D检测任务中输入冗余性,如下图所示。当随机从输入点云中删除约30%的点时(蓝色曲线),仅造成了小于0.5的mAP损失。若从不在ground-truth bounding box中删除点(橙色曲线,删除的点可近似看做对3d检测任务无信息损失),及时丢失了70%的点,仍然没有明显的精度损失。以上实验结果展示了输入点云存在较大的冗余性,有压缩与优化空间。
02. 方法描述
基于此动因,提出了基于动态推理的效率优化框架 - Ada3D,让模型在推理中识别出冗余部分,并自适应的跳过其计算存储,以减少模型计算资源优化。在无精度损失的情况下,Ada3D方法能减少40%的3D体素与80%的2D像素,获得等效约5x的计算量(FLOPs)与内存(Memory)优化。并在实际硬件测试中展示约1.5x的延迟(Latency)优化与2.2x的峰值内存(Peak Memory)优化。
论文提出的Ada3D动态推理框架主要包含以下3个部分,方法框架图见下:
(1) 一个共享的轻量化BEV空间像素重要性预测器
(2) 考虑点云密度先验的空间过滤方法
(3) 保持稀疏性的批归一化
2.1 BEV空间重要性预测器 (BEV-space Importance Predictor)
我们在模型的3D骨干与2D骨干网络的多个位置应用了一个共享的BEV空间的预测器,该预测器将模型的特征映射到每个像素的相对重要性程度。如下图所示,我们采用了CenterPoint模型中的基于物体中心的热力图(Center-based Object Heatmap)来作为预测器需要拟合的目标。以每个ground-truth bounding box的中心为中心,在周围以球状高斯函数渲染。通过学习,预测器能够从输入特征中识别出“出现识别目标”的概率。预测器由5层的高效组卷积(Group Convolution)组成,且处理低分辨率的特征,整个预测器的计算代价少于原本模型的1%,仅引入了极少的额外计算。
该重要性预测器能够较好的预测出各输入点的重要性程度,如下图所示,橙色代表着预测器输出置信度较高的区域,基本识别出了Boudning Box周围的点。
2.2 考虑点云密度先验的空间过滤方法 (Density-guided Spatial Filtering)
激光雷达所产生的点云有着独特的特性,如下图左图所示,距离传感器中心近处的点更加稠密,而远处的点则较为稀疏。该现象可能会导致预测器更倾向于对近处的点给出更高的置信度预测,从而忽视远处的物体。因此,我们引入了基于密度先验的空间过滤方法,同时考虑预测器分数与点云的密度,以补偿远处稀疏部分的点。
引入了密度先验后,能够显著的提升空间过滤的准确度。以下图为例,在左下角重要性预测器的输出中,远处较为稀疏的Box1与Box5并无较高的置信度,而经过密度矫正之后的热力图中,能够识别出Box1与Box5。
定量来看,对比引入密度先验前后所丢弃输入的“在box中的比例”,密度先验能够减少错误丢弃box中的点,进而减少精度损失。
2.3 保持稀疏性的批归一化 (Sparsity-Preserving Batch Normalization)
在基于体素的3D检测器中,2D的BEV特征是由稀疏的3D体素所投影得到。因此,很大部分的像素点的位置是背景,具有0值(如下图中的蓝色部分)。但是,经过第一次批归一化层之后,特征图将失去稀疏度。为保持2D特征图的稀疏图以进行稀疏加速,我们对原本的批归一化进行了改进,设计了一种“维持稀疏性的批归一化方法”(Sparsity-preserving Batch Normalization),跳过了归一化中减均值的操作,能够在不减少性能的前提下维持2D特征图的稀疏度。
02. 实验分析
3.1 算法加速比分析
我们在KITTI,nuScenes,ONCE等公开数据集上测试了Ada3D的加速效果。如下图所示:
在KITTI数据集上,当加速策略较为保守时(Ada3D-A),甚至能提升模型的性能。
在无精度损失情况下(Ada3D-B),能获得约5倍的计算和存储(FLOPs/Memory)优化。在少量精度损失(Ada3D-C, <1mAP)下,能够获得约一个数量级(10x)的计算存储优化。
3.2 硬件效率分析
除了理论加速比之外,我们面向Nvidia GPU平台对Ada3D算法进行了实测。测试环境为:RTX3090,CUDA-11.1,SPConv v2.2.6 Gather Scatter GEMM dataflow。如下图所示,从硬件测试中,我们能归纳出以下结论:
-
对于voxel-based 3d detector,加速2D部分与加速3D部分都很重要,2D BEV bakcbone的实际耗时与内存消耗占比,比3D部分更高。
-
理论的计算存储加速比(5x),与实际的硬件加速比存在较大的gap(1.5x/2.2x)。
针对该现象,我们进一步分析其原因在于稀疏卷积的加速比与稀疏比的增加并不线性。当稠密度较高时候(20%),采用稀疏卷积相比稠密计算加速比不高。在3D检测模型场景中,3D部分数据由于已经有较高的稀疏度,因此稀疏比增加能近乎线性的反映到实际加速比。而2D部分,由于是从全稠密增加稀疏度,加速比增长比稀疏度增长更慢。
3.3 应用分析
Ada3D方法关注压缩数据层面冗余性,与关注模型冗余性的压缩方法可进行组合。如下图所示,Ada3D可以进一步对SPVNAS所搜索出的高效模型,或者是新颖设计的全稀疏模型,进行进一步的冗余性压缩。
04. 总结
针对3D感知任务中输入数据存在冗余性的问题,我们提出了基于动态推理的框架Ada3D,能够有效的在模型推理过程中通过去除冗余的输入数据,减少模型的计算和存储消耗。在典型的基于体素的3D检测器中,在不损失性能的前提下,我们能够去除约40%的3D体素与80%的2D像素,实现约5x的flops与memory优化,并在GPU设备上获得了1.5倍的延迟与2.2倍的峰值内存的优化。Ada3D方法能够与现有的模型压缩方法组合,且在专用硬件平台上有更高的效率优化空间。
有关Ada3D的更多信息,请关注我们的项目网站:https://a-suozhang.xyz/ada3d.github.io/。有关Ada3D的后续工作与其他算法(LLM,Diffusion)的软硬件协同优化方法,请关注我们的实验室主页:Home (欢迎访问同学交流学习)
作者:赵天辰
关于TechBeat人工智能社区
▼
TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。
我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。
期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!
更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区
相关文章:
ICCV23 | Ada3D:利用动态推理挖掘3D感知任务中数据冗余性
论文地址:https://arxiv.org/abs/2307.08209 项目主页:https://a-suozhang.xyz/ada3d.github.io/ 01. 背景与动因 3D检测(3D Detection)任务是自动驾驶任务中的重要任务。由于自动驾驶任务的安全性至关重要(safety-critic),对感知算法的延…...
软件工程模型-架构师之路(四)
软件工程模型 敏捷开发: 个体和交互 胜过 过程和工具、可以工作的软件 胜过 面面俱到的文件、客户合作胜过合同谈判、响应变化 胜过 循序计划。(适应需求变化,积极响应) 敏捷开发与其他结构化方法区别特点:面向人的…...
ubuntu20.04共享文件夹—— /mnt/hgfs里没有共享文件夹
参考文章:https://blog.csdn.net/Edwinwzy/article/details/129580636 虚拟机启用共享文件夹后,/mnt/hgfs下面为空,使用 vmware-hgfsclient 查看设置的共享文件夹名字也是为空。 解决方法: 1. 重新安装vmware tools. 在菜单…...
Redis中的有序集合及其底层跳表
前言 本文着重介绍Redis中的有序集合的底层实现中的跳表 有序集合 Sorted Set Redis中的Sorted Set 是一个有序的无重复值的集合,他底层是使用压缩列表和跳表实现的,和Java中的HashMap底层数据结构(1.8)链表红黑树异曲同工之妙…...
js 小程序限流函数 return闭包函数执行不了
问题: 调用限流 ,没走闭包的函数: checkBalanceReq() loadsh.js // 限流 const throttle (fn, context, interval) > {console.log(">>>>cmm throttle", context, interval)let canRun…...
【数据结构】堆的初始化——如何初始化一个大根堆?
文章目录 源码是如何插入的?扩容向上调整实现大根堆代码: 源码是如何插入的? 扩容 在扩容的时候,如果容量小于64,那就2倍多2的扩容;如果大于64,那就1.5倍扩容。 还会进行溢出的判断,…...
【韩顺平 零基础30天学会Java】程序流程控制(2days)
day1 程序流程控制:顺序控制、分支控制、循环控制 顺序控制:从上到下逐行地执行,中间没有任何判断和跳转。 Java中定义变量时要采用合法的前向引用。 分支控制if-else:单分支、双分支和多分支。 单分支 import java.util.Scann…...
从入门到精通Python隧道代理的使用与优化
哈喽,Python爬虫小伙伴们!今天我们来聊聊如何从入门到精通地使用和优化Python隧道代理,让我们的爬虫程序更加稳定、高效!今天我们将对使用和优化进行一个简单的梳理,并且会提供相应的代码示例。 1. 什么是隧道代理&…...
19万字智慧城市总体规划与设计方案WORD
导读:原文《19万字智慧城市总体规划与设计方案WORD》(获取来源见文尾),本文精选其中精华及架构部分,逻辑清晰、内容完整,为快速形成售前方案提供参考。 感知基础设施 感知基础设施架构由感知范围、感知手…...
[赛博昆仑] 腾讯QQ_PC端,逻辑漏洞导致RCE漏洞
简介 !! 内容仅供学习,请不要进行非法网络活动,网络不是法外之地!! 赛博昆仑是国内一家较为知名的网络安全公司,该公司今日报告称 Windows 版腾讯 QQ 桌面客户端出现高危安全漏洞,据称“黑客利用难度极低、危害较大”,腾讯刚刚已经紧急发布…...
python Requests
Requests概述 官方文档:http://cn.python-requests.org/zh_CN/latest/,Requests是python的HTTP的库,我们可以安全的使用 Requests安装 pip install Requests -i https://pypi.tuna.tsinghua.edu.cn/simple Requests的使用 Respose的属性 属性说明url响…...
【深入解析:数据结构栈的魅力与应用】
本章重点 栈的概念及结构 栈的实现方式 数组实现栈接口 栈面试题目 概念选择题 一、栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端 称为栈顶,另一端称为栈底。栈中的数…...
安卓机显示屏的硬件结构
显示屏的硬件结构 显示屏的硬件结构主要由背光源、液晶面板和驱动电路构成。可以将液晶面板看成一个三明治的结构,即在两片偏振方向互相垂直的偏光片系统中夹着一层液晶层。自然光源通过起偏器(偏光片之一)后,变成了垂直方向的偏…...
基于swing的超市管理系统java仓库库存进销存jsp源代码mysql
本项目为前几天收费帮学妹做的一个项目,Java EE JSP项目,在工作环境中基本使用不到,但是很多学校把这个当作编程入门的项目来做,故分享出本项目供初学者参考。 一、项目描述 基于swing的超市管理系统 系统有3权限:管…...
常用系统命令
重定向 cat aa.txt > bbb.txt 将输出定向到bbb.txt cat aaa.txt >> bbb.txt 输出并追加查看进程 ps ps -ef 显示所有进程 例⼦:ps -ef | grep mysql |:管道符 kill pid 结束进程, 如 kill 3732;根据进程名结束进程可以先…...
【Spring专题】Spring之Bean生命周期源码解析——阶段四(Bean销毁)(拓展,了解就好)
目录 前言阅读建议 课程内容一、Bean什么时候销毁二、实现自定义的Bean销毁逻辑2.1 实现DisposableBean或者AutoCloseable接口2.2 使用PreDestroy注解2.3 其他方式(手动指定销毁方法名字) 三、注册销毁Bean过程及方法详解3.1 AbstractBeanFactory#requir…...
配置Docker,漏洞复现
目录 配置Docker 漏洞复现 配置Docker Docker的配置在Linux系统中相对简单,以下是详细步骤: 1.安装Docker:打开终端,运行以下命令以安装Docker。 sudo apt update sudo apt install docker.io 2.启动Docker服务:运…...
微信小程序 游戏水平评估系统的设计与实现_pzbe0
近年来,随着互联网的蓬勃发展,游戏公司对信息的管理提出了更高的要求。传统的管理方式已无法满足现代人们的需求。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,随着各行业的不断发展,使命召…...
moba登录不进去提示修改问题问题解决方式
问题: 安装moba后,运行时运行不起来,提示输入密码,安装、卸载多个版本都不行 方法: 使用ResetMasterPassword工具进行重置主密码 官网下载地址: MobaXterm Xserver and tabbed SSH client - resetmaster…...
Unsafe upfileupload
文章目录 client checkMIME Typegetimagesize 文件上传功能在web应用系统很常见,比如很多网站注册的时候需要上传头像、上传附件等等。当用户点击上传按钮后,后台会对上传的文件进行判断 比如是否是指定的类型、后缀名、大小等等,然后将其按…...
机器人制作开源方案 | 滑板助力器
我们可以用一块废滑板做些什么呢? 如今,越来越多的人选择电动滑板作为代步工具或娱乐方式,市场上也涌现出越来越多的电动滑板产品。 (图片来源:Backfire Zealot X Belt Drive Electric Skateboard– Backfire Board…...
飞机打方块(二)游戏界面制作
一、背景 1.新建bg节点 二、飞机节点功能实现 1.移动 1.新建plane节点 2.新建脚本GameController.ts,并绑定Canvas GameControll.ts const { ccclass, property } cc._decorator;ccclass export default class NewClass extends cc.Component {property(cc.Node)canvas:…...
自我理解:精度(precision)和召回(recall)
1、精度(precision) 精度是用于评估分类模型的一个重要指标。它反映了模型预测为正例的样本中,实际真正为正例样本的比例。 【注】正例样本指在二分类问题中,被标注为正类的样本。 例如:在垃圾邮件分类任务中,正例样本就是真实的…...
Nginx 使用 HTTPS(准备证书和私钥)
文章目录 Nginx生成自签名证书和配置Nginx HTTPS(准备证书和私钥)准备证书和私钥 Nginx生成自签名证书和配置Nginx HTTPS(准备证书和私钥) 准备证书和私钥 生成私钥 openssl genrsa -des3 -out server.key 2048这会生成一个加密…...
Java:集合框架:Set集合、LinkedSet集合、TreeSet集合、哈希值、HashSet的底层原理
Set集合 创建一个Set集合对象,因为Set是一个接口不能直接new一个对象,所以要用一个实现类来接 HashSet来接 无序性只有一次,只要第一次运行出来后,之后再运行的顺序还是第一次的顺序。 用LinkedSet来接 有序 不重复 无索引 用Tree…...
自定义Taro的navBar的宽度和高度
本方法是计算自定义navbar的宽度和高度,输出的参数有 navBarHeight, menuBottom,menuHeight, menuRectWidth,windowWidth, windowHeight,具体代码如下: export function getCustomNavBarRect():| {navBarHeight: number;menuBottom: number;menuHeight:…...
用Python编程实现百度自然语言处理接口的对接,助力你开发智能化处理程序
用Python编程实现百度自然语言处理接口的对接,助力你开发智能化处理程序 随着人工智能的不断进步,自然语言处理(Natural Language Processing,NLP)成为了解决文本处理问题的重要工具。百度自然语言处理接口提供了一系…...
系统架构设计专业技能 · 系统工程与系统性能
系列文章目录 系统架构设计专业技能 网络技术(三) 系统架构设计专业技能 系统安全分析与设计(四)【系统架构设计师】 系统架构设计高级技能 软件架构设计(一)【系统架构设计师】 系统架构设计高级技能 …...
初识网络原理(笔记)
目录 编辑局域网 网络通信基础 IP 地址 端口号 协议 协议分层 TCP / IP 五层网络模型 网络数据传输的基本流程 发送方的情况: 接收方的情况 局域网 搭建网络的时候,需要用到 交换机 和 路由器 路由器上,有 lan 口 和 wan 口 虽…...
嵌入式C语言基本操作方法之经典
C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。 C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。 C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必…...
postgresql \watch实用的使用方法
文章目录 1.介绍2.语法3.实用的使用方法3.1 慢sql监控3.2 长wait事件3.3 日志输出量3.3结合pg_stat_database使用3.4 结合pg_stat_bgwriter使用3.5 其他 1.介绍 \watch Postgres 9.3 版带来的一个有用的命令,与linux watch指令类似,可以帮我们在指定间隔…...
Cocos2d 项目问题记录
环境搭建 正常运行 Android 端的 Cocos2d 项目,本机至少需要 Android SDK、NDK 环境、Android Studio 项目报错总结 CMake Error: CMake was unable to find a build program corresponding to "Ninja" 默认创建工程的 gradle.tools 版本为 3.1.0&…...
系统架构合理性的思考 | 京东云技术团队
最近牵头在梳理部门的系统架构合理性,开始工作之前,我首先想到的是如何定义架构合理性? 从研发的角度来看如果系统上下文清晰、应用架构设计简单、应用拆分合理应该称之为架构合理。 基于以上的定义可以从以下三个方面来梳理评估࿱…...
Amelia预订插件:WordPress企业级预约系统
并非所有WordPress预订插件都像他们所设计的那样。其中一些缺乏运行高效预约操作所需的功能,而其他一些则看起来陈旧过时。您不需要其中任何一个,但Amelia预订插件似乎希望确保所有用户都对功能和风格感到满意。 在这篇Amelia企业级预约系统插件评测中&…...
共享门店模式:线下门店的商家如何利用它增加客户
随着数字化时代的到来,商业模式正在不断创新与演变,而共享经济正成为引领这一变革的重要力量。在这个大背景下,共享门店模式作为共享经济的一种体现,正在逐渐走进人们的生活,并为商家和消费者带来了新的商机和体验。 共…...
实现矩阵地图与rviz地图重合
文章目录 一、rviz地图转换矩形地图(只能用于全局规划)二、在rviz上显示地图边界信息,可视化调整,实现重合(只能用于局部规划)一、rviz地图转换矩形地图(只能用于全局规划) 此方法矩形地图可能会与rviz地图不重合,通过改变偏移量x_offset,y_offset接近地图 可以将矩…...
设计模式十九:备忘录模式(Memento Pattern)
备忘录模式是一种行为型设计模式,它允许对象在不暴露其内部状态的情况下捕获和恢复其状态。该模式的主要目标是在不破坏封装性的前提下,实现对象状态的备份和恢复。备忘录模式常用于需要保存对象历史状态、撤销操作或者实现快照功能的情况。 备忘录模式…...
【题解】二叉搜索树与双向链表
二叉搜索树与双向链表 题目链接:二叉搜索树与双向链表 解题思路1:递归中序遍历 首先题目最后要求的是一个的递增的双向链表,而二叉搜索树也是一类非常有特色的树,它的根节点大于所有左侧的节点,同时又小于所有右侧的…...
【真实案例】解决后端接口调用偶尔超时问题
文章目录 背景分析代码分析二次日志分析排查Gateway服务解决解决办法1:添加重试机制解决办法2:优化网关内存分配解决办法3:调整OOM策略背景 项目从虚拟机迁移到k8s云原生平台(RainBond)后,发现偶尔会出现接口调用超时的问题。 统计了一下从上线到现在近一个月的调用失败…...
操作符详解(1)
1. 操作符分类: 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号表达式 下标引用、函数调用和结构成员 2. 算术操作符 - * / % 1. 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。 2. 对…...
<指针进阶>指针数组和数组指针傻傻分不清?
✨Blog:🥰不会敲代码的小张:)🥰 🉑推荐专栏:C语言🤪、Cpp😶🌫️、数据结构初阶💀 💽座右铭:“記住,每一天都是一個新的開始…...
无代码集成飞书连接更多应用
场景描述: 基于飞书开放平台能力,无代码集成飞书连接更多应用,打通数据孤岛。通过Aboter可轻松搭建业务自动化流程,实现多个应用之间的数据连接。 支持包括飞书事件监听和接口调用的能力: 事件监听: 用…...
三分钟解决AE缓存预览渲染错误、暂停、卡顿问题
一、清除RAM缓存(内存) 你应该做的第一件事是清除你的RAM。这将清除当前存储在内存中的所有临时缓存文件。要执行此操作,请导航到编辑>清除>所有内存。这将从头开始重置RAM缓存 二、清空磁盘缓存 您也可以尝试清空磁盘缓存。执行此操作…...
朴实无华的数据增强然后训练一下应用在电网异物检测领域,好像有自己的数据集就能发文了
RCNN-based foreign object detection for securing power transmission lines (RCNN4SPTL) Abstract 本文提出了一种新的深度学习网络——RCNN4SPTL (RCNN -based Foreign Object Detection for Securing Power Transmission lines),该网络适用于检测输电线路上的…...
【使用教程】在Ubuntu下运行CANopen通信PMM伺服电机使用教程(NimServoSDK_V2.0.0)
本教程将指导您在Ubuntu操作系统下使用NimServoSDK_V2.0.0来运行CANopen通信的PMM系列一体化伺服电机。我们将介绍必要的步骤和命令,以确保您能够成功地配置和控制PMM系列一体化伺服电机。 NimServoSDK_V2.0.0是一款用于PMM一体化伺服电机的软件开发工具包。它提供了…...
vue3+ts+vite项目页面初始化loading加载效果
简介 一分钟实现 vue-pure-admin 同款项目加载时的 loading 效果 一、先看效果 1.1 静态效果 1.2 动态效果 二、上代码 核心代码在body里面,代码中已标明。找到你项目的 index.html ,复制粘贴进去即可 <!DOCTYPE html> <html lang"en…...
ElasticSearch 数据聚合、自动补全(自定义分词器)、数据同步
文章目录 数据聚合一、聚合的种类二、DSL实现聚合1、Bucket(桶)聚合2、Metrics(度量)聚合 三、RestAPI实现聚合 自动补全一、拼音分词器二、自定义分词器三、自动补全查询四、实现搜索款自动补全(例酒店信息࿰…...
神经网络基础-神经网络补充概念-18-多个样本的向量化
概念 多个样本的向量化通常涉及将一组样本数据组织成矩阵形式,其中每一行代表一个样本,每一列代表样本的特征。这种向量化可以使你更有效地处理和操作多个样本,特别是在机器学习和数据分析中。 代码实现 import numpy as np# 多个样本的数…...
*看门狗1
//while部分是我们在项目中具体需要写的代码,这部分的程序可以用独立看门狗来监控 //如果我们知道这部分代码的执行时间,比如是500ms,那么我们可以设置独立看门狗的 //溢出时间是600ms,比500ms多一点,如果要被监控的程…...
nginx防盗链
防盗链介绍 通过二次访问,请求头中带有referer,的方式不允许访问静态资源。 我们只希望用户通过反向代理服务器才可以拿到我们的静态资源,不希望别的服务器通过二次请求拿到我们的静态资源。 盗链是指在自己的页面上展示一些并不在自己服务…...