视觉问答论文解析:《Skywork R1V2: Multimodal Hybrid Reinforcement Learning for Reasoning》
《Skywork R1V2: Multimodal Hybrid Reinforcement Learning for Reasoning》论文解析
一、研究背景与动机
近年来,“慢思考”多模态模型(如 OpenAI-o1、GeminiThinking、Kimi-1.5 和 Skywork-R1V)在数学和科学领域的复杂推理任务中取得了显著进展。这些模型通过模仿反思性认知过程,在数学和科学基准测试中的表现比“快思考”模型(如 GPT-4o 和 Claude3.5)高出 30%以上。然而,将慢思考策略扩展到多模态领域带来了新的挑战:在视觉推理任务(如 MMMU 和 MathVision)上表现提升的同时,通用感知基准测试(如 AI2D)上的性能却有所下降,且伴随着视觉幻觉现象的增加。如何在视觉 - 语言模型(VLMs)中有效促进慢思考行为而不损害其泛化能力成为关键问题。Skywork R1V2 应运而生,它通过直接强化学习(RL)而非教师模型蒸馏来获得多模态推理技能,并采用混合强化学习范式,结合混合偏好优化(MPO)和组相对策略优化(GRPO),以平衡推理能力和泛化能力。
二、研究方法
(一)高效多模态迁移的模块化重组
为减少对大规模多模态推理数据的依赖,Skywork R1V2 将视觉 - 语言表示的对齐与推理能力的保持解耦。具体来说,引入轻量级多层感知机(MLP)适配器(fc)来连接冻结的视觉编码器(fv)和具备推理能力的语言模型(fl)。其中,视觉编码器选用 InternViT-6B,语言模型选用 QwQ-32B。给定视觉输入 xv 和文本输入 xt,整体过程表示为 y = fl(fc(fv(xv)), xt)。与第一代 R1V 不同,R1V2 省略了监督式微调(SFT)阶段,而是采用模块化方法直接连接预训练推理语言模型与视觉适配器。实验表明,文本和视觉能力具有高度迁移性,改进某一模态可直接使另一模态受益。
(二)混合偏好优化(MPO)
MPO 是 R1V2 优化流程中的关键部分,其损失函数可表示为 L = w1Lpreference + w2Lquality + w3Lgeneration。其中,Lpreference 为 DPO 损失,用于优化正负样本之间的相对偏好;Lquality 为 BCO 损失,有助于模型理解单个响应的绝对质量;Lgeneration 为负对数似然损失(NLL),指导模型学习所选响应。MPO 策略能够将 Skywork-VL 奖励模型的偏好信号与手工规则约束相结合,使模型输出更好地符合风格偏好和事实要求。
(三)强化微调
在强化微调阶段,主要采用 GRPO 算法,并引入选择性样本缓冲(SSB)机制以增强强化学习过程的效率。
-
GRPO 算法与混合奖励信号 :GRPO 是一种策略优化算法,通过在特定查询的生成响应组内进行比较来计算逐标记优势估计。对于给定输入实例 x,行为策略 πθold 采样一批候选响应 {yi}Ni=1。第 i 个响应在时间步 t 的优势 Ai,t 通过标准化响应组内获得的奖励来确定。为减轻推理能力的“对齐税”,再次利用 Skywork-VL 奖励模型引入偏好奖励信号 rθ,补充基于规则的奖励 rrule,并加入格式奖励 rformat 以使模型输出与 DeepSeek R1 风格的聊天模板对齐。最终的混合奖励函数定义为 r(x, yi) = rrule(x, yi) + rθ(x, yi) + rformat(x, yi)。GRPO 优化目标包含一个剪切代理损失项和 KL 惩罚项,以确保策略更新的稳定性。
-
通过 SSB 解决“优势消失”问题 :直接将 GRPO 应用于 VLMs 时,会遇到“优势消失”现象,即查询组内所有响应趋向于统一正确或错误,导致相对优势信号减弱,阻碍基于梯度的策略更新。SSB 机制通过识别并缓存之前迭代中具有非零优势的高质量训练样本,并通过加权采样优先考虑这些样本,将其重新引入策略更新中,从而维持梯度密集的训练环境,提高训练效率。
三、实验
(一)实验设置
-
基准测试 :在文本推理基准测试方面,包括 AIME 2024、LiveCodebench、LiveBench、IFEVAL 和 BFCL;在多模态推理基准测试方面,包括 MMMU、MathVista、OlympiadBench、MathVision 和 MMMU-Pro。所有基准测试的最大生成长度均设置为 64K 令牌,采用统一的评估框架 LLM Judge(OpenAI-o4)进行评估,报告的性能指标为 Pass@1 分数,平均 5 次独立运行结果,以确保统计可靠性。
-
基线模型 :与包括 Claude-3.5-Sonnet、OpenAI-o4-mini、OpenAI-o1、Gemini 2 Flash 和 Kimi k1.5 longcot 等在内的多种专有模型,以及 Skywork-R1V1、InternVL3-38B、QvQ-Preview-72B、Deepseek R1 和 Qwen2.5-VL-72B-Instruct 等先进开源模型进行比较。
(二)主要结果
-
文本推理性能 :Skywork R1V2 在 AIME24 上达到 78.9%,在 LiveCodebench 上达到 63.6%,在 LiveBench 上达到 73.2%,在 IFEVAL 上达到 82.9%,在 BFCL 上达到 66.3%,相较于前代模型 R1V1 在各基准测试中均有显著提升,且在 LiveBench 和 BFCL 上优于参数规模更大的 Deepseek R1。
-
多模态推理性能 :在 MMMU 上取得 73.6%,在 MathVista 上取得 74.0%,在 OlympiadBench 上取得 62.6%,在 MathVision 上取得 49.0%,在 MMMU-Pro 上取得 52.0%,超出同类参数规模的开源模型,并在 MMMU 上超越 Qwen2.5-VL-72B 和 QvQ-Preview-72B 等更大模型。与专有模型相比,在 MMMU 基准测试中超越 Claude 3.5 Sonnet、Gemini 2 Flash 和 Kimi k1.5 longcot,在 MathVista 上与 Gemini 2 Flash 和 Kimi k1.5 longcot 竞争,缩小了与 OpenAI-o4-mini 等更大专有模型的差距。
-
通用视觉任务性能 :尽管 R1V2 专注于推理能力,但在文档理解任务上仍保持竞争力,在 AI2D 上达到 81.3%,在 ChartQA 上达到 79.0%,在 TextVQA 上达到 79.0%;在视频理解方面,VideoMME 上达到 60.2%,MVBench 上达到 61.5%,在需要时间推理的任务中表现出色,MMBench-Video 上得分为 1.92。通过 MPO 方法,幻觉率从标准 SFT 的 18.4% 降低到 8.7%,在保持合理事实准确性(RealWorldQA 上为 68.9%)的同时,在复杂推理任务上表现出色。
(三)定性分析
通过物理推理示例和数学推理示例展示了 R1V2 的推理能力。在物理推理方面,面对涉及旋转磁场和交流发电机的电磁问题,R1V2 能够正确识别交流电频率取决于磁铁的旋转速度而非线圈匝数;在数学推理方面,针对中国高考中的三维几何问题,R1V2 能够系统地分解问题、进行精确数学计算并验证解决方案的正确性。
(四)消融研究
-
选择性样本缓冲(SSB)机制的效果 :SSB 机制显著提高了模型性能,在 MMMU 上达到 73.6%(无 SSB 时为 73.4%),在保持 MathVista 强劲性能(74.0%)的同时,有效样本比例保持在 60% 以上,而无 SSB 时低于 40%,有效解决了“优势消失”问题。
-
SFT 与 MPO 与混合方法的比较 :MPO 在减少事实错误方面表现出色,幻觉率仅为 8.7%,在复杂数学推理任务上,MPO 在 AIME 2024 上达到 79.0%,在 OlympiadBench 上达到 60.6%,显著优于 SFT。混合方法(MPO+GRPO)进一步提高了泛化能力,在 OlympiadBench 上达到 62.6%,在 AIME 2024 上接近最优性能(78.9%),成功平衡了推理能力与泛化能力。
-
组件激活配置分析 :仅激活适配器的训练方式在所有基准测试中均取得了最佳结果,而激活语言模型(LLM)+ 适配器或适配器 + 视觉编码器的配置性能较低,表明主要收益来自改善视觉特征与语言处理之间的对齐,而非增强视觉编码本身。
-
MPO 阈值分析 :较高的阈值(如 15)相较于较低阈值(如 7)可使训练动态更稳定,模型在较少迭代次数下取得更好最终性能。较低阈值会出现初始性能提升随后下降的现象,而较高阈值能保持更一致的性能,这与奖励黑客现象观察结果一致。
四、结论与未来工作
Skywork R1V2 通过结合 GRPO、SSB 和 MPO 的混合强化学习方法,在多个推理和视觉基准测试中取得显著进步,为开源多模态模型设立了新标准。MPO 借助 Skywork-VL 奖励模型增强了 R1V 模型的对齐,有效减少了重复推理,同时保持了稳健的泛化能力;SSB 通过战略性保留具有明显优势信号的高质量示例,实现了稳定的策略更新。研究发现推理能力和视觉幻觉之间存在重要权衡,凸显了强化学习过程中精心校准奖励的必要性。未来工作将探索视觉与文本模态之间更复杂的集成机制,进一步细化推理与泛化之间的平衡,并将混合强化学习方法扩展到其他领域和模态。
相关文章:
视觉问答论文解析:《Skywork R1V2: Multimodal Hybrid Reinforcement Learning for Reasoning》
《Skywork R1V2: Multimodal Hybrid Reinforcement Learning for Reasoning》论文解析 一、研究背景与动机 近年来,“慢思考”多模态模型(如 OpenAI-o1、GeminiThinking、Kimi-1.5 和 Skywork-R1V)在数学和科学领域的复杂推理任务中取得了显…...
修改linux账号名
修改linux账号名 结论是步骤1.临时创建一个辅助账户执行操作2.注销当前账户,登录 tempadmin 用户。3.使用它修改 旧用户名olduser:4.(可选)删除临时用户: 结论是 不可以直接修改,要么需要创建一个临时用户来打辅助. …...
计算机图形学:(二)MVP变换示例
前言 当在阅读计算机图形学系列的书籍时,会发现大部分图书每章内容都如出一辙。从个人实际体会来讲,虽然能理解书中大部分的知识,但到了实际使用时却有点抓耳挠腮。因此,在写了计算机图形学:(一)…...
PostgreSQL中的SSL(2)
PGSQL数据库的默认隔离级别是读提交,并且同时支持可重复读和序列化模式。但是在9.1之前的版本中,序列化模式是采用快照隔离来实现,并非是真正的序列化模式。 这样的话就会存在一个问题,那就是写偏序(Write Skew&#…...
Linux 部署以paddle Serving 的方式部署 PaddleOCR CPU版本
强烈建议您在Docker内构建Paddle Serving,更多镜像请查看Docker镜像列表。 提示-1:Paddle Serving项目仅支持Python3.6/3.7/3.8/3.9,接下来所有的与Python/Pip相关的操作都需要选择正确的Python版本。 提示-2:以下示例中GPU环境均…...
苏德战争前期苏联损失惨重(马井堂)
苏德战争前期(1941年6月22日德国发动“巴巴罗萨行动”至1941年底至1942年初)是苏联在二战中损失最惨重的阶段之一。以下是主要方面的损失概述: 一、军事损失 人员伤亡与俘虏 至1941年底,苏军伤亡约300万人ÿ…...
SI5338-EVB Usage Guide(LVPECL、LVDS、HCSL、CMOS、SSTL、HSTL)
目录 1. 简介 1.1 EVB 介绍 1.2 Si5338 Block Diagram 2. EVB 详解 2.1 实物图 2.2 基本配置 2.2.1 Universal Pin 2.2.2 IIC I/F 2.2.3 Input Clocks 2.2.4 Output Frequencies 2.2.5 Output Driver 2.2.6 Freq and Phase Offset 2.2.7 Spread Spectrum 2.2.8 快…...
LeetCode LCP40 心算挑战题解
看似一道简单的题目,实则不然,没有看评论的话,实在想不出来怎么写。 现在则由我来转述思想供大家参考理解,还是先给出示例,供大家更好的理解这个题目。 输入:cards [1,2,8,9], cnt 3输出:18解…...
Smart Link+Monitor Link组网
1.技术背景及原理 一般情况下,Smart Link只能感知与其接口直连的链路故障。将Monitor Link配置在Smart Link的上游设备上,可使Smart Link迅速感知上游链路故障,进行链路切换。Smart Link与Monitor Link配合使用,扩大了Smart Link…...
【计算机网络】TCP(传输控制协议)套接字,多线程远程执行命令编程
📚 博主的专栏 🐧 Linux | 🖥️ C | 📊 数据结构 | 💡C 算法 | 🅒 C 语言 | 🌐 计算机网络 上篇文章:UDP套接字编程(英汉字典以及多线程聊天室编写)…...
PostgreSQL 中 VACUUM FULL 对索引的影响
PostgreSQL 中 VACUUM FULL 对索引的影响 是的,VACUUM FULL 会重建表上的所有索引。这是它与普通 VACUUM 命令的一个重要区别。 一、VACUUM FULL 的工作原理 表重建过程: 创建表的全新副本只将有效数据写入新存储删除原始表文件将新文件重命名为原表名…...
DeepSeek本地部署及WebUI可视化完全指南
以下是为您整理的DeepSeek本地部署及WebUI可视化完全指南,整合了官方文档及社区实践的最佳方案: 一、环境准备 1. 硬件需求 CPU:推荐支持AVX2指令集的Intel i7或AMD Ryzen 7及以上处理器 。 GPU(可选但推荐)…...
大模型时代的新燃料:大规模拟真多风格语音合成数据集
以大模型技术为核心驱动力的人工智能变革浪潮中,语音交互领域正迎来广阔的成长空间,应用场景持续拓宽与延伸。 其中,数据作为驱动语音大模型进化的关键要素,重要性愈发凸显。丰富多样的高质量数据能够让语音大模型充分学习到语音…...
单体项目到微服务的架构演变与K8s发展是否会代替微服务
单体项目到微服务的架构演变与K8s发展是否会代替微服务 在互联网大厂Java求职者的面试中,经常会被问到关于单体项目到微服务的架构演变以及Kubernetes(k8s)的发展是否会代替微服务的相关问题。本文通过一个故事场景来展示这些问题的实际解决…...
AI驱动的决策智能系统(AIDP)和自然语言交互式分析
在当今快速变化的商业环境中,以下几个企业级系统领域最有可能成为新的热点,其驱动力来自数字化转型加速、AI技术爆发、全球化协同需求以及ESG(环境、社会、治理)合规压力的叠加 1. AI驱动的决策智能系统(AIDP…...
kubernetes》》k8s》》Service 、Ingress 区别
K8S>>Service 资料 K8S >>Ingress 资料 Ingress VS Service 物理层数据链路层网络层传输层会话层表示层应用层 Ingress是一种用于暴露HTTP和HTTPS路由的资源,它提供了七层(应用层)的负载均衡功能。Ingress可以根据主机名、…...
全面接入!Qwen3现已上线千帆
百度智能云千帆正式上线通义千问团队开源的最新一代Qwen3系列模型,包括旗舰级MoE模型Qwen3-235B-A22B、轻量级MoE模型Qwen3-30B-A3B。千帆大模型平台开源模型进一步扩充,以多维开放的模型服务、全栈模型开发、应用开发工具链、多模态数据治理及安全的能力…...
Python-日志检测异常行为的详细技术方案
以下是根据行为日志检测异常行为的详细技术方案,涵盖数据收集、特征工程、模型选择、部署与优化的全流程: 1. 数据收集与预处理 1.1 数据来源 行为日志通常包括以下类型: 用户行为日志:点击、登录、交易、页面停留时间等。系统…...
DeepSeek-Prover-V2-671B最新体验地址:Prover版仅适合解决专业数学证明问题
DeepSeek-Prover-V2-671B最新体验地址:Prover版仅适合解决专业数学证明问题 DeepSeek 团队于 2025 年 4 月 30 日正式在Hugging Face开源了其重量级新作 —— DeepSeek-Prover-V2-671B,这是一款专为解决数学定理证明和形式化推理任务而设计的超大规模语…...
Java写数据结构:队列
1.概念: 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out) 入队列:进行插入操作的一端称为队尾(Tail/Rear) 出队列…...
LeetCode 2905 找出满足差值条件的下标II 题解
示例 nums [8, 3, 12, 5, 1, 10, 7, 13] indexDifference 3 valueDifference 6答案 [maxIdx, j] [0, 4]我的思路是直接枚举写,但这题是中等题,一定不会让你好过的,所以也是喜提了超时,先说一下我的做题思路吧。 其实很简单就…...
【思考】欧洲大停电分析
当地时间4月28日中午,西班牙和葡萄牙发生了大规模停电事故,两国多个地区的电力供应中断,波及超过5000万伊比利亚半岛民众,交通、通信、医疗等关键领域受到影响,马德里网球公开赛因停电被迫暂停,周边法国、意…...
[论文精读]Agent综述—— A survey on large language model based autonomous agents
A survey on large language model based autonomous agents ⏲️年份: 2024 👀期刊: Frontiers of Computer Science 🌱影响因子:3.4 📚数字对象唯一标识符DOl: 10.1007/s11704-024-40231-1 🤵作者: Wang Lei,Ma Chen,Feng X…...
金融风控的“天眼”:遥感技术的创新应用
在金融市场的复杂博弈中,风险管控一直是金融机构的核心竞争力。然而,传统的风控手段在应对现代金融市场的快速变化时,往往显得捉襟见肘。 如今,遥感技术的创新应用为金融风控带来了全新的视角和手段。星图云开放平台的遥感金融立体…...
SpringMVC知识点总结(速查速记)
文章目录 前言1、MVC是什么2、SpringMVC是什么3、SpringMVC请求流程 && 环境搭建3.1 SpringMVC请求流程3.2 搭建环境3.2.1开发环境3.2.2 环境配置步骤 4. url地址映射 && 参数绑定4.1 url地址映射之RequestMapping①、映射单个url②、映射多个url③、映射url到…...
配置 Odoo 的 PostgreSQL 数据库以允许远程访问的步骤
1. 修改 PostgreSQL 配置文件 a. 修改 postgresql.conf 找到 PostgreSQL 的主配置文件 postgresql.conf,通常位于 /etc/postgresql/<版本号>/main/ 目录下。修改 listen_addresses 项的值为 *,表示允许来自任何 IP 地址的连接: sudo…...
涨薪技术|0到1学会性能测试第42课-apache监控与调优
前面的推文我们学习了操作系统性能监控与调优知识,如CPU、内存、磁盘、网络监控等,今天开始分享中间件apache监控与调优知识,后续文章都会系统分享干货,带大家从0到1学会性能测试! Apache是世界上使用最多的web服务器软件一种,它可以运行在几乎所有广泛使用的计算机平台上…...
【学习笔记】Shell编程--Bash变量
变量类型说明环境变量 与Shell的执行环境相关的一些变量。如PATH,HOME等,用户可重新定义。 一、环境变量的创建:export, export ABCD2 二、环境变量的查看 使用echo命令查看单个环境变量。如: echo $PATH 使用printenv…...
SpringBoot+Redis全局唯一ID生成器
📦 优雅版 Redis ID 生成器工具类 支持: 项目启动时自动初始化起始值获取自增 ID 方法yml 配置化起始值可灵活扩展多业务线 ID 📌 application.yml 配置 id-generator:member-start-value: 1000000000📌 配置类:IdG…...
micro-app前端微服务原理解析
一、核心设计思想 基于 WebComponents 的组件化渲染 micro-app 借鉴 WebComponents 的 CustomElement 和 ShadowDom 特性,将子应用封装为类似 WebComponent 的自定义标签(如 <micro-app>)。通过 ShadowDom 的天然隔离机制,实…...
大连理工大学选修课——机器学习笔记(7):集成学习及随机森林
集成学习及随机森林 集成学习概述 泛化能力的局限 每种学习模型的能力都有其上限 限制于特定结构受限于训练样本的质量和规模 如何再提高泛化能力? 研究新结构扩大训练规模 提升模型的泛化能力 创造性思路 组合多个学习模型 集成学习 集成学习不是特定的…...
[特殊字符] Spring Cloud 微服务配置统一管理:基于 Nacos 的最佳实践详解
在微服务架构中,配置文件众多、管理复杂是常见问题。本文将手把手演示如何将配置集中托管到 Nacos,并在 Spring Cloud Alibaba 项目中实现统一配置管理 自动刷新机制。 一、为什么要使用 Nacos 统一配置? 传统方式下,每个服务都…...
【mysql】执行过程,背诵版
sql执行再mysql的执行过程 1. 建立连接 sql通过tcp/ip发送到服务器服务器检查用户名,密码,权限创建线程处理连接 如果是sql8.0之前,select会先从缓存中查找,命中则返回,由于表结构变更会导致缓存失效,已废…...
[Survey] Image Segmentation in Foundation Model Era: A Survey
BaseInfo TitleImage Segmentation in Foundation Model Era: A SurveyAdresshttps://arxiv.org/pdf/2408.12957Journal/Time-Author北理工、上交、浙大 CCAI 、瑞士苏黎世联邦理工学院、德国慕尼黑工业大学Codehttps://github.com/stanley-313/ImageSegFM-Survey 1. Introdu…...
关于杰理ac791切换版本, git clone下来仍然是最新版本问题
在git clone 之后,在本地切换分支 常规流程:git clone →git branch →git branch -a → git checkout 分支名...
生成项目.gitignore文件的多种高效方式
在使用 Git 进行版本控制时,.gitignore 文件是不可或缺的配置文件。它可以帮助我们指定哪些文件或目录不需要被 Git 跟踪,从而避免将不必要的文件(如临时文件、编译生成的文件等)提交到仓库中。这篇文章将介绍几种生成 .gitignore…...
2025年“深圳杯”数学建模挑战赛D题-法医物证多人身份鉴定问题
法医物证多人身份鉴定问题 小驴数模 犯罪现场法医物证鉴定是关系到国家安全、公共安全、人民生命财产安全和社会稳定的重大问题。目前法医物证鉴定依赖DNA分析技术不断提升。DNA检验的核心是STR(Short Tandem Repeat,短串联重复序列)分析技术…...
嵌入式开发高频面试题全解析:从基础编程到内存操作核心知识点实战
一、数组操作:3x3 数组的对角和、偶数和、奇数和 题目 求 3x3 数组的对角元素和、偶数元素和、奇数元素和。 知识点 数组遍历:通过双重循环访问数组的每个元素,外层循环控制行,内层循环控制列。对角元素判断: 主对…...
JAVA SE 反射,枚举与lambda表达式
文章目录 📕1. 反射✏️1.1 反射相关的类✏️1.2 Class类中的相关方法✏️1.3 Field类中的相关方法✏️1.4 Method类中的相关方法✏️1.5 Constructor类中的相关方法✏️1.6 获取Class对象的三种方式✏️1.7 反射的使用 📕2. 枚举2.1 枚举的定义✏️2.2 …...
每日算法-250430
每日算法 - 2025年4月30日 记录下今天解决的两道题目。 870. 优势洗牌 (Advantage Shuffle) 题目描述 解题思路与方法 核心思想:贪心策略 (田忌赛马) 这道题的目标是对于 nums1 中的每个元素,找到 nums2 中一个比它小的元素进行配对(如果…...
MacOS 安装 cocoapods
MacOS 安装 cocoapods 下面使用 HomeBrew 安装 cocoapods 一、检测 HomeBrew 是否安装 打开终端执行命令 brew -v #如果安装,输出如 Homebrew 4.5.0如果未安装 Mac HomeBrew安装 二、检测 ruby 是否安装 系统一般自带了 ruby 但是这个升级有些麻烦,我…...
MATLAB绘制饼图(二维/三维)
在数据分析与展示领域,饼图是一种直观且高效的可视化工具,能够在瞬间传递各部分与整体的比例关系。今天,我将分享一段 MATLAB 绘制二维及三维饼图的代码,助你轻松将数据以饼图形式呈现于众人眼前。 无论是二维饼图的简洁明了&…...
python将字符串转成二进制数组
python将字符串转成二进制数组 功能概述: save_binary_to_json() 函数:将字符串转换为二进制数据(字节的整数表示),并保存到JSON文件中。 load_binary_from_json() 函数:从JSON文件中读取二进制数据并还原…...
防止HTTPS页面通过<iframe>标签嵌入HTTP内容
防止HTTPS页面通过<iframe>标签嵌入HTTP内容 出于安全考虑,现代浏览器实施了严格的规则来防止HTTPS页面通过<iframe>标签嵌入HTTP内容。这种行为主要是为了防止所谓的“混合内容”问题,即在一个安全(加密)的页面中…...
windows 使用websocket++ (C++环境)
一、简介 websocket官方网址:http://websocket.org/ websocketpp官方网址:https://www.zaphoyd.com/websocketpp websocketpp使用手册:https://www.zaphoyd.com/websocketpp/manual/ websocketpp 是 C 的 WebSocket 客户端/服务器库. 它是…...
无水印短视频素材下载网站有哪些?十个高清无水印视频素材网站分享
你知道怎么下载无水印视频素材吗?今天小编就给大家推荐十个高清无水印视频素材下载的网站,如果你也是苦于下载高清无水印的短视频素材,赶紧来看看吧~ 1. 稻虎网 首推的是稻虎网。这个网站简直就是短视频创作者的宝库。无论你需要…...
【dify—5】Dify关联Ollama
目录 一、修改.env文件 二、启动dify 三、访问dify 四、设置关联 五、添加模型插件 5.1 添加模型 5.2 配置信息编辑 第一部分 安装difydocker教程:【difydocker安装教程】-CSDN博客 第二部分 dock重装教程: 【dify—2】docker重装-CSDN博客 第三…...
PostgreSQL可串行化快照隔离和冻结处理
1.可串行化快照隔离 可串行化快照隔离SSI已经嵌入到快照隔离SI中,以实现真正的可串行化隔离等级。 SSI实现基本策略 使用SIREDA锁记录事务访问的所有对象(元组,页面,关系)。 当写入任何堆元组/索引元组时ÿ…...
Java 多线程进阶:什么是线程安全?
在多线程编程中,“线程安全”是一个非常重要但又常被误解的概念。尤其对于刚接触多线程的人来说,不理解线程安全的本质,容易写出“偶尔出错”的代码——这类 bug 往往隐蔽且难以复现。 本文将用尽可能通俗的语言,从三个角度解释线…...
Java导出带图片的Excel
使用easypoi导出带图片的Excel, 引入依赖 依赖中着重要剔除可能会造成冲突的依赖,不剔除的话可能会报错 Exception in thread “main” java.lang.NoSuchFieldError: Class org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook does not …...