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

MuMu-LLaMA:通过大型语言模型进行多模态音乐理解和生成(Python代码实现+论文)

MuMu-LLaMA 模型是一种音乐理解和生成模型,能够进行音乐问答以及从文本、图像、视频和音频生成音乐,以及音乐编辑。该模型利用了用于音乐理解的 MERT、用于图像理解的 ViT 和用于视频理解的 ViViT 等编码器,以及作为音乐生成模型(音乐解码器)的 MusicGen/AudioLDM2 模型,再加上适配器和 LLaMA 2 模型,使模型具有多种能力。模型架构以 mumu_llama.py 给出。

由于缺乏带有自然语言字幕的大规模公开可用的音乐数据集,文本到音乐生成 (T2M-Gen) 面临重大障碍。为了解决这个问题,我们提出了音乐理解 LLaMA (MU-LLaMA),它能够回答与音乐相关的问题并为音乐文件生成字幕。我们的模型利用来自预训练 MERT 模型的音频表示来提取音乐特征。然而,获得一个合适的数据集来训练 MU-LLaMA 模型仍然具有挑战性,因为现有的可公开访问的音频问答数据集缺乏开放式音乐问答的必要深度。为了填补这一空白,我们提出了一种从现有音频字幕数据集生成问答对的方法,并介绍了专为回答开放式音乐相关问题而设计的 MusicQA 数据集。实验表明,在我们设计的 MusicQA 数据集上训练的所提出的 MU-LLaMA 模型在各种指标上都取得了出色的音乐问答和音乐字幕生成方面的出色表现,在这两个领域的表现都优于当前最先进的 (SOTA) 模型,并在 T2M-Gen 研究领域提供了有希望的进步。

🤖 模型设置

我们在这个项目中使用 Python 3.9.17,库要求在 requirements.txt 中给出。使用 创建 conda 环境

conda create --name <env> --file requirements.txt

确保 NVIDIA 驱动程序为 12 或更高版本,以便与 PyTorch 2.1.0 兼容。

为了使我们的模型工作,需要 Facebook 的 LLaMA-2 模型权重,有关获取这些权重的详细信息,请访问 HuggingFace。

我们模型的训练检查点可在此处获得:

  • MuMu-LlaMA 与 MusicGen Small
  • 含 MusicGen 培养基的 MuMu-LlaMA
  • MuMu-LlaMA 与 AudioLDM2

可以在此处找到所需的预训练多模态编码器和音乐解码器模型:

  • MERT
  • ViT
  • ViViT
  • MusicGen
  • AudioLDM 2

🧰 系统硬件要求

对于训练,第 1 阶段和第 2 阶段使用单个 32GB V100 GPU,而第 3 阶段使用 2 个 32GB V100 GPU。对于推理,使用单个 32GB V100 GPU。要加载模型检查点,大约需要 49GB 的 CPU 内存。

摘要

文本到音乐生成(T2M-Gen)面临的主要障碍是缺乏带有自然语言描述的大规模公开音乐数据集。为此,我们提出音乐理解大语言模型(MU-LLaMA)​,该模型能够回答音乐相关问题并为音乐文件生成字幕。我们的模型使用预训练的MERT模型提取音频表征作为音乐特征。然而,获取适合训练MU-LLaMA模型的数据集仍具挑战,因为现有公开音频问答数据集缺乏开放式音乐问答所需的深度。为填补这一空白,我们提出从现有音频字幕数据集生成问答对的方法,并推出专为回答开放式音乐问题设计的MusicQA数据集。实验表明,基于MusicQA数据集训练的MU-LLaMA模型在音乐问答和字幕生成任务中均取得卓越性能,在多项指标上超越当前最优模型(SOTA),为T2M-Gen研究提供了重要突破。

关键词:MU-LLaMA、MusicQA数据集、音乐问答、文本到音乐生成


1. 引言

音乐生成任务需要大量带字幕的音乐数据支持。然而,由于版权限制,大多数含字幕的音乐数据集未公开[1-3]。目前最大的公开数据集MusicCaps[4]仅包含约28.52小时的音乐及字幕,远小于音频分类或标签任务的数据规模。因此,迫切需要开发大规模生成公开文本-音乐配对数据的方法。

Song Describer¹等少数尝试通过众包收集文本-音乐对,但其耗时且不可控,难以满足T2M-Gen研究的大数据需求。为此,我们提出利用大语言模型(LLM)为公开音乐资源自动生成字幕。

现有音乐字幕生成模型包括MusCaps[5]、音频字幕Transformer[6]、基于音频-文本检索预训练的模型[7]、Whisper微型音频字幕²和LP-MusicCaps[8]。其中,MusCaps采用卷积网络与循环神经网络的混合架构,LP-MusicCaps使用跨模态编码器-解码器架构。另一种思路是利用音频问答模型生成音乐字幕。

近期,LLaMA Adapter[9]、UniVAL[10]和LTU[11]等支持音频理解的模型相继出现。然而,这些模型缺乏音乐文本数据训练,或依赖非音乐音频数据,限制了其在音乐领域的表现。

本文提出一种创新方法,通过构建基于LLaMA的MU-LLaMA模型解决音乐问答与字幕生成问题。核心贡献包括:

  1. 提出性能卓越的MU-LLaMA模型;
  2. 设计MusicQA数据集构建方法;
  3. 展示MU-LLaMA生成多样化字幕的能力,支持T2M-Gen模型开发。

论文结构如下:第2章对比音乐特征表示方法;第3章介绍MusicQA数据集生成方法;第4章详解MU-LLaMA架构;第5章展示实验结果;第6章总结与展望。


2. 音乐特征表示

为实现音乐理解,我们对比了以下预训练音频表征模型在MagnaTagATune数据集[15]上的音乐标签任务性能:

  1. ImageBind[12]:跨6模态的联合嵌入模型;
  2. JukeBox[17]:基于VQ-VAE的自回归Transformer;
  3. OpenL3[18]:基于音频-视觉对应的无监督嵌入;
  4. CLAP[19]:对比语言-音频预训练模型;
  5. Wav2CLIP[20]:CLIP模型的音频蒸馏版本;
  6. MERT[22]:通过自监督训练实现SOTA音乐理解的声学模型。

表1显示,MERT在音乐标签任务中的平均精度(59.57%)显著优于其他模型,故选择其作为MU-LLaMA的音乐编码器。

表1:音频表征模型对比

模型MTTAUCMTTAP
ImageBind88.55%40.19%
JukeBox91.5%41.4%
MERT93.91%59.57%

3. MusicQA数据集生成

为训练MU-LLaMA,我们利用MPT-7B模型[16]从MusicCaps(含描述)和MagnaTagATune(含标签)生成问答对:

  1. 指令集1:根据描述/标签生成答案(如“描述这段音乐”“从音频中能推断什么”);
  2. 指令集2:生成5个开放式问答对(如“音频的情绪如何”“使用了哪些乐器”)。
    生成示例如下(完整指令与样例见项目页面⁴)。

4. MU-LLaMA模型架构

如图1所示,MU-LLaMA基于LLaMA-2 7B模型[14],集成MERT编码器提取音乐特征:

  1. 特征提取:MERT的24个隐藏层与1个输出层(共25×1024维)经卷积层聚合为1024维向量;
  2. 投影与适配器:投影至4096维后,通过含3个子块的稠密网络(公式1)处理,输出注入LLaMA最后19层的注意力查询中;
  3. 训练策略:冻结MERT与LLaMA参数,仅微调解码器适配器。

公式1:适配器前向计算


5. 实验与结果

5.1 实验设置
  • 数据集:从MTG-Jamendo[25]选取500首音乐生成4500 QA对(MTG-eval-QA)和1000字幕(MTG-eval-Cap);
  • 评估指标:BLEU、METEOR、ROUGE-L、BERTScore;
  • 训练参数:学习率0.0001,批次大小1,预训练150轮,微调20轮。
5.2 音乐问答性能

表2显示,MU-LLaMA在METEOR(0.385)和ROUGE-L(0.466)上显著优于LLaMA Adapter与LTU。

表2:音乐问答模型对比

模型BLEUMETEORROUGE-LBERTScore
LTU0.2420.2740.3260.887
MU-LLaMA0.3060.3850.4660.901
5.3 音乐字幕生成

表3显示,MU-LLaMA在BLEU(0.278)和ROUGE-L(0.312)上超越LP-MusicCaps等专用模型。

表3:音乐字幕模型对比

模型BLEUMETEORROUGE-LBERTScore
LP-MusicCaps0.2270.1770.2270.877
MU-LLaMA0.2780.2610.3120.888

6. 结论

本文提出的MU-LLaMA模型在音乐问答与字幕生成任务中均实现SOTA性能。未来工作将扩展至歌词理解,并利用该模型构建T2M-Gen所需的大规模数据集。

图 1:音乐理解大语言模型(MU-LLaMA)。该模型分为 3 个部分:(1)预训练的 MERT 编码器,用于生成音乐表示;(2)音乐理解适配器,用于将该表示融合到 LLaMA 模型中;(3)LLaMA 模型,它从适配器获取输入,在最后\((L - 1)\)层中学习音乐上下文信息。 

介绍

MU-LLaMA 模型是音乐理解语言模型,旨在回答基于音乐的问题。我们的模型还旨在为音乐文件添加字幕以生成文本到音乐生成数据集。该模型使用 MERT + LLaMA 作为主干,并采用适配器来连接音乐上下文信息以指导 LLaMA 的输出。在比较了不同的音乐表示模型后,MERT 被选为我们模型的音乐编码器,可以在这里查看。我们还提供了用于从 MusicCaps 和 MagnaTagATune 数据集生成 MusicQA 数据集的代码。

MU-LLaMA 演示

为了使我们的模型工作,需要 Facebook 的 LLaMA-2 模型权重,有关获取这些权重的详细信息,请访问 HuggingFace。我们针对 MU-LLaMA 模型的预训练权重,从 LLaMA 7B-2 微调,可以在此处下载。下载后,将文件存储在 MU-LLaMA 目录下的 ckpts 文件夹中。

下载后,目录结构将如下所示。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>.
├── ...
├── MU-LLaMA                
│   ├── ckpts
│   │   │── LLaMA
│   │   │   │── 7B
│   │   │   │   │── checklist.chk
│   │   │   │   │── consolidated.00.pth
│   │   │   │   │── params.json
│   │   │   │── llama.sh
│   │   │   │── tokenizer.model
│   │   │   │── tokenizer_checklist.chk
│   │   │── 7B.pth
│   │   ├── checkpoint.pth
└── ...
</code></span></span></span></span>

我们在这个项目中使用 Python 3.9.17,库要求在 requirements.txt 中给出。可以使用 gradio_app.py 运行演示。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>python gradio_app.py --model ./ckpts/checkpoint.pth --llama_dir ./ckpts/LLaMA
</code></span></span></span></span>

训练 MU-LLaMA

要训练 MU-LLaMA 模型,请按照以下步骤作。

MusicQA 数据集

我们使用 MusicCaps 和 MagnaTagATune 数据集来生成我们的训练 MusicQA 数据集和 MTG-Jamendo 进行评估。您可以在此处下载生成的 MusicQA 数据集。

要自己生成数据集,请先下载 MusicCaps、MTT 和 MTG 数据集。下载后,目录结构将如图所示。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>.
├── ...
├── MusicQA                
│   ├── MTT
│   │   ├── audios
│   │   │   │── ...
│   │   ├── annotations_final.csv
│   ├── MusicCaps
│   │   ├── audios
│   │   │   │── ...
│   │   ├── musiccaps-public.csv
│   ├── MTG
│   │   ├── audios
│   │   │   │── 00
│   │   │   │── 01
│   │   │   │── ...
│   │   ├── raw_30s_cleantags_50artists.tsv
│   ├── MTT_process.py
│   ├── musiccaps_process.py
│   ├── MTG_process.py
│   ├── generate_dataset.py
└── ...
</code></span></span></span></span>

MusicQA 数据集生成是一个计算量非常大的过程,在 Tesla V100-SXM2-32GB GPU 上,每个数据集大约需要 8 天,因此建议下载我们生成的数据集。

📝 注意: 运行以下命令,将 MTT 音频文件结构压缩并提取后,

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>find ./MTT/audios -mindepth 2 -type f -exec mv -t ./MTT/audios -i '{}' +
</code></span></span></span></span>

我们只使用 MTG 数据集中的文件夹 00 到 09

通过运行 musiccaps_process.py、MTT_process.py 和 MTG_process.py,您可以从每个数据集生成问答对,并通过运行generate_dataset.py生成用于预训练、微调和评估的最终数据集。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>usage: generate_dataset.py [-h] --mtt MTT --mtg MTG --musiccaps MUSICCAPS --musicqa MUSICQAoptional arguments:-h, --help            show this help message and exit--mtt MTT             Directory of the MTT dataset--mtg MTG             Directory of the MTG dataset--musiccaps MUSICCAPSDirectory of the MusicCaps dataset--musicqa MUSICQA     Directory of the MusicQA dataset to be generated
</code></span></span></span></span>

MU-LLaMA 预训练

为了预训练 MU-LLaMA 模型,我们使用 MusicQA 数据集的 MusicCaps 部分和 Alpaca Instruction 数据集以及 pretrain.sh 脚本。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>./pretrain.sh ./ckpts/LLaMA-2 ./configs/pretrain.yaml ./ckpts/MU-LLaMA_Pretrain
</code></span></span></span></span>

这将对 MU-LLaMA 模型进行 150 个 epoch 的预训练。可以在 pretrain.sh 文件中修改超参数。

MU-LLaMA 微调

为了微调 MU-LLaMA 模型,我们将 MusicQA 数据集的 MTT 部分与 finetune.sh 脚本结合使用。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>./finetune.sh ./ckpts/LLaMA-2 ./ckpts/MU-LLaMA_Pretrain/checkpoint.pth ./configs/finetune.yaml ./ckpts/MU-LLaMA_Finetune
</code></span></span></span></span>

这将对 MU-LLaMA 模型进行 20 个 epoch 的微调。可以在 finetune.sh 文件中修改超参数。具有 7B 参数的 MU-LLaMA 模型在 Tesla V100-SXM2-32GB GPU 上训练大约需要 2 天时间。训练后,可以使用 Gradio 演示对模型进行测试。

MU-LLaMA 推理

要在没有 Gradio 的情况下测试模型,可以使用 inference.py 脚本。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>usage: inference.py [-h] [--model MODEL] [--llama_type LLAMA_TYPE] [--llama_dir LLAMA_DIR] [--mert_path MERT_PATH] --audio_path AUDIO_PATH [--question QUESTION]optional arguments:-h, --help            show this help message and exit--model MODEL         Name of or path to the trained checkpoint--llama_type LLAMA_TYPEType of llama original weight--llama_dir LLAMA_DIRPath to LLaMA pretrained checkpoint--mert_path MERT_PATHPath to MERT pretrained checkpoint--audio_path AUDIO_PATHPath to the input music file--question QUESTION   Question to ask the model
</code></span></span></span></span>

MU-LLaMA 评估

我们的模型与支持音频的模型进行了比较,例如在我们的 MusicQA 数据集上训练的 Listen, Think and Understand (LTU) 模型和 LLaMA Adapter 模型。我们使用 BLEU (B-U)、METEOR (M-R)、ROUGE 评估模型L(R-L) 和 BERT-Score (BERT-S) 是文本生成的常用评估指标。对于 BLEU 分数,加权平均值为 BLEU1、 BLEU2、 BLEU3和 BLEU4(每个 weight = 0.25)。

评估脚本在 ModelEvaluations 文件夹中给出。生成脚本用于生成数据集中所有问题的答案。

<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>usage: generate_mullama.py [-h] [--model MODEL] [--knn KNN] [--llama_type LLAMA_TYPE] [--llama_dir LLAMA_DIR] [--mert_path MERT_PATH]optional arguments:-h, --help            show this help message and exit--model MODEL         Name of or path to the trained checkpoint--knn KNN             Name of or path to the directory with knn checkpoint--llama_type LLAMA_TYPEType of llama original weight--llama_dir LLAMA_DIRPath to LLaMA pretrained checkpoint--mert_path MERT_PATHPath to MERT pretrained checkpoint
</code></span></span></span></span>
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>usage: generate_ltu.py [-h] [--demo DEMO]optional arguments:-h, --help   show this help message and exit--demo DEMO  Link to the LTU Demo Page
</code></span></span></span></span>
<span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><span style="color:#1f2328"><span style="color:var(--fgColor-default, var(--color-fg-default))"><span style="background-color:var(--bgColor-muted, var(--color-canvas-subtle))"><code>usage: generate_llama-adapter.py [-h] [--model MODEL] [--llama_dir LLAMA_DIR]optional arguments:-h, --help            show this help message and exit--model MODEL         Name of or path to the trained checkpoint--llama_dir LLAMA_DIRPath to LLaMA pretrained checkpoint
</code></span></span></span></span>

生成后,evaluate.py 可用于评估为三个模型生成的答案。结果如下所示。

B-U ↑M-R ↑R-L ↑BERT-S ↑
LTU0.2420.2740.3260.887
LLaMA 适配器0.2730.3340.4130.895
MU-LLaMA (英语)0.3060.3850.4660.901

确认

此代码包含来自以下存储库的元素:

  • OpenGVLab/LLaMA 适配器
  • 伊兹希尔/MERT

相关文章:

MuMu-LLaMA:通过大型语言模型进行多模态音乐理解和生成(Python代码实现+论文)

MuMu-LLaMA 模型是一种音乐理解和生成模型&#xff0c;能够进行音乐问答以及从文本、图像、视频和音频生成音乐&#xff0c;以及音乐编辑。该模型利用了用于音乐理解的 MERT、用于图像理解的 ViT 和用于视频理解的 ViViT 等编码器&#xff0c;以及作为音乐生成模型&#xff08;…...

高效Android MQTT封装工具:简化物联网开发,提升性能与稳定性

在Android开发中&#xff0c;封装MQTT工具可以帮助简化与MQTT服务器的通信。MQTT&#xff08;Message Queuing Telemetry Transport&#xff09;是一种轻量级的发布/订阅消息传输协议&#xff0c;常用于物联网&#xff08;IoT&#xff09;设备之间的通信。 以下是一个简单的MQ…...

数据库原理7

1.“数据库系统运行与维护工具”的研究属于数据库管理系统软件 2.1970年IBM公司的高级研究员E.F.Codd提出了关系数据模型 3.每个属性的属性值是不可分解的&#xff0c;即关系的每个分量必须是一个不可分的数据项。属性值的取值应满足域完整性约束。 4.视图作用&#xff1a;简…...

2025最新比较使用的ai工具都有哪些,分别主要用于哪些方面?

文章目录 一、AI对话与交互工具二、AI写作与内容生成工具三、AI绘画与设计工具四、AI视频生成工具五、办公与效率工具六、其他实用工具选择建议 根据2025年最新行业动态和用户反馈&#xff0c;以下AI工具在多个领域表现突出&#xff0c;覆盖对话、写作、设计、视频生成等场景&a…...

什么是 MyBatis? 它的优点和缺点是什么?

一、 什么是 MyBatis&#xff1f; 定义&#xff1a; MyBatis 是一款优秀的持久层框架&#xff0c;用于简化 Java 应用程序与数据库之间的交互。MyBatis 通过 XML 或注解 的方式&#xff0c;将 SQL 语句与 Java 代码分离&#xff0c;提供了一种灵活的、易于维护的数据访问解决方…...

在ArcMap中通过Python编写自定义工具(Python Toolbox)实现点转线工具

文章目录 一、需求二、实现过程2.1、创建Python工具箱&#xff08;.pyt&#xff09;2.2、使用catalog测试代码2.3、在ArcMap中使用工具 三、测试 一、需求 通过插件的形式将点转线功能嵌入ArcMap界面&#xff0c;如何从零开始创建一个插件&#xff0c;包括按钮的添加、工具的实…...

Array and string offset access syntax with curly braces is deprecated

警告信息 “Array and string offset access syntax with curly braces is deprecated” 是 PHP 中的一个弃用警告&#xff08;Deprecation Notice&#xff09;&#xff0c;表明在 PHP 中使用花括号 {} 来访问数组或字符串的偏移量已经被标记为过时。 背景 在 PHP 的早期版本…...

moodle 开源的在线学习管理系统(LMS)部署

一、Moodle 简介 Moodle&#xff08;Modular Object-Oriented Dynamic Learning Environment&#xff09;是一个开源的在线学习管理系统&#xff08;LMS&#xff09;&#xff0c;广泛应用于教育机构和企业培训。其核心功能包括课程管理、作业提交、在线测试、论坛互动和成绩跟…...

后智能体时代的LLM和Agent

文章目录 1. 关于AI重塑的哲学体系2. 关于AI大模型体系的认知3. 关于AI大模型体系的畅想4. 关于人和AI大模型体系的共处5. 写在最后 随着OpenAI、Deepseek、Manus等等智能体的爆火&#xff0c;人们茶前饭后、插科打诨的话题都离不开这些智能体&#xff0c;现状也正如《人民日报…...

Day6 DFS

一、跳台阶 一个楼梯共有 nn 级台阶&#xff0c;每次可以走一级或者两级&#xff0c;问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。 输入格式 共一行&#xff0c;包含一个整数 nn。 输出格式 共一行&#xff0c;包含一个整数&#xff0c;表示方案数。 数据范围 1…...

Releases(发布) 和 版本管理 是两个紧密相关的概念

在软件开发和维护中,Releases(发布) 和 版本管理 是两个紧密相关的概念,特别是在开源项目或企业软件开发中。 1. Releases(发布) Release 是指软件的一个正式发布版本,通常经过开发、测试、修复 Bug,并被认为是足够稳定和可用于生产环境的版本。 主要特点 里程碑:通…...

模型微调——模型性能提升方法及注意事项(自用)

名词补充 人为为训练数据标注的标签称为黄金标准或真实值&#xff0c;这个过程一定程度上保证训练的准确性&#xff0c;但是其人工标注的成本和时间很高&#xff0c;并且标注的标签受人的主观因素影响。 导致模型性能不佳的因素和解决办法 ①不同类别的数据不平衡&#xff1a;统…...

景联文科技:以精准数据标注赋能AI进化,构筑智能时代数据基石

在人工智能技术席卷全球的浪潮中&#xff0c;高质量数据已成为驱动AI模型进化的核心燃料。作为全球领先的AI数据服务解决方案提供商&#xff0c;景联文科技深耕数据标注领域多年&#xff0c;以技术为基、以专业为本&#xff0c;致力于为全球客户提供全场景、高精度、多模态的数…...

嵌入式L6计算机网络

Telnet不加密 socket是应用层和下面的内核...

华为鸿蒙系统全景解读:从内核设计到生态落地的技术革命

华为鸿蒙系统全景解读&#xff1a;从内核设计到生态落地的技术革命 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 华为鸿蒙系统全景解读&#x…...

2025最新软件测试面试八股文(含答案+文档)

1、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 参考答案&#xff1a; 黑盒测试&#xff1a;已知产品的功能设计规格&#xff0c;可以进行测试证明每个实现了的功能是否符合要求。 白盒测试&#xff1a;已知产品的内部工作过程…...

微前端框架 Qiankun 的应用及问题分析

一、Qiankun 的核心应用场景与优势 多技术栈共存与灵活集成 Qiankun 支持主应用与子应用使用不同技术栈&#xff08;如 Vue、React、Angular 等&#xff09;&#xff0c;通过 HTML Entry 方式接入子应用&#xff0c;无需深度改造子应用即可实现集成&#xff0c;降低了技术迁移成…...

八卡5090服务器首发亮相!

AI 人工智能领域热度居高不下。OpenAI 的 GPT - 4 凭强悍语言处理能力&#xff0c;在内容创作、智能客服等领域广泛应用。清华大学团队的 DeepSeek 大模型在深度学习训练优势突出&#xff0c;正促使各行业应用端算力需求向推理主导转变&#xff0c;呈爆发式增长 。 随着 DeepS…...

C#类型转换基本概念

一、基本定义‌ C# 类型转换是将数据从一种类型转换为另一种类型的过程&#xff0c;分为 ‌隐式转换‌ 和 ‌显式转换‌ 两类‌。 强类型语言特性‌&#xff1a;C# 要求变量类型在编译时确定&#xff0c;类型转换需满足兼容性或显式规则‌。目的‌&#xff1a;处理不同数据类…...

基于SSM+Vue+uniapp的驾校预约管理小程序+LW示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…...

关于C++数据类型char的类型是整数的思考

学习数据类型时&#xff0c;整数类型中有一个特殊的类型char&#xff0c;可以使用字符来为其赋&#xff0c;也可以用整数来为其赋值&#xff0c;这是怎么一回事&#xff1f;其实任何类型&#xff0c;在计算机的内存中&#xff0c;在最小的存储单元比特中&#xff0c;内部只有0或…...

在Spring Boot项目中分层架构

常见的分层架构包括以下几层: 1. Domain 层(领域层) 作用:领域层是业务逻辑的核心,包含与业务相关的实体类、枚举、值对象等。它是对业务领域的抽象,通常与数据库表结构直接映射。 主要组件: 实体类(Entity):与数据库表对应的Java类,通常使用JPA或MyBatis等ORM框架…...

《用Python+PyGame开发双人生存游戏!源码解析+完整开发思路分享》

导语​ "你是否想过用Python开发一款可玩性高的双人合作游戏&#xff1f;本文将分享如何从零开始实现一款类《吸血鬼幸存者》的生存射击游戏&#xff01;包含完整源码解析、角色系统设计、敌人AI逻辑等核心技术点&#xff0c;文末提供完整代码包下载&#xff01;" 哈…...

ArcGIS操作:13 生成最小外接矩阵

应用情景&#xff1a;筛选出屋面是否能放下12*60m的长方形&#xff0c;作为起降场候选点&#xff08;一个不规则的形状内&#xff0c;判断是否能放下指定长宽的长方形&#xff09; 1、面积初步筛选 Area ≥ 720 ㎡ 面积计算见 2、打开 ArcToolbox → Data Management Tools …...

manus对比ChatGPT-Deep reaserch进行研究类学术相关数据分析!谁更胜一筹?

没有账号&#xff0c;只能挑选一个案例 一夜之间被这个用全英文介绍全华班出品的新爆款国产AI产品的小胖刷频。白天还没有切换语言的选项&#xff0c;晚上就加上了。简单看了看团队够成&#xff0c;使用很长实践的Monica创始人也在其中。逐渐可以理解&#xff0c;重心放在海外产…...

android为第三方提供部分系统接口

文章目录 Settings - 亮灭屏Settings - 恢复出厂设置Settings - 数字锁屏/解锁Settings - 设置系统时间PackageInstaller - 安装/卸载第三方应用摘要:本文对系统模块进行改造,提供广播等形式的接口对外提供无法直接调用的系统级别接口,实现部分功能的集合。如果是广播形式,…...

在虚拟机上安装Hadoop

以下是在虚拟机上安装Hadoop的一般步骤&#xff1a; 准备工作 - 安装虚拟机软件&#xff1a;如VMware Workstation或VirtualBox等。 - 创建虚拟机&#xff1a;选择合适的操作系统镜像&#xff0c;如Ubuntu或CentOS等Linux发行版&#xff0c;为虚拟机分配足够的CPU、内存和磁盘…...

Python —— pow()函数

一、示例1 # 计算 2 的 3 次幂 result1 pow(2, 3) print(result1) # 输出: 8# 计算 2.5 的 2 次幂 result2 pow(2.5, 2) print(result2) # 输出: 6.25 二、示例2 # 计算 (2 ** 3) % 5 result3 pow(2, 3, 5) print(result3) # 输出: 3 三、示例3 ntxt input("请输…...

开发环境搭建-完善登录功能

一.完善登录功能 我们修改密码为md5中的格式&#xff0c;那么就需要修改数据库中的密码和将从前端获取到的密码转化成md5格式&#xff0c;然后进行比对。比对成功则登录成功&#xff0c;失败则禁止登录。 二.md5格式 使用DigestUtils工具类进行md5加密&#xff0c;调用md4Dig…...

el-table(elementui)表格合计行使用以及滚动条默认样式修改

一、el-table新增合计行以及el-table展示数据出现的问题 1. 使用合计行 el-table的属性show-summary设为true&#xff0c;即可在表格尾部展示合计行。默认情况下&#xff0c;第一列不展示数据&#xff0c;而显示合计二字&#xff0c;可以通过sum-text自己配置&#xff0c;其余…...