GroundingDINO1.5突破开放式物体检测界限:介绍与应用
《博主简介》
小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。
✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~
👍感谢小伙伴们点赞、关注!
《------往期经典推荐------》
一、AI应用软件开发实战专栏【链接】
| 项目名称 | 项目名称 |
|---|---|
| 1.【人脸识别与管理系统开发】 | 2.【车牌识别与自动收费管理系统开发】 |
| 3.【手势识别系统开发】 | 4.【人脸面部活体检测系统开发】 |
| 5.【图片风格快速迁移软件开发】 | 6.【人脸表表情识别系统】 |
| 7.【YOLOv8多目标识别与自动标注软件开发】 | 8.【基于YOLOv8深度学习的行人跌倒检测系统】 |
| 9.【基于YOLOv8深度学习的PCB板缺陷检测系统】 | 10.【基于YOLOv8深度学习的生活垃圾分类目标检测系统】 |
| 11.【基于YOLOv8深度学习的安全帽目标检测系统】 | 12.【基于YOLOv8深度学习的120种犬类检测与识别系统】 |
| 13.【基于YOLOv8深度学习的路面坑洞检测系统】 | 14.【基于YOLOv8深度学习的火焰烟雾检测系统】 |
| 15.【基于YOLOv8深度学习的钢材表面缺陷检测系统】 | 16.【基于YOLOv8深度学习的舰船目标分类检测系统】 |
| 17.【基于YOLOv8深度学习的西红柿成熟度检测系统】 | 18.【基于YOLOv8深度学习的血细胞检测与计数系统】 |
| 19.【基于YOLOv8深度学习的吸烟/抽烟行为检测系统】 | 20.【基于YOLOv8深度学习的水稻害虫检测与识别系统】 |
| 21.【基于YOLOv8深度学习的高精度车辆行人检测与计数系统】 | 22.【基于YOLOv8深度学习的路面标志线检测与识别系统】 |
| 23.【基于YOLOv8深度学习的智能小麦害虫检测识别系统】 | 24.【基于YOLOv8深度学习的智能玉米害虫检测识别系统】 |
| 25.【基于YOLOv8深度学习的200种鸟类智能检测与识别系统】 | 26.【基于YOLOv8深度学习的45种交通标志智能检测与识别系统】 |
| 27.【基于YOLOv8深度学习的人脸面部表情识别系统】 | 28.【基于YOLOv8深度学习的苹果叶片病害智能诊断系统】 |
| 29.【基于YOLOv8深度学习的智能肺炎诊断系统】 | 30.【基于YOLOv8深度学习的葡萄簇目标检测系统】 |
| 31.【基于YOLOv8深度学习的100种中草药智能识别系统】 | 32.【基于YOLOv8深度学习的102种花卉智能识别系统】 |
| 33.【基于YOLOv8深度学习的100种蝴蝶智能识别系统】 | 34.【基于YOLOv8深度学习的水稻叶片病害智能诊断系统】 |
| 35.【基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统】 | 36.【基于YOLOv8深度学习的智能草莓病害检测与分割系统】 |
| 37.【基于YOLOv8深度学习的复杂场景下船舶目标检测系统】 | 38.【基于YOLOv8深度学习的农作物幼苗与杂草检测系统】 |
| 39.【基于YOLOv8深度学习的智能道路裂缝检测与分析系统】 | 40.【基于YOLOv8深度学习的葡萄病害智能诊断与防治系统】 |
| 41.【基于YOLOv8深度学习的遥感地理空间物体检测系统】 | 42.【基于YOLOv8深度学习的无人机视角地面物体检测系统】 |
| 43.【基于YOLOv8深度学习的木薯病害智能诊断与防治系统】 | 44.【基于YOLOv8深度学习的野外火焰烟雾检测系统】 |
| 45.【基于YOLOv8深度学习的脑肿瘤智能检测系统】 | 46.【基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统】 |
| 47.【基于YOLOv8深度学习的橙子病害智能诊断与防治系统】 | 48.【车辆检测追踪与流量计数系统】 |
| 49.【行人检测追踪与双向流量计数系统】 | 50.【基于YOLOv8深度学习的反光衣检测与预警系统】 |
| 51.【危险区域人员闯入检测与报警系统】 | 52.【高压输电线绝缘子缺陷智能检测系统】 |
二、机器学习实战专栏【链接】,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】,持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~
《------正文------》
引言

本文回顾了论文“Grounding DINO 1.5: Advance the ‘Edge’ of Open-Set Object Detection”中介绍的进展。我们将探讨所引入的方法,对开放集目标检测的影响,以及这项研究提出的潜在应用和未来方向。
近年来,零样本目标检测已成为计算机视觉进步的基石。创建多功能且高效的探测器一直是构建实际应用的重要焦点。IDEA Research 推出的 Grounding DINO 1.5 标志着该领域的重大飞跃,尤其是在开放式物体检测方面。
什么是GroundingDINO?
基于DINO的开放式检测器Grounding DINO不仅实现了最先进的物体检测性能,还通过Grounding预训练实现了多级文本信息的集成。与 GLIP 或接地语言图像预训练相比,GroundingDINO 具有多项优势。首先,其基于Transformer的架构,类似于语言模型,便于处理图像和语言数据。
GroundingDINO框架

上图所示的框架是GroundingDINO 1.5 系列的整体框架。该框架保留了 Grounding DINO 的双编码器-单解码器结构。此外,该框架将其扩展到 Pro 和 Edge 型号的 Grounding DINO 1.5。
GroundingDINO 结合了 DINO 和 GLIP 的概念。DINO 是一种基于 Transformer 的方法,在对象检测方面表现出色,具有端到端优化功能,无需手动制作模块,如非最大抑制或 NMS。相反,GLIP 专注于短语基础,将文本中的单词或短语与图像或视频中的视觉元素联系起来。
GroundingDINO 的架构包括一个图像主干、一个文本主干、一个用于图像-文本融合的功能增强器、一个语言引导的查询选择模块和一个用于优化对象框的跨模态解码器。最初,它提取图像和文本特征,融合它们,从图像特征中选择查询,并在解码器中使用这些查询来预测对象框和相应的短语。
Grounding DINO 1.5 新功能
Grounding DINO 1.5 建立在其前身 Grounding DINO 奠定的基础之上,后者通过整合语言信息并将任务构建为短语接地来重新定义对象检测。这种创新方法利用了对不同数据集的大规模预训练,以及对来自大量图像-文本对的伪标记数据的自我训练。其结果是一个在开放世界场景中表现出色的模型,因为它具有强大的架构和语义丰富性。
GroundingDINO 1.5 进一步扩展了这些功能,引入了两种专用型号:Grounding DINO 1.5 Pro 和Grounding DINO 1.5 Edge。Pro 模型通过显着扩展模型的容量和数据集大小、整合 ViT-L 等高级架构并生成超过 2000 万张带注释的图像来增强检测性能。相比之下,边缘模型针对边缘设备进行了优化,强调计算效率,同时通过高级图像特征保持高检测质量。
实验结果强调了 Grounding DINO 1.5 的有效性,Pro 型号设定了新的性能标准,而 Edge 型号展示了令人印象深刻的速度和准确性,使其非常适合边缘计算应用。本文深入探讨了 Grounding DINO 1.5 带来的进步,探讨了其在开放式物体检测动态环境中的方法、影响和潜在的未来方向,从而突出了其在实际场景中的实际应用。
Grounding DINO 1.5 在 Grounding-20M 上进行了预训练,Grounding-20M 是一个包含来自公共来源的超过 2000 万张接地图像的数据集。在训练过程中,确保了具有完善的注释管道和后处理规则的高质量注释。
性能分析
下图显示了该模型识别 COCO 和 LVIS 等数据集中对象的能力,这些数据集包含许多类别。这表明 Grounding DINO 1.5 Pro 的性能明显优于以前的版本。与之前的特定型号相比,GroundingDINO 1.5 Pro显示出显着的改进。

该模型使用 ODinW(野外目标检测)基准测试在各种实际场景中进行了测试,其中包括涵盖不同应用的 35 个数据集。与之前版本的 Grounding DINO 相比,Grounding DINO 1.5 Pro 的性能有了显着提高。

COCO 和 LVIS 上GroundingDINO1.5 Edge 的零拍摄结果使用 A100 GPU 以每秒帧数 (FPS) 为单位进行测量,以 PyTorch 速度/TensorRT FP32 速度报告。还提供 NVIDIA Orin NX 上的 FPS。GroundingDINO 1.5 Edge 实现了卓越的性能,也超越了所有其他最先进的算法(OmDet-Turbo-T 30.3 AP、YOLO-Worldv2-L 32.9 AP、YOLO-Worldv2-M 30.0 AP、YOLO-Worldv2-S 22.7 AP)。

GroundingDINO1.5 Pro 与GroundingDINO 1.5 Edge
GroundingDINO1.5 Pro
Grounding DINO 1.5 Pro 建立在 Grounding DINO 的核心架构之上,但通过更大的 Vision Transformer (ViT-L) 主干增强了模型架构。ViT-L 模型以其在各种任务中的卓越性能而闻名,基于 transformer 的设计有助于优化训练和推理。
Grounding DINO 1.5 Pro 采用的关键方法之一是用于特征提取的深度早期融合策略。这意味着在进入解码阶段之前,在特征提取过程中使用交叉注意力机制将语言和图像特征尽早组合在一起。这种早期整合可以更彻底地融合来自两种模式的信息。
在他们的研究中,该团队比较了早期核聚变与后期核聚变策略。在早期融合中,语言和图像特征在过程的早期被集成,从而实现更高的检测召回率和更准确的边界框预测。但是,这种方法有时会导致模型产生幻觉,这意味着它会预测图像中不存在的对象。
另一方面,后期融合将语言和图像特征分开,直到损失计算阶段,它们被整合。这种方法通常对幻觉更有力,但往往会导致较低的检测回忆,因为当视觉和语言特征仅在最后组合时,它们变得更具挑战性。
为了最大限度地发挥早期融合的优势,同时最大限度地减少其缺点,Grounding DINO 1.5 Pro 保留了早期融合设计,但采用了更全面的训练采样策略。这种策略增加了训练期间负样本(没有感兴趣对象的图像)的比例。通过这样做,该模型可以更好地区分相关和不相关的信息,从而减少幻觉,同时保持高检测召回率和准确性。
总之,Grounding DINO 1.5 Pro 通过将早期融合与改进的训练方法相结合,平衡了早期融合架构的优势和劣势,从而增强了其预测能力和鲁棒性。
GroundingDINO1.5 Edge
GroundingDINO 是检测图像中物体的强大模型,但它需要大量的计算能力。这使得在资源有限的小型设备(如汽车、医疗设备或智能手机中的设备)上使用具有挑战性。这些设备需要快速有效地实时处理图像。
在边缘设备上部署GroundingDINO对于许多应用(例如自动驾驶、医学图像处理和计算摄影)来说是非常理想的。
然而,开放式检测模型通常需要大量的计算资源,而边缘设备缺乏这些资源。最初的GroundingDINO模型使用多尺度图像特征和计算密集型特征增强器。虽然这提高了训练速度和性能,但对于边缘设备上的实时应用程序来说是不切实际的。
为了应对这一挑战,研究人员提出了一种用于边缘设备的高效功能增强器。他们的方法侧重于仅使用高级图像特征(P5 级别)进行跨模态融合,因为较低级别的特征缺乏语义信息并增加计算成本。这种方法大大减少了处理的令牌数量,从而减少了计算负载。
为了更好地集成在边缘设备上,该模型将可变形的自注意力替换为普通的自注意力,并引入了跨尺度特征融合模块来集成较低级别的图像特征(P3 和 P4 级别)。这种设计平衡了功能增强的需求和计算效率的需求。
在 Grounding DINO 1.5 Edge 中,原来的特征增强器被这种新的高效增强器所取代,而 EfficientViT-L1 被用作快速多尺度特征提取的图像骨干。当部署在 NVIDIA Orin NX 平台上时,此优化模型的推理速度超过 10 FPS,输入大小为 640 × 640。这使得它适用于边缘设备上的实时应用程序,从而平衡性能和效率。
Origin Feature Enhancer 和 New Efficient Feature Enhancer 之间的比较:

NVIDIA Orin NX 上的 Grounding DINO 1.5 Edge 可视化功能显示在屏幕左上角的 FPS 和提示。右上角显示了录制场景的摄像机视图。

GroundingDINO目标检测演示
首先,我们将克隆存储库:
!git clone https://github.com/IDEA-Research/Grounding-DINO-1.5-API.git
接下来,我们将安装所需的软件包:
!pip install -v -e .
运行以下代码以生成链接:
!python gradio_app.py --token ad6dbcxxxxxxxxxx



GroundingDINO1.5应用领域
自动驾驶汽车:
- 检测和识别道路上可能出现的已知交通标志和行人以及不熟悉的物体,确保更安全的导航。
- 识别训练数据中未预先标记的意外障碍物,例如碎片或动物。
监控和安全:
- 识别禁区内未经授权的个人或物体,即使他们以前从未见过。
- 在机场或火车站等公共场所检测废弃物体可能是潜在的安全威胁。
零售和库存管理:
- 识别和跟踪商店货架上的商品,包括可能不属于原始库存的新产品。
- 识别商店中可能表明入店行窃的异常活动或不熟悉的物品。
医疗:
- 检测医学扫描中的异常或不熟悉的模式,例如新型肿瘤或罕见病症。
- 识别患者的异常行为或动作,尤其是在长期护理或术后恢复中。
机器人:
- 通过识别和适应新物体或周围环境的变化,使机器人能够在动态和非结构化环境中运行。
- 在环境不可预测且充满陌生物体的受灾地区检测受害者或危险。
野生动物监测和保护:
- 在自然栖息地中发现和识别新的或稀有物种,以进行生物多样性研究和保护工作。
- 监测保护区是否有不熟悉的人类存在或可能表明非法偷猎活动的工具。
制造和质量控制:
- 识别生产线上产品中的缺陷或异常,包括以前未遇到的新型缺陷。
- 识别和分类各种物体,以提高制造过程的效率。
本文介绍了 Grounding DINO 1.5,旨在增强开放式物体检测。领先的型号 Grounding DINO 1.5 Pro 在 COCO 和 LVIS 零射测试中树立了新的标杆,标志着检测准确性和可靠性的重大进步。
好了,这篇文章就介绍到这里,感谢点赞关注,更多精彩内容持续更新中~
关注文末名片G-Z-H:【阿旭算法与机器学习】,可获取更多干货学习资源
相关文章:
GroundingDINO1.5突破开放式物体检测界限:介绍与应用
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
centos编译内核ko模块
1、make报错 make: * /lib/modules/4.14.0-49.el7a.aarch64/build: 没有那个文件或目录。 停止。 [rootlocalhost 4.14.0-49.el7a.aarch64]# pwd /lib/modules/4.14.0-49.el7a.aarch64 [rootlocalhost 4.14.0-49.el7a.aarch64]# ll 总用量 1744 lrwxrwxrwx. 1 root root …...
Android13 WMS窗口层级树
1,认识层级树 可以通过dumpsys activity containers 看到 WMS 层级树的结构 ACTIVITY MANAGER CONTAINERS (dumpsys activity containers) ROOT typeundefined modefullscreen override-modeundefined requested-bounds[0,0][0,0] bounds[0,0][1440,2960]#0 Displa…...
计算机毕业设计Python+LSTM+Tensorflow股票分析预测 基金分析预测 股票爬虫 大数据毕业设计 深度学习 机器学习 数据可视化 人工智能
基于TensorFlow-LSTM的股票预测系统开题报告 一、研究背景与意义 随着信息技术的飞速发展,股票市场作为现代经济活动的重要组成部分,其价格波动受到广泛关注。投资者们迫切希望通过科学的方法预测股票价格,以优化投资决策,实现利…...
仓库管理系统14--仓库设置
1、添加窗体 <UserControl x:Class"West.StoreMgr.View.StoreView"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc"http://schemas.openxmlformats.…...
Python 算法交易实验73 QTV200第二步: 数据清洗并写入ClickHouse
说明 先检查一下昨天启动的worker是否正常工作,然后做一些简单的清洗,存入clickhouse。 内容 1 检查数据 from Basefuncs import * # 将一般字符串转为UCS 名称 def dt_str2ucs_blockname(some_dt_str):some_dt_str1 some_dt_str.replace(-,.).re…...
记录:有趣的C#多元运算符 ? : 表达式写法
有时候用 if //...Whatre you she wanna go else if //...do do do else //...and i know something just like this... 感觉代码太多了怎么优雅的、高端的替换? 看个高端的栗子菊: LedCOM["parity"] ledData[4] "N" ? …...
华宽通中标长沙市政务共性能力建设项目,助力智慧政务建设新飞跃
在数字化浪潮的推动下,长沙市政府正积极拥抱智慧城市建设,以科技力量提升政务服务效能。华宽通凭借其卓越的技术实力与丰富的项目经验,成功中标长沙市政务共性能力建设项目,这无疑是对华宽通在智慧城市领域实力的高度认可。 华宽…...
[面试题]计算机网络
[面试题]Java【基础】[面试题]Java【虚拟机】[面试题]Java【并发】[面试题]Java【集合】[面试题]MySQL[面试题]Maven[面试题]Spring Boot[面试题]Spring Cloud[面试题]Spring MVC[面试题]Spring[面试题]MyBatis[面试题]Nginx[面试题]缓存[面试题]Redis[面试题]消息队列[面试题]…...
企业级低代码开发效率变革赋能业务增长
企业级低代码开发已经成为当今软件开发领域的一大趋势,它为企业带来了前所未有的效率变革,从而赋能业务增长。本文将围绕这一主题,深入探讨低代码开发的概念、优势以及如何在企业级应用中实现高效的低代码开发,以助力我国企业实现…...
2024最新总结:1500页金三银四面试宝典 记录35轮大厂面试(都是面试重点)
学习是你这个职业一辈子的事 手里有个 1 2 3,不要想着去怼别人的 4 5 6,因为还有你不知道的 7 8 9。保持空瓶心态从 0 开始才能学到 10 全。 毕竟也是跳槽高峰期,我还是为大家准备了这份1500页金三银四宝典,记录的都是真实大厂面…...
使用Spring Boot和Thymeleaf构建动态Web页面
使用Spring Boot和Thymeleaf构建动态Web页面 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨如何利用Spring Boot和Thymeleaf构建动…...
扫盲之webSocket
介绍 webSocket 是一种协议,设计用于在客户端和服务器之间提供低延迟、全双工、和长期运行的连接。 全双工:通信的两个参与方可以同时发送和接收数据,不需要等待对方的响应或传输完成 websocket就是为了解决实时通信的问题 建立webSocke…...
一些硬件知识(十二)
1、请说明一下滤波磁珠和滤波电感的区别。 因此磁珠通常用于模数地的连接。 磁珠由导线穿过铁氧体组成,直流电阻很小,在低频时阻抗也很小,对直流信号几乎没有影响。 在高频(几十兆赫兹以上)时磁珠阻抗比较大࿰…...
Adobe Acrobat编辑器最新版下载安装 Adobe Acrobat版本齐全!
功能强大,Adobe Acrobat无疑是PDF文档处理领域的翘楚。这款软件集多种PDF文档处理功能于一身,不仅使得用户可以轻松地编辑PDF文档,更能轻松应对转换和合并等多种需求。 在编辑功能上,Adobe Acrobat的表现尤为出色。无论是添加文字…...
k8s如何使用 HPA 实现自动扩展
使用Horizontal Pod Autoscaler (HPA) 实验目标: 学习如何使用 HPA 实现自动扩展。 实验步骤: 创建一个 Deployment,并设置 CPU 或内存的资源请求。创建一个 HPA,设置扩展策略。生成负载,观察 HPA 如何自动扩展 Pod…...
Hi3861 OpenHarmony嵌入式应用入门--0.96寸液晶屏 iic驱动ssd1306
使用iic驱动ssd1306,代码来源hihope\hispark_pegasus\demo\12_ssd1306 本样例提供了一个HarmonyOS IoT硬件接口的SSD1306 OLED屏驱动库,其功能如下: 内置了128*64 bit的内存缓冲区,支持全屏刷新;优化了屏幕刷新速率,…...
代码随想录训练营第二十二天 77组合
第一题: 原题链接:77. 组合 - 力扣(LeetCode) 思路: 经典的回溯模板题: 终止条件,当中间变量用来存储单个结果的大小等于k,则将中间变量存放到结果数组中。 一个for循环横向遍历…...
Unity踩坑记录
1. 如果同时在父物体和子物体上挂载BoxCollider,那么当使用: private void OnTriggerEnter2D(Collider2D collision){if (collision.CompareTag("CardGroup")){_intersectCardGroups.Add(collision.GetComponent<CardGroup>());}} 来判…...
内容安全复习 1 - 信息内容安全概述
文章目录 信息内容安全简介网络空间信息内容安全大模型 人工智能简介 信息内容安全简介 网络空间 网络空间是融合物理域、信息域、认知域和社会域,控制实体行为的信息活动空间。 上图展示了网络空间安全的结构。可以看到将网络空间划分为了网络域和内容域两个部分。…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
