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

SmolVLM2: 让视频理解能力触手可及

一句话总结: SmolVLM 现已具备更强的视觉理解能力📺

SmolVLM2 标志着视频理解技术的根本性转变——从依赖海量计算资源的巨型模型,转向可在任何设备运行的轻量级模型。我们的目标很简单: 让视频理解技术从手机到服务器都能轻松部署。

我们同步发布三种规模的模型 (22 亿/5 亿/2.56 亿参数),并全面支持 MLX 框架 (提供 Python 和 Swift API)。所有模型及演示案例均可在此获取。

获取链接https://hf.co/collections/HuggingFaceTB/smolvlm2-smallest-video-lm-ever-67ab6b5e84bf8aaa60cb17c7

想立即体验 SmolVLM2?欢迎试用我们的交互式聊天界面,通过直观的交互测试 22 亿参数模型的视频理解能力。

交互式聊天界面https://hf.co/spaces/HuggingFaceTB/SmolVLM2

技术细节

我们推出三款新模型 (2.56 亿/5 亿/22 亿参数)。其中 22 亿参数模型是视觉与视频任务的优选,而 5 亿和 2.56 亿模型更是 迄今发布的最小型视频语言模型

虽然体积小巧,但其内存效率却优于现有所有模型。在视频领域权威基准测试 Video-MME 中,SmolVLM2 在 20 亿参数级别与顶尖模型比肩,在更小规模模型中更是一骑绝尘。

SmolVLM2 性能表现

注: Video-MME 基准因覆盖多样视频类型 (11 秒至 1 小时) 、多模态数据 (含字幕和音频) 及 254 小时高质量专家标注而著称。了解更多https://video-mme.github.io/home_page.html

SmolVLM2-22 亿: 视觉与视频理解新标杆

相较于前代产品,新版 22 亿模型在图像数学解题、图片文字识别、复杂图表解析和科学视觉问答方面表现显著提升:

SmolVLM2 视觉能力提升

在视频任务中,该模型展现出优异性价比。基于Apollo 大型多模态模型视频理解研究的数据混合策略,我们在视频/图像性能之间取得了良好平衡。

Apollo 大型多模态模型视频理解研究https://apollo-lmms.github.io/

其内存效率之高,甚至可在免费版 Google Colab 中运行。

Python 代码示例:

# 确保使用最新版 Transformers
!pip install git+https://github.com/huggingface/transformers.gitfrom transformers import AutoProcessor, AutoModelForImageTextToTextmodel_path = "HuggingFaceTB/SmolVLM2-2.2B-Instruct"
processor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForImageTextToText.from_pretrained(model_path,torch_dtype=torch.bfloat16,_attn_implementation="flash_attention_2"
).to("cuda")messages = [{"role": "user","content": [{"type": "video", "path": "path_to_video.mp4"},{"type": "text", "text": "请详细描述该视频内容"}]},
]inputs = processor.apply_chat_template(messages,add_generation_prompt=True,tokenize=True,return_dict=True,return_tensors="pt",
).to(model.device)generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=64)
generated_texts = processor.batch_decode(generated_ids,skip_special_tokens=True,
)print(generated_texts[0])

更轻量级: 5 亿与 2.56 亿视频模型

我们首次突破小模型极限:SmolVLM2-5 亿视频指令模型在保持 22 亿模型 90% 视频理解能力的同时,参数量减少四分之三 🤯。

SmolVLM2-5 亿视频指令模型https://hf.co/HuggingFaceTB/SmolVLM2-500M-Video-Instruct

而我们的实验性作品SmolVLM2-2.56 亿视频指令模型则探索了小模型的极限。受 IBM 利用256M 模型取得成果的启发,我们继续深挖小模型潜力。虽然属于实验性发布,但期待它能激发更多创新应用。

  • SmolVLM2-2.56 亿视频指令模型https://hf.co/HuggingFaceTB/SmolVLM-256M-Instruct

  • 256M 模型https://ds4sd.github.io/docling/examples/pictures_description/

SmolVLM2 应用案例集

为在小型视频模型领域展现我们的核心理念,我们开发了三个实际应用案例,生动呈现该模型系统的多场景应用能力。

iPhone 视频理解

我们开发了完全本地化运行的 iPhone 应用 (使用 5 亿模型),用户无需云端即可进行视频分析。立即申请测试资格,与我们共同打造移动端 AI 视频应用!https://hf.co/spaces/HuggingFaceTB/SmolVLM2-iPhone-waitlist

VLC 媒体播放器集成

与 VLC 合作开发的智能视频导航功能,支持通过语义搜索跳转到指定片段。在这个 Space体验播放列表生成原型。https://hf.co/spaces/HuggingFaceTB/SmolVLM2-XSPFGenerator

视频精彩片段生成器

擅长处理长视频 (1 小时+),可自动提取足球比赛等场景的关键时刻。立即在线体验。https://hf.co/spaces/HuggingFaceTB/SmolVLM2-HighlightGenerator

使用 Transformers 和 MLX 运行 SmolVLM2

自发布首日起,我们便实现了 SmolVLM2 与 Transformer 架构及 MLX 框架的即开即用兼容适配。在本章节中,您可查阅面向视频与多图像处理的多种推理方案,以及配套的实战教程指南。

Transformers

通过对话式 API 可便捷调用 SmolVLM2 模型,聊天模板会自动对输入进行预处理:
你可以像下面这样加载模型:

# 确保使用最新版 Transformers
!pip install git+https://github.com/huggingface/transformers.gitfrom transformers import AutoProcessor, AutoModelForImageTextToTextprocessor = AutoProcessor.from_pretrained(model_path)
model = AutoModelForImageTextToText.from_pretrained(model_path,torch_dtype=torch.bfloat16,_attn_implementation="flash_attention_2"
).to(DEVICE)
视频推理

通过传入 {"type": "video", "path": {video_path} ,你可以在聊天模板传递视频路径,下面是完整的模板示例:

messages = [{"role": "user","content": [{"type": "video", "path": "视频路径.mp4"},{"type": "text", "text": "请详细描述该视频"}]},
]
inputs = processor.apply_chat_template(messages,add_generation_prompt=True,tokenize=True,return_dict=True,return_tensors="pt",
).to(model.device)generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=64)
generated_texts = processor.batch_decode(generated_ids,skip_special_tokens=True,
)print(generated_texts[0])
多图推理

除了视频,SmolVLM2 支持多图推理。您可以通过聊天模板使用相同的 API。

messages = [{"role": "user","content": [{"type": "text", "text": "这两张图片有何区别?"},{"type": "image", "path": "图片1.png"},{"type": "image", "path": "图片2.png"} ]},
]
inputs = processor.apply_chat_template(messages,add_generation_prompt=True,tokenize=True,return_dict=True,return_tensors="pt",
).to(model.device)generated_ids = model.generate(**inputs, do_sample=False, max_new_tokens=64)
generated_texts = processor.batch_decode(generated_ids,skip_special_tokens=True,
)print(generated_texts[0])

使用 MLX 进行推理

要在 Apple 芯片设备上使用 Python 运行 SmolVLM2,可通过优秀的mlx-vlm 库实现。首先安装特定分支:

mlx-vlm 库https://github.com/Blaizzy/mlx-vlm

pip install git+https://github.com/pcuenca/mlx-vlm.git@smolvlm

单图推理示例 (使用未量化的 5 亿参数版本):

未量化的 5 亿参数版本https://hf.co/mlx-community/SmolVLM2-500M-Video-Instruct-mlx

python -m mlx_vlm.generate \--model mlx-community/SmolVLM2-500M-Video-Instruct-mlx \--image https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/bee.jpg \--prompt "请描述这张图片"

视频分析专用脚本 (系统提示词可引导模型关注重点):

python -m mlx_vlm.smolvlm_video_generate \--model mlx-community/SmolVLM2-500M-Video-Instruct-mlx \--system "请专注描述视频片段中的关键戏剧性动作或显著事件,省略常规场景描述" \--prompt "视频中发生了什么?" \--video ~/Downloads/example_video.mov
Swift 语言支持

通过mlx-swift-examples 代码库实现 Swift 支持 (当前需从开发分支编译),这正是我们构建 iPhone 应用的技术基础。

  • mlx-swift-examples 代码库https://github.com/ml-explore/mlx-swift-examples

  • 开发分支https://github.com/cyrilzakka/mlx-swift-examples

图像推理 CLI 示例:

./mlx-run --debug llm-tool \--model mlx-community/SmolVLM2-500M-Video-Instruct-mlx \--prompt "请描述这张图片" \--image https://example.com/image.jpg \--temperature 0.7 --top-p 0.9 --max-tokens 100

视频分析示例 (系统提示词调节输出粒度):

./mlx-run --debug llm-tool \--model mlx-community/SmolVLM2-500M-Video-Instruct-mlx \--system "请专注描述视频片段中的核心事件" \--prompt "发生了什么?" \--video ~/Downloads/example_video.mov \--temperature 0.7 --top-p 0.9 --max-tokens 100

若您使用 MLX 和 Swift 集成 SmolVLM2,欢迎在评论区分享您的实践!

微调 SmolVLM2

您可使用 Transformers 库对视频数据进行微调。我们已在 Colab 环境演示了基于VideoFeedback 数据集对 5 亿参数模型的微调流程。由于模型较小,推荐使用全参数微调而非 QLoRA/LoRA (但可在 cB 变体尝试 QLoRA)。完整教程请参考微调笔记。

  • VideoFeedback 数据集https://hf.co/datasets/TIGER-Lab/VideoFeedback

  • 微调笔记https://github.com/huggingface/smollm/blob/main/vision/finetuning/SmolVLM2_Video_FT.ipynb

延伸信息

特别鸣谢 Raushan Turganbay、Arthur Zucker 和 Pablo Montalvo Leroux 对模型移植的贡献。

如果您想了解更多关于 SmolVLM 系列模型的信息,请阅读以下内容:模型与演示全集|Apollo 视频理解研究

  • 模型与演示全集https://hf.co/collections/HuggingFaceTB/smolvlm2-smallest-video-lm-ever-67ab6b5e84bf8aaa60cb17c7

  • Apollo 视频理解研究https://apollo-lmms.github.io/

期待见证您用 SmolVLM2 构建的创新应用!


英文原文:https://hf.co/blog/smolvlm2

原文作者: Orr Zohar, Miquel Farré, Andres Marafioti, Merve Noyan, Pedro Cuenca, Cyril, Joshua

译者: yaoqih

相关文章:

SmolVLM2: 让视频理解能力触手可及

一句话总结: SmolVLM 现已具备更强的视觉理解能力📺 SmolVLM2 标志着视频理解技术的根本性转变——从依赖海量计算资源的巨型模型,转向可在任何设备运行的轻量级模型。我们的目标很简单: 让视频理解技术从手机到服务器都能轻松部署。 我们同步发布三种规…...

去中心化金融

什么是去中心化金融 去中心化金融(Decentralized Finance,简称 DeFi)是一种基于区块链技术构建的金融系统,旨在通过去除传统金融机构(如银行、证券公司等)作为中介,提供各种金融服务。这些服务…...

Mysql并发事务带来哪些问题?

大家好,我是锋哥。今天分享关于【Mysql并发事务带来哪些问题?】面试题。希望对大家有帮助; Mysql并发事务带来哪些问题? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中,事务并发执行时会引发一系列问题&#xff0c…...

PCL 点云多平面探测

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 Open3D为我们提供了一种点云多平面探测的算法,该算法使用基于鲁棒统计的方法进行平面补丁检测。该算法具体过程:首先将点云细分为更小的块(使用二分法),然后尝试为每个点云块匹配一个平面。如果平面通过了鲁棒平…...

OpenBMC:BmcWeb添加路由5 设置handler函数

对路由对象完成了权限和method的设置后,最重要的就是设置路由的处理函数: //http\routing\taggedrule.hpptemplate <typename... Args> class TaggedRule :public BaseRule,public RuleParameterTraits<TaggedRule<Args...>> {...template <typename F…...

攻破tensorflow,勇创最佳agent(2)---损失(loss) 准确率(accuracy)问题

实战播: 怎么判定一个模型好不好,你设置的值对不对? 需要再看几个值: 例如: model Sequential()for units in model_structure:model.add(Dense(units, activationrelu))model.add(Dropout(train_config.get(dropout_rate, 0.3)))model.add(Dense(1, activationsigmoid)) 他…...

括号合法题

一、括号合法题 2116. 判断一个括号字符串是否有效 //采用从左往右和从右往左遍历的贪心算法&#xff0c;分别保证前缀合法&#xff0c;后缀合法。public boolean canBeValid(String s, String locked) {int ns.length();if (n%21) return false;int num0;// 从左到右扫描&…...

C++11之深度理解lambda表达式

前言 在现代C中&#xff0c;Lambda表达式提供了一种简洁而强大的方式来定义匿名函数&#xff0c;使代码更具可读性和灵活性。自C11引入Lambda以来&#xff0c;它已经成为STL算法、并发编程和回调机制中的重要工具。随着C14、C17和C20的不断演进&#xff0c;Lambda的功能也在不断…...

字符串常量,数组和指针的不同形式

在 C 语言中&#xff0c;字符串 "hello" 存储在内存中是一个字符数组&#xff0c;它的内存布局通常如下&#xff1a; 1. 字符串常量区&#xff1a; 字符串常量&#xff08;如 "hello"&#xff09;是存储在程序的数据段&#xff08;通常称为 .data 或 .ro…...

全面讲解python的uiautomation包

在常规的模拟鼠标和键盘操作&#xff0c;我们一般使用pyautogui&#xff0c;uiautomation模块不仅能直接支持这些操作&#xff0c;还能通过控件定位方式直接定位到目标控件的位置&#xff0c;而不需要自己去获取对应坐标位置。uiautomation模块不仅支持任意坐标位置截图&#x…...

性能测试笔记

8、JMeter扩展开发 扩展组件开发的意义 输入参数协议复杂调用逻辑功能等等 开发前的工具准备 下载jdk并安装&#xff0c;配置环境变量下载maven&#xff0c;配置环境变量修改settings.xml本地仓库&#xff0c;远程仓库的地址Eclipse新建Maven项目编辑 pom.xml Maven常用命令…...

相对位置2d矩阵和kron运算的思考

文章目录 1. 相对位置矩阵2d2. kron运算 1. 相对位置矩阵2d 在swin-transformer中&#xff0c;我们会计算每个patch之间的相对位置&#xff0c;那么我们看到有一连串的拉伸和相减&#xff0c;直接贴代码&#xff1a; import torch import torch.nn as nntorch.set_printoptio…...

从C语言开始的C++编程生活(2)

前言 本系列文章承接C语言的学习&#xff0c;需要有C语言的基础才能学会哦~ 第2篇主要讲的是有关于C的缺省参数和函数重载。 C才起步&#xff0c;都很简单呢&#xff01; 目录 前言 缺省参数 基本语法 缺省参数的作用 函数重载 基本语法 重载的作用 缺省参数 缺省参数…...

【设计模式】深入解析装饰器模式(Decorator Pattern)

深入解析装饰器模式&#xff08;Decorator Pattern&#xff09; 一、装饰器模式的核心概念 装饰器模式是一种结构型设计模式&#xff0c;用于动态地给对象添加新功能&#xff0c;而不改变其原始代码。 1. 为什么需要装饰器&#xff1f; 避免继承带来的类爆炸问题&#xff1…...

K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)

实战&#xff1a;在已有K8S集群如何新增和删除Node节点 在Kubernetes (K8S) 集群中&#xff0c;Node节点是集群中的工作节点&#xff0c;它们运行着容器的实际实例。管理K8S集群中的Node节点&#xff0c;包括新增和删除节点&#xff0c;是一个常见且重要的操作&#xff0c;可以…...

2503C++,C++标准的执行

最优雅的应该是c26刚刚引入的std::execution,通过sender/receiver模型和常用的异步算法来简化调用异步逻辑,还可随时改成协程. #include <stdexec/execution.hpp> #include <exec/static_thread_pool.hpp> int main() {exec::static_thread_pool pool(3);auto sch…...

nodejs中实现一个自定义的require方法

1.前言 大家对nodejs中的require方法应该不会陌生,这个方法可以用来导入nodejs的内置模块,自定义模块,第三方模块等,使用频率非常高,那么这个方法内部是如何实现的呢?本篇文章就是从头到尾拆分实现流程,最终实现一个自定义的require方法的 2.前置操作 导入所需的nodejs内置…...

vscode/cursor中python运行路径设置 模块导入问题

vscode/cursor中python运行路径设置 ## 文件路径设置 问题描述 pycharm的项目用cursor运行&#xff0c;出现目录找不到 后来利用 os.getcwd()&#xff0c;经过打印调试发现是IDE的本身配置问题 pycharm中&#xff0c;os.getcwd()默认打开当前脚本所在目录 vscode/cursor中…...

Spring学习笔记05——Spring Boot的文件结构2(POJO类)

在Spring Boot项目中&#xff0c;将Entity、DTO、VO放在POJO子模块中是一种常见的分层设计&#xff0c;它们各自承担不同的职责&#xff0c;通过一个通俗的例子来解释它们的作用&#xff1a; POJO&#xff08;Plain Old Java Object&#xff09;是指普通的、简单的Java对象&am…...

html和css 实现元素顺时针旋转效果(椭圆形旋转轨迹)

一 实现效果 二 实现代码 我自己是用react写的。 1. react 代码如下&#xff1a; import React from "react"; import styles from "./index.less";export default () > {return <div className{styles.containers}><div className{styles.c…...

C# 的Lambda表达式‌常见用法和示例

C# 的 ‌Lambda 表达式‌是一种强大的语法糖&#xff0c;能够极大简化代码并增强灵活性。以下是它的主要功能和应用场景&#xff0c;结合具体示例说明&#xff1a; 1. ‌简化委托实例化‌ Lambda 可以快速定义委托&#xff08;如 Func、Action&#xff09;&#xff0c;无需显式…...

2024年数维杯数学建模C题天然气水合物资源量评价解题全过程论文及程序

2024年数维杯数学建模 C题 天然气水合物资源量评价 原题再现&#xff1a; 天然气水合物&#xff08;Natural Gas Hydrate/Gas Hydrate&#xff09;即可燃冰&#xff0c;是天然气与水在高压低温条件下形成的类冰状结晶物质&#xff0c;因其外观像冰&#xff0c;遇火即燃&#…...

Qt中10倍提升动态截屏及渲染60帧/秒

Qt中10倍提升动态截屏及渲染60帧/秒 理解模态窗口和非模态窗口 在C中&#xff0c;窗口的**模态&#xff08;Modal&#xff09;和非模态&#xff08;Modeless&#xff09;**显示是两种不同的对话框或窗口行为模式&#xff0c;主要区别体现在用户交互和程序流程控制上。以下是它…...

OpenCV 基础全方位剖析:夯实计算机视觉开发根基

在计算机视觉的广袤领域中&#xff0c;OpenCV 是一座极为关键的里程碑。无论是在前沿的学术研究&#xff0c;还是在蓬勃发展的工业界&#xff0c;OpenCV 凭借其强大的功能与高效的性能&#xff0c;为开发者提供了丰富的图像处理和计算机视觉算法&#xff0c;助力无数项目落地。…...

Java试题

试题&#xff1a; 解析 1-5&#xff1a; 5&#xff1a; 6&#xff1a; 7&#xff1a; 8&#xff1a; 9&#xff1a; 10&#xff1a; 11: 12: 13:...

基于 arco 的 React 和 Vue 设计系统

arco 是字节跳动出品的企业级设计系统&#xff0c;支持React 和 Vue。 安装模板工具 npm i -g arco-cli创建项目目录 cd someDir arco init hello-arco-pro? 请选择你希望使用的技术栈React❯ Vue? 请选择一个分类业务组件组件库Lerna Menorepo 项目❯ Arco Pro 项目看到以…...

解密细胞衰老与溶解:AbMole助力胰腺癌研究新突破

近日&#xff0c;一项由德国罗斯托克大学医学中心的研究团队完成的研究&#xff0c;在探索胰腺癌细胞衰老与溶解的复杂机制上取得了重要进展。这项研究不仅深化了我们对胰腺癌生物学特性的理解&#xff0c;更为未来的研究开辟了新的方向。而在这场科学探索中&#xff0c;AbMole…...

罗德与施瓦茨FSU8,频谱分析仪

罗德与施瓦茨FSU8频谱分析仪​ R&S FSU系列频谱仪是动态范围、相位噪声、电平精度和分辨率带宽等频谱仪指标&#xff0c;所有这些指标也是用户设计、测量和生产下一代无线通讯元件的重要保障。出色的表现能力 频率范围&#xff1a;从20Hz开始&#xff0c;分别到3.6 GHz, 8…...

【零基础JavaScript入门 | Day7】三大交互案例深度解析|从DOM操作到组件化开发

【零基础JavaScript入门 | Day7】三大交互案例深度解析&#xff5c;从DOM操作到组件化开发 &#x1f31f;今日知识图谱&#xff1a; ✅ 事件驱动编程 → 按钮交互与定时器控制 ✅ 组件化思维 → 可复用UI模块开发 ✅ 用户体验优化 → 动画与状态反馈设计 ✅ 工程化实践 → 代码…...

[BalticOI 2009] Radio Transmission 无线传输

题目来自洛谷网站&#xff1a; KMP思路&#xff1a; 结论&#xff1a;n - ne[n] 模拟样例&#xff0c;如下图所示&#xff1a; 代码&#xff1a; #include<bits/stdc.h> #define int long long using namespace std; const int N 1e620;int n; char s[N]; int ne[N];…...

SvelteKit 最新中文文档教程(10)—— 部署 Cloudflare Pages 和 Cloudflare Workers

前言 Svelte&#xff0c;一个语法简洁、入门容易&#xff0c;面向未来的前端框架。 从 Svelte 诞生之初&#xff0c;就备受开发者的喜爱&#xff0c;根据统计&#xff0c;从 2019 年到 2024 年&#xff0c;连续 6 年一直是开发者最感兴趣的前端框架 No.1&#xff1a; Svelte …...

32位汇编:MASM32环境搭建与汇编窗口程序

引言 “汇编语言”是计算机底层的编程语言&#xff0c;直接操作硬件资源。32位汇编相比16位汇编在寄存器宽度、内存寻址和指令集等方面有了显著提升。本文将带你从零开始搭建32位汇编开发环境&#xff0c;并编写第一个窗口程序。 1. 环境搭建 1.1 下载MASM32 MASM32是一个专门…...

如何在 `php-fpm` 启动后自动运行自定义命令

如何在 php-fpm 启动后自动运行自定义命令 在使用 php-fpm 时&#xff0c;有时需要在 php-fpm 启动后自动运行一些自定义命令&#xff0c;例如启动一个 Web 应用程序。本文将详细介绍如何通过 systemd 的 ExecStartPost 指令实现这一功能&#xff0c;并记录解决过程中遇到的问…...

26考研——图_图的代码实操(6)

408答疑 文章目录 五、图的代码实操图的存储邻接矩阵结构定义初始化插入顶点获取顶点位置在顶点 v1 和 v2 之间插入边获取第一个邻接顶点获取下一个邻接顶点显示图 邻接表结构定义初始化图插入顶点获取顶点位置在顶点 v1 和 v2 之间插入边获取第一个邻接顶点获取下一个邻接顶点…...

栈资源释放示例

import java.util.EmptyStackException; /** * 栈资源释放示例类 * 栈资源在编程中通常指两种概念&#xff1a;1) 内存中的调用栈空间&#xff08;存储方法调用和局部变量&#xff09;&#xff0c;由系统自动管理 * 2) 自定义的栈数据结构&#xff08;如链表实现的栈对象&…...

【Qt 01】cmake搭建Qt VS2019开发环境

文章目录 准备第一步&#xff1a;安装Qt5 库第二步&#xff1a;编写CMakeLists.txt第三步&#xff1a;编写批处理文件其他配置Qt VS Toolsqt 源码调试配置 疑问初始的.ui, .qrc文件如何生成&#xff1f; 准备 编码&#xff1a;vscode debug: vs2019 Qt vs Tools 插件 c包管理…...

余弦退火算法与学习率预热

余弦退火算法与学习率预热 总述&#xff1a; &#xff08;1&#xff09;标准余弦退火算法&#xff08;Cosine Annealing&#xff09;是通过单次的余弦曲线调整学习率&#xff0c;在一个周期内让学习率从一个最大值平滑下降η_max到最小值η_min&#xff0c;这种调整模式是非周…...

ref vs reactive,watch vs watchEffect的区别与使用场景

一、ref 与 reactive 的核心区别 使用场景 ref:处理基本数据类型&#xff1b;需要重新赋值对象&#xff08;如从api获取新数据&#xff09; reactive&#xff1a;处理复杂的嵌套对象或者数组&#xff0c;不需要整体替换&#xff0c;直接访问属性&#xff08;避免频繁写.value&…...

SQLark SQL编辑器秘籍,编写高效SQL查询

SQLark 是一款功能强大的数据库开发和管理工具&#xff0c;用于快速查询、创建和管理不同类型的数据库系统&#xff0c;支持达梦、Oracle 和 MySQL 数据库。SQLark内置的 SQL 编辑器&#xff0c;基于语法解析&#xff0c;集成智能提示、实时语法检查及语法高亮等功能&#xff0…...

LLM之RAG实战(五十二)| 如何使用混合搜索优化RAG 检索

在RAG项目中&#xff0c;大模型生成的参考内容&#xff08;专业术语称为块&#xff09;来自前一步的检索&#xff0c;检索的内容在很大程度上直接决定了生成的效果&#xff0c;因此检索对于RAG项目至关重要&#xff0c;最常用的检索方法是关键字搜索和语义搜索。本文将分别介绍…...

如何基于ios部署Deep Seek?

在 iOS 上部署深度学习模型&#xff08;如 DeepSeek 或其他自定义模型&#xff09;通常需要将模型转换为 iOS 支持的格式&#xff08;如 Core ML&#xff09;&#xff0c;并通过代码集成到应用中。以下是详细步骤&#xff1a; 1. 准备模型 模型训练 确保你的模型已训练完成&…...

spring security 使用的过滤器还是拦截器

spring security 使用的过滤器还是拦截器 Spring Security 是一个强大的安全框架&#xff0c;用于保护 Java 应用程序。它主要使用过滤器&#xff08;Filters&#xff09;来实现安全功能&#xff0c;而不是拦截器&#xff08;Interceptors&#xff09;。不过&#xff0c;它也提…...

新四化驱动,如何构建智能汽车的“全场景”可进化互联网络?

在智能化、电动化、网联化、共享化的时代浪潮中&#xff0c;汽车正从单纯的 “机械产品” 进化为先进的 “移动智能终端”。 在软件定义汽车&#xff08;SDV&#xff09;的崭新时代&#xff0c;每一次 OTA 升级的顺利完成、每一秒自动驾驶的精准决策、每一帧车载娱乐交互的流畅…...

Rust从入门到精通之进阶篇:17.宏编程基础

宏编程基础 宏是 Rust 中强大的元编程工具,允许你编写可以生成其他代码的代码。与函数不同,宏在编译时展开,可以实现更灵活的代码生成和重用模式。在本章中,我们将探索 Rust 的宏系统,包括声明宏和过程宏的基础知识。 宏与函数的区别 在深入宏编程之前,让我们先了解宏…...

MySQL基础语法

目录 一、数据定义语言&#xff08;DDL&#xff09; 1. 创建数据库 2. 删除数据库 3. 创建表 4. 删除表 5. 查看表结构 6. 修改表结构 二、数据操作语言&#xff08;DML&#xff09; 1. 插入数据 2. 更新数据 3. 删除数据 三、数据查询语言&#xff08;DQL&#xff…...

数据结构练习二习题

第七题&#xff1a; #include<bits/stdc.h> using namespace std;#define MaxSize 100 // 定义顺序表的最大长度typedef int ElemType; // 定义元素类型为inttypedef struct {ElemType data[MaxSize]; // 存储数据的数组int length; // 当前顺序表的长度…...

Flutter 中 GetX 的优缺点及常见问题解决方案

在 Flutter 生态中&#xff0c;GetX 凭借其轻量级、高效的特性&#xff0c;成为众多开发者青睐的状态管理与路由解决方案。然而&#xff0c;任何工具都有其适用场景与局限性。 一、GetX 的核心优势 1. 极简开发体验 GetX 通过响应式语法糖&#xff08;如Rx和Obx&#xff09;…...

Qt开发:QColorDialog的使用

文章目录 一、QColorDialog的基本介绍二、QColorDialog的基本用法三、完整示例 一、QColorDialog的基本介绍 QColorDialog 继承自 QDialog&#xff0c;用于让用户选择颜色。它可以以模态或非模态的方式运行&#xff0c;并支持 QColor 作为输入和输出。 二、QColorDialog的基本…...

【计算机网络编码与调制】

文章目录 一、前言二、编码与调制的基本概念1. 编码常见编码类型&#xff1a; 2. 调制常见调制类型&#xff1a; 三、常见编码技术1. NRZ编码&#xff08;Non-Return to Zero&#xff09;特点&#xff1a; 2. 曼彻斯特编码&#xff08;Manchester&#xff09;特点&#xff1a; …...

<数据集>手势识别数据集<目标检测>

数据集下载链接https://download.csdn.net/download/qq_53332949/90529961数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;10829张 标注数量(xml文件个数)&#xff1a;10829 标注数量(txt文件个数)&#xff1a;10829 标注类别数&#xff1a;26 标注类别名称&…...