Llama 3.2 Vision Molmo:多模态开源生态系统基础

编者按: 视觉功能的融入对模型能力和推理方式的影响如何?当我们需要一个既能看懂图像、又能生成文本的 AI 助手时,是否只能依赖于 GPT-4V 这样的闭源解决方案?

我们今天为大家分享的这篇文章,作者的核心观点是:多模态语言模型领域正处于快速发展阶段,Llama 3.2 Vision 和 Molmo 等开源模型的出现为构建开放的多模态生态系统奠定了重要基础。

本文分享了来自 Meta 的 Llama 3.2 Vision 和 AI2 的 Molmo 模型的主要技术架构及其特点,同时比较了它们与众多多模态大模型的性能表现。文中介绍在多数视觉领域测试中, Molmo 表现更优,Llama 3.2 V 在 MMMU 等文本相关任务中表现更好,目前多模态模型的开源定义仍需进一步探讨和完善,但 Molmo 是目前最接近开源的视觉模型。同时还探究了视觉功能的融入对模型能力和推理方式的影响。

尽管目前在评估工具、数据集等方面还存在不足,但开源模型已经展现出与闭源模型相媲美的潜力,这预示着多模态 AI 领域即将迎来新的发展机遇。

作者 | Nathan Lambert

编译 | 岳扬

多模态语言模型领域相比纯语言模型,显得定义更为不明确、未解决的问题更多,同时也有更多空间让人们发挥创意。在语言模型领域,存在一系列明确的任务和行为,那些前沿实验室正试图通过例如 OpenAI o1 这样的创新训练方法,在最为棘手的推理问题上取得突破。然而,无论是前沿实验室(frontier labs)还是小型实验室(small labs),都在探索多模态模型的应用方向。AI如何“感知”和理解外部世界?拥有一系列强大的开放式模型(open models)对于该领域全面且公开、透明的发展至关重要——这是实现积极成果的两个关键条件(译者注:这两个条件应当是指全面、公开透明的发展)。

目前,多模态语言模型研究大多是通过 late-fusion 模型进行的,即基于语言主干网络(language backbone)和图像编码器(image encoder)(很可能也是 GPT-4V 所使用的方法)进行初始化。 这种对基础语言模型的微调方式虽然成本较高,但实际上计算成本并没有人们想象的那么难以承受。虽然存在多种模型架构[1],但由于 late-fusion 这一架构的稳定性和可预测性,成为了当下研究的热门选择。Molmo 和 Llama 3.2 V 就是通过这种方法训练而成的。

通过在多模态数据集上预训练的 early-fusion 模型来扩展数据的预期效果尚未显现。或许只有当这些模型在 GPT-5 级别的计算集群上进行测试时,它们的真正优势才会显现出来。

Late-fusion 的多模态方法激发了我们对如何将基础语言模型转型升级为多样化输出形式的深入探索。回顾过去几年我们在模型微调领域所采用的各种技术,从 RLHF 开始,到多模态 late-fusion 模型,再到像 o1 这样的创新模型,我们意识到模型还有大量表达潜能等待我们去发掘。一些基本问题仍然值得关注,比如“多模态训练会对 GSM8k 或 IFEval 这样的标准文本评测基准造成何种影响?”在对模型进行视觉方面的微调之后,那些主要用于评估模型知识水平的标准测试,例如 MMLU(Massive Multitask Language Understanding)测试,并没有发生较大变化。

这个领域对我来说同样新颖。本文的主要介绍对象是 Ai2 的一个重要模型版本——Molmo[2](开放式多模态语言模型),以及 Meta 的新模型 Llama 3.2 Vision。两者都推出了一套不同规模的四个模型。它们的性能表现相当,但 Molmo 在开放程度上更胜一筹。

Meta 发布了 Llama 3.2 的早期版本,包括 1B、3B、11B-Vision 和 90B-Vision[3],并在博客文章中透露了一些训练过程的细节[4](文章中还有相关链接)。11B 模型可能是基于 Llama 3 8B 模型的改进版,而 90B 模型则是在 Llama 3 70B 模型的基础上发展而来的。

Ai2 推出了基于 Qwen 2 72B 打造的 Molmo 72B,基于 Qwen 2 7B 的 Molmo-7B-D,即将问世的基于 OLMo 7B 版本的 Molmo-O,以及基于 OLMoE 并拥有 1B 活跃参数的 Molmo-E。

Molmo 系列模型采用 Apache 2.0 许可协议,而 Meta 模型则采用了 Llama 3.2 社区许可协议,该许可协议对模型的使用施加了一些较为严格的限制。

这不禁让人思考,人工智能领域的发展将何去何从。实际上,重头戏是 1B 和 3B 参数规模的 Llama 模型。小型语言模型的市场需求持续攀升,而且随着这些模型能力的不断提升,市场潜力还在不断扩大。我会反复探讨这一话题,但今天我们聚焦的是多模态。

01 Llama Vision:面向大众开发者的多模态模型

自 Llama 3 报告[5]发布以来,Meta 已经明确表示这些模型不久将面世(欧盟地区除外)。Meta 正在将它们应用到 Meta AI 以及旗下的增强现实(AR)/虚拟现实(VR)设备,例如 RayBan 智能眼镜。这些模型非常可靠,比封闭实验室的小型模型更胜一筹,后者的活跃参数通常估计在 60B 范围内。

关于这些模型的具体信息相对较少。若欧盟地区的用户尝试从 Meta AI 的官方页面下载模型,将会看到我在 HuggingFace 平台上看到的地理限制锁🔒。

其他用户可在 Meta AI 中获取这些模型。不过还有个更重要的消息,还有一些具有更丰富文档和更高开放性的模型可供使用(且不受地理限制)。

02 Molmo:与 Llama Vision 相当的一个(大部分)开源的模型

Molmo 是 Ai2 最新推出的开源语言模型[6],它附有一份初步的技术报告[7],用户可以免费体验模型 demo[8],而且即将公开相应的数据集。该项目的宗旨是构建开源语言模型,让任何人都有机会参与或理解构建现代 AI 模型的最关键部分。Molmo 模型是在 Qwen2 和 OLMo 的架构基础上,结合了 CLIP 编码器[9]进行训练的。但尽管有了这个数据开放的 CLIP 版本[10],研究团队并没有选择这个版本,而是放弃使用它,转而选择另一种版本,因为后者下游性能更卓越。请注意,Mistral 的 Pixtral 模型[11]和 Llama 模型都训练了自己的编码器。相关博客文章清晰地阐述了这些组成部分是如何协同工作的:

该模型架构采用了将语言模型与图像编码器结合的简洁而标准的设计。整个模型由四个主要部分组成: (1) 一个预处理器,将输入的单张图像转换成一系列不同尺度(multiscale)和不同裁剪方式(multi-crop)的图像集合; (2) 一个 ViT 图像编码器,独立地将这些图像转换成一系列视觉 tokens; (3) 一个连接器,负责将视觉 tokens 转换为适合语言模型输入的维度,并通过池化技术减少视觉 tokens 数量; (4) 一个仅包含解码器的 Transformer 大语言模型(LLM)。

论文中对该模型结构进行了详细的概述。

请留意,在这些模型的两个训练阶段中,所有的模型参数都会得到更新,而不是保持不变。此外,这些模型在训练过程中并未采用RLHF(基于人类反馈的强化学习)或偏好调优技术(preference tuning)。就我们针对视觉模型所设定的基准测试而言,Molmo 模型在性能上可与 GPT、Claude 以及 Gemini 模型相媲美。

相较于 Llama 3.2 V 模型,Molmo 在多数视觉领域的表现更胜一筹。以下是对各个基准测试得分情况的概述:

  • MMMU 测试中,Llama模型的得分高出6分;
  • MathVista 测试中,Molmo模型的得分领先1分;
  • ChatQA 测试中,Molmo模型的得分高出2分;
  • AI2D 测试中,Molmo模型的得分领先4分;
  • DocVQA 测试中,Molmo模型的得分高出3分;
  • 而在 VQAv2 测试中,两者的得分相近,或者 Molmo 稍占优势(Llama 3.2 的博客文章中对这一处的报告不够明确)。

以下是 Reddit 上的用户 LocalLlama[12] 对评估结果的独立复现。

依我看,这一点也基本符合各组织的追求目标,Llama 3.2 V 在文本方面表现更佳,或许优势还相当明显,但在图像方面,Molmo 则更胜一筹。特别是在识别图像中的指向性特征和读取时钟等任务上,Molmo 的表现尤为出色。

正如我将在本文后续部分进一步探讨的,基准测试并不能全面反映这些模型的实力。Molmo 对开源和科学界做出了巨大贡献,但探讨这些模型的行为特性同样重要。Molmo 具备一项独特的功能,是其同等级模型所不具备的 —— 那就是能够指向参考图片中的特定像素。 例如,我向 Molmo 询问了一张我的照片中自行车的位置[13]。

这种指向性功能是多模态模型在 web agents 应用中最显著的优点。一旦在模型训练时融入了足够的 web 数据,它就能迅速掌握浏览所有常规网页的能力。

当模型被要求对同一张图片进行描述时,它给出了一个相当详尽的描述[14],而且相当标准:

图片是一张 Zoom 通话的截屏,图片被黑色边框和白色内框所环绕。在右上角,有一个小窗口显示另一位参与者,他留着胡须,戴着眼镜和耳机,身穿一件黑色T恤。他坐在壁炉前,壁炉台上摆放着照片和书籍。主画面中的年轻男子有着短短的棕色头发和蓝色的眼睛,面带微笑,穿着一件点缀着白色圆点的蓝色衬衫。他坐在一个白色墙壁、带窗台窗户的房间里,背后是一个黑色的架子。架子上陈列着各式物品,墙上还挂着一个自行车轮胎。屋内还摆放了几幅装框的画作。屏幕顶端显示着文件名……

这种详细的描述得益于新数据集 PixMo 的直接影响,该数据集被用于训练 Molmo 模型。PixMo 的价值远远超出这些早期模型。这个数据集的创新之处在于,它让标注人员通过音频而非文字来对图片做出回应(类似于这篇关于局部化叙述的研究[15]),这使得他们的数据标注更加富有创造性和描述性。事实上,数据标注人员们非常喜欢这些任务(比如提供指向数据),以至于他们主动要求完成更多任务。激发数据标注人员的高度参与度是任何人工数据流程(human data pipeline)的目标,而这在我所见过的案例中是前所未有的。这个数据集有数百万个样例,涉及各种各样的图像。

我们所掌握的有关 Llama 3.2 V 的少数技术细节之一是,它是在 “6B(图像,文本)对” 上进行训练的,其中大部分可能是合成数据。而 Molmo 则是通过主要由人类产生的数百万份数据进行训练。

对于 OLMo 模型,包括 Molmo 在内,最关键的差异化因素和战略是其开放性(openness)。随着对“开源 AI”定义的讨论进行,像这些多模态模型(例如 CLIP)就是很好的案例,可以用来检验或“压力测试”我们对开源 AI 的理解。以下是对 Molmo 模型及其同类模型的开放性比较 —— Llama 3.2 V 的开放性与其他所有权重开源模型(open-weight models)相似。

这些模型都采用了没有开放数据的视觉编码器(主要是 OpenAI 的 CLIP),但也有开源的替代方案。公开图像数据风险较高(可能会涉及像 CSAM 这样的敏感问题),而且过程复杂。Molmo 模型是基于非开源模型进行微调的(并对参数进行了更新),根据开源倡议的最新定义,它们并不能算作开源。但如果 Molmo 只是公开数据的嵌入,而不是原始图像或文本数据,那么这种做法是否能让模型满足开源要求。这就引出了一个问题:当核心权重保持不变并且公开嵌入数据时,模型的开源性是否依旧符合标准?

这与根据其他语言模型(包括非公开模型)的合成输出训练出的模型可被视为开源的定义是一样的。在同时使用多个模型和数据流的领域,开源 AI 的定义还需要进一步的探讨。 对于仅使用文本进行预训练的模型,其“开源”定义原则上是合理的,只需要在一些细节上做出调整。然而,当涉及到微调和多模态时,情况变得更加复杂,因此还需要更多的讨论。

基于这些原因,我不会直接宣称“Molmo 是开源的”,但它无疑是目前最为接近开源的视觉模型。从定义上讲,生态系统中最开放的实验室在战略上与开源的差距微乎其微。

03 视觉功能的融入对模型能力和推理方式的影响

视觉功能的增加可以被视为一种微调问题,让我不禁要问,当前顶级模型在处理带图像和不带图像的相同提示词时会有怎样的表现。在幕后会将 query 路由给不同的模型。对于那些不是 early fusion 模型的,比如 GPT-4 和 Claude,除了推理成本之外,带有视觉元素几乎肯定会对性能有所影响 —— 否则,所有的模型都将是视觉模型。而对于像 GPT-4o 这样能够原生处理图像数据的模型,这一测试并不适用。

最直接的比较方法就是查看模型的标准版本和视觉版本对文本任务进行评估的差异。然而,在目前已经发布的模型中,进行这种直接比较的寥寥无几。即便有,也通常只限于部分评估。在撰写本文的过程中,我做了一个还算不错但并不完全详尽的调查,发现对比数据不足,因此没法用具体的数字支撑一个有说服力的论点。我的直觉是,在模型中加入视觉处理会使得模型在训练完成之后通过各种方法(如微调、优化等)实现的性能提升(我们在 ChatBotArena 等平台上观察到的)变得更加难以实现。

本实验旨在观察 GPT-4 和 Claude 3.5 Sonnet 在处理中等难度的推理或编程任务时,能否在有图像干扰的情况下正确地忽略非相关信息。实验结果显示,当明确指示模型忽略某些信息时,它们都能轻松做到,并且在后续询问图像相关问题时,仍能准确理解图像内容。图像的引入可能会导致模型更容易出现之前模型在处理类似任务时遇到的那些典型问题或错误。

我首先提出了一个我经常使用的简单推理问题:“月球能装下多少高尔夫球?”无论是附有图像还是无图像的 ChatGPT4 ,它们的推理过程几乎相同,得出的答案也非常接近。

另一方面,Claude 的视觉系统在这个例子中(见下图右侧)显得有些力不从心。Claude 给出的回应,更像是一种巧妙的回避,而不是像往常那样尝试解答这个常见的概念性问题。

这个任务难度似乎不够,于是我决定挑战一个编程问题,要求 LLM 阐述解题思路,然后为其编写一个 Python 脚本 —— 一个语言模型的基本训练脚本。首先未提供给 ChatGPT 相关图像,这也在情理之中,对于实际开发来说,其作用有限。

ChatGPT 对带有图像的提示词的回应不够详尽,也不够周全。

而 Claude 所给出的两次回答在内容上几乎无二致。

这个结论并不让人意外。模型的图像输入不那么成熟,因此我们看到了更多去年常见的典型问题或不足之处。

更值得关注的问题是未来这种情况会有显著改善,还是维持现状?像 o1 这样的特性获得的认可度,明显高于更优质的视觉输入。在 AI 模型领域,语言仍然是核心, 如果没有明确的任务来挑战视觉的极限 ,就很难证明视觉输入具有变革性。语言依然是这个生态系统的命脉。

对于 Molmo 而言,由于缺乏标准的文本指令调优和 RLHF(基于人类反馈的强化学习),在进行推理任务时,给人的感觉与以往熟悉的模型大相径庭。我们清楚,需要在所有 OLMo 模型上不断优化这类任务。

然而,Molmo 还有一些 Claude 和 ChatGPT 所不具备的特殊功能。我们期待这些功能能够证明其使用价值。如果想要体验这些模型,还有一个选择是 Vision Arena[16],但需要注意的是,它的某些功能接口出现了问题,而且其运行速度不及原生的本地应用程序。

04 多模态语言模型:正处于快速发展阶段的前端

Molmo 项目与我之前关注的纯文本模型项目的进展相比,最显著的区别在于多模态模型生态系统的成熟度较低。 尤其是在模型训练完成后的行为研究方面,我们缺少评估工具、数据集、开放的基准模型 —— 总之,一切都非常缺乏。我在今年年初就这个问题发表了自己的看法,特别是对于开放流程(open pipelines)中多模态 RLHF 的不明确性[17],遗憾的是,至今变化不大。这就导致了一个现象:某些可以说是“开源”的模型几乎能与像 GPT-4o 这样的闭源模型相媲美。

需要明确的是,虽然技术报告中对模型的基准测试讨论颇多,但与潜在的研究空间相比,这些讨论仅仅是触及了表面。许多评估工作是将传统语言模型的理念,如解释概念或识别内容,迁移到视觉领域。 而对于视觉模型来说,我们需要的是全新的基准测试方向。对于视觉语言模型,SWE-Bench 的对等基准测试会是什么?我推测可能会出现 SWE-Bench-Vision,但我们还需要开发更多无法与文本模型相对应的新测试类别。

在使用多模态模型时,我发现并不清楚应该用它们来做什么。这些模型在信息提取和加工处理等方面确实强大。我就经常用 Claude 或 ChatGPT 来复制表格内容或重新编写代码生成图表。除了前面提到的用途之外,还有很多功能,特别是场景描述(scene captioning),虽然展示出来的时候非常吸引人,让人印象深刻,但并不是我们日常生活中会经常使用到的功能。

曾经,视觉语言模型的效果并不理想。但现在,它们的性能得到了大大增强,更重要的是,它们现在可以被大规模公开使用,这无疑会促进其被更广泛地采用。而随着使用率的提升,就有了发展的反馈回路。以下是对这一论点的详细解释。

特别是,Meta 采取了将“开源 AI”的品牌与 Llama 模型挂钩的策略,这一行动提升了 Llama 模型在业界的可信度,从而促使更多开发者更加重视此类模型。

在未来的多模态语言模型中,唯一尚未解决但肯定会重要的应用是理解网页元素。 Web agents 成为了阻碍生成式 AI 产品大规模部署的最后几道关卡之一。 我们之所以尚未见到更多的 web agents,可能是因为当前的生态系统过于依赖封闭模型,而这些模型很难获得执行相关操作所需的权限(尤其是在企业级应用中)。随着技术能力的提升,我们有理由相信,权重开源模型(open-weight models)将会得到快速的推广和应用。推动多模态模型发展的原因似乎更多是市场、技术、行业趋势等方面的因素,而非仅仅是为了推广本地多模态模型 —— 这一点我们可以向 Adept 公司进行探讨。随着权重开源模型和近乎开源模型((nearly) open-source models)的增多,AI 领域的加速发展指日可待。

Thanks for reading!

Hope you have enjoyed and learned new things from this blog!

About the authors

Nathan Lambert

ML researcher making sense of AI research, products, and the uncertain technological future. PhD from Berkeley AI. Experience at Meta, DeepMind, HuggingFace.

END

本期互动内容 🍻

❓Molmo 模型的“像素级指向功能”给您带来了哪些启发?您认为这个功能在未来可能催生什么样的创新应用?

🔗文中链接🔗

[1]https://lilianweng.github.io/posts/2022-06-09-vlm

[2]https://molmo.allenai.org/blog

[3]https://huggingface.co/collections/meta-llama/llama-32-66f448ffc8c32f949b04c8cf

[4]https://ai.meta.com/blog/llama-3-2-connect-2024-vision-edge-mobile-devices/?utm_source=twitter&utm_medium=organic_social&utm_content=video&utm_campaign=llama32

[5]https://arxiv.org/abs/2407.21783

[6]https://www.interconnects.ai/p/olmo

[7]https://molmo.allenai.org/paper.pdf

[8]https://molmo.allenai.org/

[9]https://huggingface.co/openai/clip-vit-large-patch14-336

[10]https://github.com/mlfoundations/open_clip

[11]https://mistral.ai/news/pixtral-12b/

[12]https://www.reddit.com/r/LocalLLaMA/comments/1fpb4m3/molmo_models_outperform_llama_32_in_most_vision/

[13]https://molmo.allenai.org/share/963de0d0-9069-4a14-ad5a-8e4bc0863136

[14]https://molmo.allenai.org/chat/d1917496-1581-4ca5-8bda-1f4216d1ea1e

[15]https://arxiv.org/abs/1912.03098

[16]https://huggingface.co/spaces/WildVision/vision-arena

[17]https://www.interconnects.ai/i/140525309/multimodal-rlhf-questions-ideas-and-resources

原文链接:

https://www.interconnects.ai/p/molmo-and-llama-3-vision

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/57890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效视频制作大提速,视频剪辑软件的高级自定义命令功能批量调整视频的色调、饱和度和亮度,轻松驾驭视频编辑技巧

在浩瀚的数字海洋中,视频如同璀璨的星辰,而每一颗星辰都渴望被精心雕琢,闪耀出最独特的光芒。想象一下,你手握一把神奇的钥匙,能够轻松解锁批量视频剪辑的奥秘,让每一帧画面都跃动着你的创意与激情。这把钥…

[RootersCTF2019]ImgXweb

审题 看到robots.txt,看到里面的文件,打开看到 you-will-never-guess这个字符串 进行注册登录 可以看到典型的jwt加密的Cookie 想到之前的字符串可能是密匙,更改为admin,进行登录。 成功后可以看到flag.png。 发现图形打不开 使用curl进…

32单片机HAL库的引脚初始化

在使用HAL库时,GPIO初始化函数定义在stm32f4xx_hal_gpio.c文件中,如下: void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init); 由这个函数可以看出,在初始化GPIO时,需要向函数传入2个结构体&…

ubuntu【桌面】 配置NAT模式固定IP

DHCP分配导致虚拟机IP老变,SSH老要重新配置,设成静态方便些 一、设NAT模式 1、设为NAT模式 2、看模式对应的虚拟网卡 - VMnet8 3、共享主机网卡网络到虚拟网卡 - VMnet8 二、为虚拟网卡设置静态IP 记住这个IP 三、设置ubuntu固定IP 1、关闭DHCP并…

确保企业架构与业务的一致性与合规性:数字化转型中的关键要素与战略实施

在现代企业的数字化转型过程中,确保企业架构(Enterprise Architecture, EA)与企业业务的紧密一致性与合规性至关重要。无论是在战略层面还是运营层面,EA都为企业的未来发展提供了清晰的蓝图,确保企业在应对复杂的业务环…

Pinctrl子需要中client端使用pinctrl过程的驱动分析

往期内容 本专栏往期内容: Pinctrl子系统和其主要结构体引入Pinctrl子系统pinctrl_desc结构体进一步介绍Pinctrl子系统中client端设备树相关数据结构介绍和解析inctrl子系统中Pincontroller构造过程驱动分析:imx_pinctrl_soc_info结构体 input子系统专栏…

Failed to search for file: Cannot update read-only repo

今天在读《Linux就该这么学》并上机操作RedHat Linux 8。结果在执行指令时却出现了问题: 我明明已经是root权限了,我于是上网去找,但也没看到合适的解答。为什么会和书上的操作结果不一样。 后来我突然意识到是不是我打了不该打的空格,于是…

SpringBoot实现验证码案例

目录 实现逻辑前后端交互接口前端代码后端代码 实现逻辑 1、后端功能:随机生成验证码图片,并把交给前端、接收用户输入,验证用户输入的验证码是否正确、 2、前端功能:显示验证码,提供输入框供用户输入他们看到的验证…

OpenCV基本操作(python开发)——(7)实现图像校正

OpenCV基本操作(python开发)——(1) 读取图像、保存图像 OpenCV基本操作(python开发)——(2)图像色彩操作 OpenCV基本操作(python开发)——(3&…

记录新建wordpress站的实践踩坑:wordpress 上传源码新建站因权限问题导致无法访问、配置新站建站向导以及插件主题上传配置的解决办法

官方文档:How to install WordPress – Advanced Administration Handbook | Developer.WordPress.org 但是没写权限问题,可以下载到 wordpress官方包。 把下载的wordpresscn的包解压并上传到服务器目录下,但是因为是root上传导致了权限问题…

qt QBrush详解

1、概述 QBrush是Qt框架中的一个基本图形对象类,它主要用于定义图形的填充模式。QBrush可以用于填充如矩形、椭圆形、多边形等形状,也可以用于绘制背景等。通过QBrush,可以设置填充的颜色、样式(如实心、渐变、纹理等&#xff09…

练习LabVIEW第三十四题

学习目标: 刚学了LabVIEW,在网上找了些题,练习一下LabVIEW,有不对不好不足的地方欢迎指正! 第三十四题: 在一个波形表中显示三条随机数组成的曲线,分别用红,绿,蓝三种…

彻底理解链表(LinkedList)结构

目录 比较操作结构封装单向链表实现面试题 循环链表实现 双向链表实现 链表(Linked List)是一种线性数据结构,由一组节点(Node)组成,每个节点包含两个部分:数据域(存储数据&#xff…

【MySQL系列】字符集设置

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

02- 模块化编程-001 ADC采样与显示

周末把单片机的开发环境理顺了,开始模块化编程的实践,先从外围模块开始,先从独立的模块,然后构建复杂一些的综合应用,条件所限,以protues的仿真为主。 1、单片机内置ADC采样与显示电路 2、电路原理简介 该电路主要由…

VScode设置系统界面字体

现象: 系统界面字体太大,导致菜单栏字体显示不全,每次使用都要先点然后才能打开终端和帮助 缩小字体应该就可以实现全部都看到的效果 解决步骤 1. “齿轮形状”设置中心---->设置 2.输入zoom 3.用户—>窗口—>修改“Window: Zoom…

C++初阶——类和对象(上)

目录 1、类的定义 1.1 类定义格式 1.2 访问限定符 1.3 类域 2、类的实例化 2.1 实例化的概念 3、this指针 1、类的定义 1.1 类定义格式 • class为定义类的关键字,Stack为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。…

小北的字节跳动青训营与LangChain系统安装和快速入门学习(持续更新中~~~)

前言 最近,字节跳动的青训营再次扬帆起航,作为第二次参与其中的小北,深感荣幸能借此机会为那些尚未了解青训营的友友们带来一些详细介绍。青训营不仅是一个技术学习与成长的摇篮,更是一个连接未来与梦想的桥梁~ 小北的青训营 X M…

卷积神经网络实验三:模型优化(1)

作者有话说: 这篇文章写的还是比混乱的。因为本人也是第一次做这样的尝试,虽然接触深度学习有一年了,但是对于模型的优化仅仅是局限于理论上。通过这一次的实验,我对于模型的理解也更深了几分。我不期望这篇文章能帮你能解决多大问…

信息安全数学基础(42)分式域

一、定义 设R是一个整环,如果有一个域F使得从R到F有一个单的环同态,并且F中的每一个元素都可以表示成σ(a)σ(b)^(-1)的形式,其中a∈R,b∈R*(R的非零元构成的乘法群),那么把F称为R的分式域。 二…