昇思学习打卡-15-热门LLM及其他AI应用/基于MindNLP+MusicGen生成自己的个性化音乐

文章目录

  • MusicGen
  • 权重选择
  • 生成音乐
    • 采样模式(Sampling)
    • 贪心模式(Greedy Search)
    • 使用

学习使用MindNLP+MusicGen生成自己的个性化音乐的流程

MusicGen

MusicGen模型基于Transformer结构,可以分解为三个不同的阶段:

  • 用户输入的文本描述作为输入传递给一个固定的文本编码器模型,以获得一系列隐形状态表示。
  • 训练MusicGen解码器来预测离散的隐形状态音频token。
  • 对这些音频token使用音频压缩模型(如EnCodec)进行解码,以恢复音频波形。

权重选择

使用预训练方式,选择谷歌的t5-base及其权重作为文本编码器模型,使用EnCodec 32kHz及其权重作为音频压缩模型。选择权重时,选择small规格的预训练权重

生成音乐

MusicGen支持两种生成模式:贪心(greedy)和采样(sampling)。

采样模式(Sampling)

  • 特点:
    采样模式是基于概率分布随机选择词作为输出。这种方法能够增加输出的多样性,使得生成的文本更加自然和富有变化。
    在大语言模型中,采样模式通常涉及从模型预测的概率分布中随机选择一个词作为下一个词,然后根据这个选择继续生成后续的文本。
  • 优势:
    多样性:采样模式能够生成多样化的文本,避免重复和单调。
    自然性:生成的文本在连贯性和自然性方面通常优于贪心模式,因为它考虑了概率分布中的多个候选词。

采样模式更适用于需要生成多样化、自然文本的场景。

贪心模式(Greedy Search)

  • 特点:
    贪心模式在每一步都选择概率最高的词作为输出,直到生成结束符。这种方法追求局部最优解,但在整体上可能不是最优的。
    在大语言模型中,贪心模式通常涉及在每一步都选择模型预测概率最高的词,并基于这个选择继续生成后续的文本。
  • 优势:
    效率:贪心模式实现简单,计算效率高,因为它不需要考虑多个候选词。
    确定性:生成的文本是确定的,因为每一步都选择了概率最高的词。
  • 缺点:
    多样性不足:由于每一步都选择概率最高的词,生成的文本可能缺乏多样性。
    可能陷入局部最优:贪心模式可能无法找到全局最优解,因为它只关注当前步骤的最优选择。

贪心模式则更适用于对计算资源有严格限制且对输出多样性要求不高的场景。

使用

在实际执行过程中,采样模式得到的结果要显著优于贪心模式。因此我们默认启用采样模式。
例如,在生成音乐时,调用MusicgenForConditionalGeneration.generate,设置do_sample=True来显式指定使用采样模式。

audio_values = model.generate(**unconditional_inputs, do_sample=True, max_new_tokens=256)

在这里插入图片描述
此章节学习到此结束,感谢昇思平台。

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

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

相关文章

文心快码——百度研发编码助手

介绍 刚从中国互联网大会中回来,感受颇深吧。百度的展商亮相了文心快码,展商人员细致的讲解让我们一行了解到该模型的一些优点。首先,先来简单介绍一下文心快码吧。 文心快码(ERNIE Code)是百度公司推出的一个预训练…

AGI 之 【Hugging Face】 的【问答系统】的 [Haystack构建问答Pipeline] 的简单整理

AGI 之 【Hugging Face】 的【问答系统】的 [Haystack构建问答Pipeline] 的简单整理 目录 AGI 之 【Hugging Face】 的【问答系统】的 [Haystack构建问答Pipeline] 的简单整理 一、简单介绍 二、构建问答系统 三、用Haystack构建问答pipeline 1、检索器 2、阅读器 3、初…

24暑假计划

暑假计划: 1.从明天起开始将C语言的部分补充完整,这部分的预计在7月24日前完成 2.由于之前的文章内容冗余,接下来进行C语言数据结构的重新编写和后面内容的补充预计8月10号前完成 3.后续开始C的初级学习

YOLOv5改进 | 注意力机制| 对小目标友好的BiFormer【CVPR2023】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…

从新手到进阶:高效设计 Tableau 可视化的 5 种技巧 | 数据可视化分析

让我们一起跟着大神学习五个超实用的技巧,加速你的可视化分析之旅! 在日常分析中,人人都想实现可视化最佳实践。然而,对于很多初学者来说,在还未熟练掌握 Tableau 的情况下,这种愿望貌似不太符合实际。 为…

【HarmonyOS】获取通讯录信息

【HarmonyOS】获取通讯录信息 一、问题背景: 在Android和IOS中,获取手机通讯录信息的方式,一般是申请通讯录权限后,获得手机所有的通讯录列表信息。 在鸿蒙中,因为权限方式安全性提高的变更:将用户权限限…

【八股系列】CSS盒模型:掌握网页布局的核心

🎉 博客主页:【剑九 六千里-CSDN博客】 🎨 上一篇文章:【Vue中的<keep-alive>组件:深入解析与实践指南】 🎠 系列专栏:【面试题-八股系列】 💖 感谢大家点赞&…

爬虫管理解决方案:让数据收集变得高效且合规

一、为何数据收集的效率与合规性同等重要? 随着大数据技术的飞速发展,数据收集已成为企业决策与市场洞察的核心驱动力。然而,在信息海洋中精准捕捞的同时,如何确保这一过程既高效又不触碰法律的红线,是每个数据实践者…

使用嵌入式知识打造智能手环:nRF52蓝牙开发实战(C++/BLE/传感器)

项目概述 现代人越来越注重健康管理,智能穿戴设备应运而生。本项目旨在利用低功耗蓝牙芯片nRF52832,结合加速度计、心率传感器、陀螺仪等传感器,开发一款功能完善、性能稳定的智能运动手环。该手环能够实时采集用户的运动数据和生理指标&…

用MATLAB绘制三向应力圆

% 定义主应力值 sigma1 100; % MPa sigma2 50; % MPa sigma3 -33; % MPa sigma_m1(sigma1 sigma3)/2; sigma_m2(sigma1 sigma2)/2; sigma_m3(sigma2 sigma3)/2; % 计算半径 r1 (sigma1 - sigma3) / 2; r2 (sigma1 - sigma2) / 2; r3 (sigma2 - sigma3…

《mysql篇》--JDBC编程

JDBC是什么 JDBC就是Java DataBase Connectivity的缩写,翻译过来就很好理解了,就是java连接数据库。所以顾名思义,JDBC就是一种用于执行SQL语句的JavaApl,是Java中的数据库连接规范。为了可以方便的用Java连接各种数据库&#xff…

【Python】从基础到进阶(三):深入了解Python中的运算符与表达式

🔥 个人主页:空白诗 文章目录 一、引言二、运算符1. 算术运算符2. 比较运算符3. 逻辑运算符4. 位运算符5. 赋值运算符6. 其他运算符 三、表达式1. 表达式的定义2. 运算符的优先级3. 使用括号提升可读性4. 组合运算符与复合表达式 四、案例:计…

微信管理神器能解决哪些问题?

1、为了自身利益,销售离职单独干(带走客户) 企业的客户都被销售带走了,那企业会遭到一定的损失,客户的资源是非常保密或重要的。 2、销售客户难以统计,不知道销售整体在干啥(没有统计&#xf…

redis学习(009 实战:黑马点评:缓存穿透、缓存雪崩 、缓存击穿)

黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第40p-第p45的内容 文章目录 缓存穿透解决方案缓存空对象布隆过滤 解决方案实现缓存穿透总结 缓存雪崩解决方案 缓存击穿解决方…

Codeforces Round 957 (Div.3)

传送门 A. Only Pluses 时间限制:1秒 空间限制:256MB 输入:标准输入 输出:标准输出 问题描述 Kmes 写下了三个整数 a、b 和 c,以记住他要给 Noobish_Monk 的香蕉数量是 a b c。 Noobish_M…

vue3<script setup>自定义指令

main.ts // 自定义指令 app.directive(color,(el,binding) > {el.style.color binding.value })这段代码定义了一个名为color的自定义指令,并将其注册到Vue应用实例app上。自定义指令接收两个参数:el和binding。el是绑定指令的元素,而bi…

Ubuntu22.04安装NIVIDIA显卡驱动总结

1.首先在安装驱动时需要判断系统有无GPU以及GPU的型号 可以参考这篇文章: https://blog.51cto.com/u_13171517/8814753#:~:textubuntu%20%E7%B3%BB%E7%BB%9F%20%E6%80%8E%E4%B9%88%E5%88%A4%E6%96%AD%E7%B3%BB%E7%BB%9F%E6%9C%89%E6%B2%A1%E6%9C%89GPU%201%20%E6%…

【C++】函数重载详解

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

【LLM大模型】Langchain 介绍与入门

官方介绍 LangChain 是一个利用LLM开发应用程序的框架。它让应用程序具备: 上下文感知能力:将LLM连接到上下文源(提示说明、少量示例、用以形成其响应的内容等)推理:依靠LLM进行推理(例如根据提供的上下文…

全网最详细单细胞保姆级分析教程

各位读者,好久不见,我又归来了,之后的一段时候我将以Rstudio分析单细胞的RNA-seq流程为主,希望各位读者朋友多多支持! 1. pbmc单样本分析 1.包的加载 library(multtest) library(dplyr) library(Seurat) library(patchwork) library(R.utils)2. 清除环境变量 rm(list ls))…