读一篇AI论文并理解——通过幻觉诱导优化缓解大型视觉语言模型中的幻觉

目录
论文介绍
标题
作者
Publish
Date Time
PDF文章下载地址
文章理解分析
📄 中文摘要:《通过幻觉诱导优化缓解大型视觉语言模型中的幻觉》
🧠 论文核心动机
🚀 创新方法:HIO(Hallucination-Induced Optimization)
1. 📊 理论分析支持(Contrast Decoding的充分条件)
第一部分:
第二部分(是上面那个式子的变形):
补充:
关键点:
2. 🧩 反向偏好模型 CBTM(Contrary Bradley-Terry Model)
3. 🧠 多重幻觉诱导 AMTH(Amplification of Multiple Targeted Hallucination)
4. 🧮 附加约束 ACI(Advanced Constraints for Inducing)
🧪 实验效果
1. POPE(Polling-based Object Probing Evaluation)
2. CHAIR(用于评估图像描述中的幻觉)
3. MME(综合评估多模态能力)
📈 消融实验(Ablation Study)
📌 交流建议
论文介绍
标题
Alleviating Hallucinations in Large Vision-Language Models through Hallucination-Induced Optimization
中文释义:通过幻觉诱导优化缓解大型视觉语言模型中的幻觉
作者
Beitao Chen, Xinyu Lyu, Lianli Gao, Jingkuan Song, Heng Tao Shen
西南财经大学吕新昱副教授为该论文的第一作者,合作作者包括电子科技大学高联丽教授、同济大学宋井宽教授与欧洲科学院院士、IEEE Fellow申恒涛教授。
Publish
10 pages. arXiv admin note: text overlap with arXiv:2311.16922 by other authors
Date Time
2024-05-24
PDF文章下载地址
2405.15356v1
https://arxiv.org/pdf/2405.15356v1
摘要:
虽然大型视觉语言模型(LVLM)在理解多模态数据方面表现出了卓越的能力,但它们总是会出现幻觉,导致生成的文本与相应的图像脱节。目前几乎所有的视觉对比解码方法都试图通过引入视觉不确定性信息来缓解这些幻觉,从而适当扩大幻觉与目标之间的对比对数差距。然而,由于全局视觉不确定性的不可控性,这些方法很难精确地诱导出幻觉标记,这严重限制了它们缓解幻觉的效果,甚至可能导致产生不希望出现的幻觉。为了解决这个问题,我们进行了理论分析,以促进对比解码的有效性。在此基础上,我们引入了一种名为 “幻觉诱导优化”(HIO)的新型优化策略。该策略旨在依靠微调的理论偏好模型(即相反布拉德利-特里模型)放大幻觉标记与目标标记之间的对比度,从而促进高效的对比度解码,减轻 LVLMs 中的幻觉。广泛的实验研究表明,我们的 HIO 策略可以有效减少 LVLM 中的幻觉,在各种基准测试中均优于最先进的方法。
文章理解分析
📄 中文摘要:《通过幻觉诱导优化缓解大型视觉语言模型中的幻觉》
近年来,大型视觉语言模型(Large Vision-Language Models,简称LVLMs)在多模态理解与生成任务中展现出卓越的能力,但“幻觉”问题仍然严重:模型在图文生成中产生与图像实际内容不符的信息(如臆造物体、错误关系等),对实际应用造成严重困扰。
本文聚焦于缓解LVLM中的幻觉问题,提出了一种全新的优化策略:幻觉诱导优化(Hallucination-Induced Optimization,简称HIO),以提高模型在生成过程中对幻觉内容的识别与抑制能力。
具体来说,HIO方法包含以下三个核心组成:
-
CBTM(反向Bradley-Terry偏好模型):不同于以往强调“偏好真实输出”的优化策略,CBTM通过诱导模型“偏好幻觉输出”,训练出一个“幻觉增强模型”,为后续对比提供参考基准。
-
AMTH(多重幻觉放大机制):同时优化多个潜在幻觉token,而不仅限于单个词汇,提高模型对多种幻觉类型的识别能力。
-
ACI(高级约束机制):在损失函数中引入更强的对比约束,使幻觉与真实token的logits差距进一步扩大,从而增强模型的辨别力。
在多个基准数据集(如POPE、CHAIR、MME)上的实验表明,HIO显著减少了幻觉的发生率,并在准确率、F1分数和CHAIR指标上全面超越现有主流方法。
本研究不仅在理论上分析了对比解码的有效性条件,还从实践角度出发,提出具备可推广性的解法,推动了LVLM可信生成技术的发展。
🧠 论文核心动机
尽管 LVLMs(比如 GPT-4V、MiniGPT-4)在处理多模态任务中表现卓越,但它们经常会“看图说错话”,比如图里根本没有桌子,它却说“图中有一张桌子”,这种偏离图像真实信息的生成现象就叫做幻觉(hallucination)。
以往的研究多数使用视觉对比解码(Visual Contrastive Decoding, VCD),通过给图像加扰动来诱导模型产生幻觉,然后再对比两种输出,试图减小幻觉。但这些方法由于无法精准控制幻觉内容,导致效果有限,甚至还可能引入新的幻觉。
🧮 老方法:常规、VCD和VDD
1. 常规(Regular Decoding)
✅ 定义:
就是普通的解码方式,不做任何对比优化,也不引入幻觉干扰。
📦 实现方式通常是:
-
Greedy decoding(贪婪解码)
-
Beam Search(束搜索)
-
Sampling(随机采样)
🧠 问题:
-
没有任何防幻觉机制;
-
很容易凭空“捏造”图像中不存在的内容。
🔹 2. VCD(Visual Contrastive Decoding)
✅ 定义:
一种在2023年被提出的对比解码策略,全称为 视觉对比解码。
📦 核心思路:
-
给图像 添加噪声(比如高斯模糊、遮挡)得到扰动图像
;
-
分别用原图 v 和扰动图
解码,得到两个 logits;
-
构造一个对比分数:
-
放大正确输出和幻觉输出之间的差距。
❗ 局限:
-
噪声注入是全局且不可控的,诱导出来的幻觉不一定精准;
-
可能“诱导失败”或误伤正确词。
🔹 3. VDD(Visual Debias Decoding)
✅ 定义:
视觉去偏解码,是比VCD更进一步的改进方法。
📦 核心思想:
-
不仅加入扰动图像,还引入视觉偏差建模(image bias);
-
尝试识别图像中容易引发幻觉的视觉区域,并在解码时进行“视觉偏置剔除”;
-
本质上是“视觉注意力重构”。
💡 举个例子:
-
模型看到一个模糊的盘子,可能会错认成“蛋糕”;
-
VDD会判断“模糊盘子”是幻觉风险点,并在解码时抑制它。
❗ 局限:
-
模型需要专门设计视觉偏置识别模块,训练成本较高;
-
对新图像分布不一定鲁棒。
✅ 总结对比表:
| 方法 | 是否使用图像扰动 | 是否考虑偏置 | 幻觉抑制策略 | 是否可控 |
|---|---|---|---|---|
| Regular | 否 | 否 | 无 | ✗ |
| VCD | 是(高斯噪声) | 否 | logits对比 | ✗(不可控) |
| VDD | 是 | 是 | 减少视觉偏置 | ✗(复杂,依赖偏置建模) |
| HIO | 是(自动诱导) | 间接考虑 | CBTM + AMTH + ACI 精准诱导并优化 | ✅(可控、可训练) |
🧠 你可以怎么讲?
在论文中,作者将提出的 HIO 方法与三种代表性baseline进行对比:常规解码完全不处理幻觉,VCD试图通过扰动图像构造对比,但无法精准诱导;而VDD加入视觉偏置识别,复杂但仍无法显式控制幻觉token。相比之下,HIO利用反向偏好学习精确诱导幻觉,再通过对比放大与目标的差距,实现了有理论支持、可控、鲁棒的解码策略。
🚀 创新方法:HIO(Hallucination-Induced Optimization)
作者提出一种全新的策略叫 幻觉诱导优化 HIO,目标是更有效地区分幻觉和正确内容,从而减少模型生成幻觉的倾向。HIO 的核心思想包括以下三大创新点:
1. 📊 理论分析支持(Contrast Decoding的充分条件)
作者从数学上分析了 contrast decoding 何时能够真正减缓幻觉,并提出一个对数差异约束条件(见公式17),为后续优化打下理论基础。
公式17包含了两个式子如下:
第一部分:
-
m:表示幻觉 token 的数量(比如有3个词可能是幻觉)
-
:目标 token 的原始 logits(比如图像里“确实有”人的那个词的分数)
-
:目标 token 的理想 logits(经过优化后我们希望它达到的值)
-
:幻觉 token 的原始 logits(比如模型说“图里有桌子”,而图里其实没有桌子)
-
:幻觉 token 的理想 logits(我们希望被压低的值)
-
:一个调节对比放大的系数
这部分的意思是:
把目标词的 logit 放大,再减去所有幻觉词放大后的 logit 总和,希望这个差值是正的。
如果这个不等式成立,说明“正确词”的分数高,幻觉词的分数低,就不会产生幻觉了。
第二部分(是上面那个式子的变形):
对于J的解释:
-
左边:是“所有幻觉词的理想分数”比“目标词的理想分数”高多少
👉 越大越好,表示我们成功地诱导出了幻觉 -
右边:是用原始 logits 算出来的一个“阈值 J”
👉 表示要放大幻觉词和目标词之间的差距,至少要大于这个阈值
这里公式17想要表达的其实就是,想让对比解码真的消除幻觉,幻觉词和目标词之间的得分差距必须够大,而且这个差距不光要靠模型自己算出来,还要借助我们设计的放大策略(也就是 HIO 的关键逻辑)。
补充:
第一部分推导出第二部分

关键点:
-
物理意义:公式17表明,只有当所有幻觉标记与目标标记的logits差异之和超过阈值J时,对比解码才能有效抑制幻觉。
-
HIO的作用:通过优化策略(CBTM+AMTH+ACI)直接增大左侧的logits差异,使条件更易满足。
2. 🧩 反向偏好模型 CBTM(Contrary Bradley-Terry Model)
-
原 BT 模型用于训练模型“更喜欢正确的输出”;
-
CBTM 反其道而行之,专门训练一个“邪恶的模型”去放大幻觉;
-
这个“幻觉模型”配合原模型可以实现强对比性解码,放大幻觉和正确输出之间的概率差异,从而更好地区分两者。
3. 🧠 多重幻觉诱导 AMTH(Amplification of Multiple Targeted Hallucination)
-
不止优化单个幻觉 token,而是同时优化多个潜在幻觉词;
-
利用一个轻量级策略,自动发现模型输出中最有可能是幻觉的词,并进行放大。
4. 🧮 附加约束 ACI(Advanced Constraints for Inducing)
-
对幻觉 token 和目标 token 的 logit 差异再添加一个强约束项,让训练过程更具“指向性”。
🧪 实验效果
论文在三个主流 Benchmark(基准测试是用来评估模型性能的标准测试集或测试任务)上进行了验证,结果很亮眼:
1. POPE(Polling-based Object Probing Evaluation)
-
在所有设置中,HIO 的精度、召回率、F1 分数均优于VCD、VDD等现有方法。
2. CHAIR(用于评估图像描述中的幻觉)
-
HIO 在 CHAIRs 指标(越低越好)上比VCD低了 7.2%,说明产生的幻觉更少。
3. MME(综合评估多模态能力)
-
在 Existence(存在性)、Count(数量)、Position(位置)等子任务上,HIO 表现最好,展示了其在多维度对抗幻觉的能力。
📈 消融实验(Ablation Study)
论文还逐步拆解了 HIO 各个组成部分的贡献:
| 实验版本 | 使用 CBTM | 使用 AMTH | 使用 ACI | CHAIRs↓ | Recall↑ |
|---|---|---|---|---|---|
| baseline | ✗ | ✗ | ✗ | 33.4 | 81.1 |
| 版本2 | ✔ | ✗ | ✗ | 18.6 | 79.9 |
| 版本3 | ✔ | ✔ | ✗ | 14.2 | 80.5 |
| 完整HIO | ✔ | ✔ | ✔ | 11.2 | 81.3 |
可见三部分配合才能达到最优效果。
📌 可能的问题
-
问题背景: 提到 LVLM 幻觉现象严重,现有方法如 VCD 存在哪些局限。
-
创新点: 强调 HIO 的“诱导式优化”策略,尤其是 CBTM 和 AMTH 的组合。
-
理论支撑: 可以说你特别关注论文中对 contrast decoding 的数学推导部分,体现你对基础理论也有理解。
-
结果表现: HIO在多个benchmark显著优于已有方法,说明其泛化性强。
-------------------------------论文整体逻辑梳理-------------------------------
完整论述结构:8个部分讲清楚论文全貌
1. 研究背景:LVLM 幻觉问题严重
-
LVLM(如GPT-4V)具备强大的图文理解能力,但在生成图像描述、问答等任务中会凭空捏造不存在的信息,被称为“幻觉”(Hallucination)。
-
例如:“图中有一把叉子”,但实际图中没有 —— 这类现象影响模型的可靠性。
2. 已有方法及其局限:VCD效果有限
-
主流方法如 视觉对比解码(Visual Contrastive Decoding, VCD):通过给图像加噪声,激发幻觉,再对比两次输出,尝试消除幻觉。
-
问题是:
-
诱导过程不可控,容易引入新幻觉;
-
只能处理单一幻觉token,识别粒度有限。
-
3. 论文目标:提出HIO策略,精准缓解幻觉
提出一种新的“诱导再优化”策略 ——
幻觉诱导优化(Hallucination-Induced Optimization, HIO)
目标是:
-
让模型学会“如何产生幻觉”;
-
再借此“放大幻觉与真实之间的差异”,提升对比解码效果。
4. 核心方法结构:HIO 三部曲
HIO由三大模块组成:
🔹 1)CBTM(反向偏好模型)
-
基于Bradley-Terry模型,引导模型“喜欢”幻觉输出(与以往抑制幻觉不同)。
-
用作“对比的反例”,帮助原模型放大正确输出与幻觉输出的差异。
🔹 2)AMTH(多重幻觉放大)
-
一次优化多个幻觉词(而非一个),更全面地训练模型识别幻觉。
🔹 3)ACI(附加对比约束)
-
加强 loss 中对logits差值的约束,确保正确词始终优于幻觉词。
5. 理论支撑:对比解码有效的数学条件(公式17)
-
提出并推导出对比解码成功的充分条件:表示必须充分放大幻觉词与目标词之间的 logits 差值,才能真正消除幻觉。
6. 实验设计:三大Benchmark验证效果
在以下任务中与SOTA方法比较:
| Benchmark | 用途 | HIO表现 |
|---|---|---|
| POPE | 对象存在性识别 | 精度、F1显著优于VCD、VDD |
| CHAIR | 图像描述幻觉检测 | 幻觉词更少(CHAIRs降7.2%) |
| MME | 多模态综合评估 | Existence、Count、Color等全面领先 |
7. 消融实验:验证每一模块的作用
| 模块组合 | CHAIRS↓ | Recall↑ |
|---|---|---|
| 无任何模块 | 33.4 | 81.1 |
| +CBTM | 18.6 | 79.9 |
| +CBTM+AMTH | 14.2 | 80.5 |
| 全部模块(HIO) | 11.2 | 81.3 |
说明每个模块都对减缓幻觉起关键作用。
8. 总结与展望
-
总结: 本文从理论和实践出发,首次通过“幻觉诱导”来优化对比解码,系统性地解决了LVLM幻觉问题,提升了鲁棒性。
-
展望:
-
后续可以探索训练-free版本,降低资源成本;
-
探索HIO在其他任务如多模态问答、医疗图像理解中的迁移应用。
-
相关文章:
读一篇AI论文并理解——通过幻觉诱导优化缓解大型视觉语言模型中的幻觉
目录 论文介绍 标题 作者 Publish Date Time PDF文章下载地址 文章理解分析 📄 中文摘要:《通过幻觉诱导优化缓解大型视觉语言模型中的幻觉》 🧠 论文核心动机 🚀 创新方法:HIO(Hallucination-In…...
Linux与Anaconda环境部署与管理(运维交接)
文章目录 一、前言二、Linux基础命令三、进程管理与监控四、后台任务与服务管理五、Anaconda环境管理六、JAR包的运行与管理七、网络与端口映射八、安全与权限管理九、故障排查与日志分析十、附录 一、前言 本文将详细介绍Linux系统下的常用命令以及Anaconda环境管理ÿ…...
IOT项目——物联网 GPS
GeoLinker - 物联网 GPS 可视化工具 项目来源制作引导 项目来源 [视频链接] https://youtu.be/vi_cIuxDpcA?sigMaOKv681bAirQF8 想要在任何地方追踪任何东西吗?在本视频中,我们将向您展示如何使用 ESP32 和 Neo-6M GPS 模块构建 GPS 跟踪器——这是一…...
Java学习手册:HTTP 协议基础知识
一、HTTP 协议概述 HTTP(HyperText Transfer Protocol)即超文本传输协议,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传输协议。它是一个应用层协议,基于请求-响应模型…...
【含文档+PPT+源码】基于微信小程序的健康饮食食谱推荐平台的设计与实现
课程目标: 教你从零开始部署运行项目,学习环境搭建、项目导入及部署,含项目源码、文档、数据库、软件等资料 课程简介: 本课程演示的是一款基于微信小程序的健康饮食食谱推荐平台的设计与实现,主要针对计算机相关专…...
Redis 慢查询分析与优化
Redis 慢查询分析与优化 参考书籍 : https://weread.qq.com/web/reader/d5432be0813ab98b6g0133f5kd8232f00235d82c8d161fb2 以下从配置参数、耗时细分、分析工具、优化策略四个维度深入解析 Redis 慢查询问题,结合实战调优建议,帮助开发者…...
使用达梦官方管理工具SQLark快速生成数据库ER图并导出
在数据库设计与开发中,实体-关系图(ER 图)作为数据建模的核心工具,能够直观呈现表结构、字段属性及表间关系,是团队沟通和文档维护的重要工具。然而,许多开发者在实际工作中常面临一个痛点:手动…...
鸿蒙NEXT开发定位工具类 (WGS-84坐标系)(ArkTs)
import geoLocationManager from ohos.geoLocationManager; import { BusinessError, Callback } from ohos.base; import { LogUtil } from ./LogUtil; import { PermissionUtil } from ./PermissionUtil; import { map, mapCommon } from kit.MapKit; /*** 定位工具类 (WGS-8…...
模型 替罪羊效应
系列文章分享模型,了解更多👉 模型_思维模型目录。转嫁罪责于无辜,维系群体控制与稳定 1 替罪羊效应的应用 1.1 多品牌危机中的行业“背锅侠” 行业背景:食品行业爆发大规模安全危机,多家企业卷入某类食品重金属超标…...
TapData × 梦加速计划 | 与 AI 共舞,TapData 携 AI Ready 实时数据平台亮相加速营,企业数据基础设施现代化
在实时跃动的数据节拍中,TapData 与 AI 共舞,踏出智能未来的新一步。 4月10日,由前海产业发展集团、深圳市前海梦工场、斑马星球科创加速平台等联合发起的「梦加速计划下一位独角兽营」正式启航。 本次加速营以“打造下一位独角兽企业”为目…...
15.电感特性在EMC设计中的运用
电感特性在EMC设计中的运用 1. 共模电感与差模电感的差异2. 电感的高频等效特性3. 电感在EMC设计中的使用注意事项3.1 LC滤波计算3.2 并联型多级浪涌防护的电感退耦 1. 共模电感…...
uniapp Vue2升级到Vue3,并发布到微信小程序的快捷方法
目录 前言:升级项目的两种方式步骤一、新建项目 【选择-默认模版】二、修改-pages.json三、补充-缺少的文件四、修改-Main.js按照 [官方文档-vue2升级vue3迁移指南](https://uniapp.dcloud.net.cn/tutorial/migration-to-vue3.html) 修改 五、升级-uni-ui扩展组件的…...
数据重构如何兼顾效率与性能稳定?zStorage 全闪存分布式存储的技术实践与实测数据
点击蓝字 关注我们 zStorage 作为数据库场景下的全闪存分布式存储,除了性能要好,更重要的是要在各种情况下都能保持“稳定”的好。一个高并发的交易型业务数据库,如果出现轻微的IO抖动,就可能造成数据库并发事务提交的排队&#x…...
linux下内存地址数学运算
如下代码计算地址并16字节对齐: char* buffer (char*)malloc(a3 0x1000);unsigned long long tmp (((unsigned long long)buffer 0x10) & 0xffffffffffffff00);char* buf (char*)tmp;假如把地址当作整数,加减程序运算,直接转换是不行…...
A2A + MCP:构建实用人工智能系统的超强组合
构建真正有效的连接型人工智能系统的挑战 如果你正在构建人工智能应用,这种情况可能听起来很熟悉: 你需要特定的人工智能能力来解决业务问题。你找到了完成每个单独任务的出色工具。但把所有东西连接在一起却占据了大部分开发时间,还创建了…...
力扣每日打卡17 49. 字母异位词分组 (中等)
力扣 49. 字母异位词分组 中等 前言一、题目内容二、解题方法1. 哈希函数2.官方题解2.1 前言2.2 方法一:排序2.2 方法二:计数 前言 这是刷算法题的第十七天,用到的语言是JS 题目:力扣 49. 字母异位词分组 (中等) 一、题目内容 给…...
Word处理控件Spire.Doc系列教程:C# 为 Word 文档设置背景颜色或背景图片
在 Word 文档中,白色是默认的背景设置。一般情况下,简洁的白色背景足以满足绝大多数场景的使用需求。但是,如果您需要创建简历、宣传册或其他创意文档,设置独特的背景颜色或图片能够极大地增强文档的视觉冲击力。本文将演示如何使…...
ecovadis评级范围,如何拿到ecovadis评级高分
EcoVadis评级范围及高分策略详解 一、EcoVadis评级范围(四大核心主题) EcoVadis从以下4大维度对企业进行评分,权重因行业而异(如制造业更侧重环境,IT业更关注商业道德): 评估维度具体评估内容…...
掌握 Altium Designer:轻松定制“交换器件”工具栏
在PCB设计过程中,快速交换器件(如电阻、电容、IC等)是提高效率的关键。Altium Designer提供了灵活的工具栏定制功能,让用户可以创建专属的"交换器件"工具栏,将常用操作集中管理,减少菜单切换时间…...
JavaScript的JSON处理Map的弊端
直接使用 Map 会遇到的问题及解决方案 直接使用 Map 会导致数据丢失,因为 JSON.stringify 无法序列化 Map。以下是详细分析及解决方法: 问题复现 // 示例代码 const myMap new Map(); myMap.set(user1, { name: Alice }); myMap.set(user2, { name: B…...
【C++ Qt】信号和槽(内配思维导图 图文并茂 通俗易懂)
每日激励:“不设限和自我肯定的心态:I can do all things。 — Stephen Curry” 绪论: 本章是Qt中的第三章,也是我们理解Qt中必备的点 信号槽,它本质由信号和槽两个来实现,其中将细致的讲述如何自定义信号…...
突破AI检测边界:对抗技术与学术伦理的终极博弈
随着GPT-4、Claude等大模型的文本生成能力突破人类写作水平,AI检测工具与对抗技术的博弈已进入白热化阶段。本文深入解析基于对抗训练的文本风格混淆网络如何突破GPTZero最新防御体系,探讨OpenAI多模态内容溯源系统引发的技术升级,并针对学术…...
从零开始构建微博爬虫:实现自动获取并保存微博内容
从零开始构建微博爬虫:实现自动获取并保存微博内容 前言 在信息爆炸的时代,社交媒体平台已经成为信息传播的重要渠道,其中微博作为中国最大的社交媒体平台之一,包含了大量有价值的信息和数据。对于研究人员、数据分析师或者只是…...
Git -> Git 所有提交阶段的回滚操作
已经修改但没有暂存的回滚 修改状态单个文件所有文件说明已修改未暂存git checkout -- 文件路径git checkout -- .丢弃工作区修改 已经暂存但没有提交的回滚 修改状态单个文件所有文件说明已暂存未提交git reset HEAD 文件路径 -> git checkout -- 文件路径git reset HEA…...
三餐四季、灯火阑珊
2025年4月22日,15~28℃,挺好的 待办: 教学技能大赛教案(2025年4月24日,校赛,小组合作,其他成员给力,暂不影响校赛进度,搁置) 教学技能大赛PPT(202…...
【Java面试笔记:基础】8.对比Vector、ArrayList、LinkedList有何区别?
在Java中,Vector、ArrayList和LinkedList均实现了List接口,但它们在线程安全、数据结构、性能特性及应用场景上存在显著差异。 1. Vector、ArrayList 和 LinkedList 的区别 Vector: 线程安全:Vector 是线程安全的动态数组&#…...
麒麟V10安装MySQL8.4
1、下载安装包 wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.5-1.el7.x86_64.rpm-bundle.tar2、解压 mkdir -p /opt/mysql tar -xvf mysql-8.4.5-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql3、安装MySQL 3.1、卸载mariadb rpm -qa | grep mariadb rpm -e m…...
基于javaweb的SSM+Maven教材管理系统设计与实现(源码+文档+部署讲解)
技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…...
C语言教程(十二):C 语言数组详解
一、引言数组的基本概念 数组是一组具有相同数据类型的元素的集合,这些元素在内存中连续存储。通过一个统一的数组名和下标来访问数组中的每个元素。使用数组可以方便地处理大量相同类型的数据,避免为每个数据单独定义变量。 二、一维数组 2.1 数组的…...
osxcross 搭建 macOS 交叉编译环境
1. osxcross 搭建 macOS 交叉编译环境 1. osxcross 搭建 macOS 交叉编译环境 1.1. 安装依赖1.2. 安装 osxcross 及 macOS SDK 1.2.1. 可能错误 1.3. 编译 cmake 类工程1.4. 编译 configure 类工程1.5. 单文件编译及其他环境编译1.6. 打包成 docker 镜像1.7. 使用 docker 编译 …...
