摘要: 背景 最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目。在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串rap。

背景

最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目。在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串rap。freestyle除了考验一个人rap的技巧,其实我觉得最难的是如何在短时间内在脑海中浮现出有韵律的歌词。

本文会介绍如何自动生成歌词,到底什么工具有这样的功效呢?答案是PAI。PAI平台是阿里云人工智能平台,在上面可以通过最简单的拖拉拽的方式,完成对各种结构化以及非结构化数据的处理。因为有了PAI,这种自动生成歌词的事情都不再成为难题。我现在不光可以瞬间生成万首歌词,我还可以同时融合周杰伦、王力宏、林俊杰、汪峰的歌词风格在里面,因为PAI利用深度学习能力可以快速的学习这些歌手的所有歌曲并且实现自己创作歌词。不信?下面我就来show一下PAI的威力。

执行过程

  • 1.首先进入PAI:https://data.aliyun.com/product/learn开通机器学习以及机器学习内的GPU服务。

  • 2.训练数据说明这里我们的数据是一份txt文件,文件中包含了周杰伦、王力宏、林俊杰、汪峰的歌词,一共有接近300首歌,歌词都是去掉标题等干扰因素的(花了好几个小时整理)。数据截图:

  • 3.实验代码说明本实验使用的是PAI内置的深度学习框架Tensorflow,使用的了seq2seq以及RNN网络进行歌词语义的学习以及建模。使用train.py文件生成模型,使用predict.py文件进行预测。以下是部分网络结构搭建的截图,大家可以在下方找到源代码下载地址进行使用。(PS:实例代码虽然可以运行,但是数据IO采用的是低效方式,高效方式可以参考此文https://yq.aliyun.com/articles/126918)

        with tf.name_scope('model'):self.cell = rnn_cell.BasicLSTMCell(args.state_size)self.cell = rnn_cell.MultiRNNCell([self.cell] * args.num_layers)self.initial_state = self.cell.zero_state(                args.batch_size, tf.float32)with tf.variable_scope('rnnlm'):                w = tf.get_variable(                    'softmax_w', [args.state_size, data.vocab_size])                b = tf.get_variable('softmax_b', [data.vocab_size])with tf.device("/gpu:0"):embedding = tf.get_variable(                        'embedding', [data.vocab_size, args.state_size])inputs = tf.nn.embedding_lookup(embedding, self.input_data)outputs, last_state = tf.nn.dynamic_rnn(self.cell, inputs, initial_state=self.initial_state)
  • 4.数据上传将实验数据和代码文件打包上传到OSS(之所以打包是本文案例使用的是原生PYTHON的数据IO方式,需要代码和训练数据组成同一个tar.gz文件)。OSS是PAI可读的对象存储工具,具体方式可以参考此视频链接https://help.aliyun.com/video_detail/54945.html

  • 5.搭建实验在PAI的画布拖动OSS以及Tensorflow组件搭建如下实验,两个Tensorflow节点分别对应着训练和预测节点,先训练生成写歌模型,然后预测节点获取模型自动生成歌词。配置对应的执行代码路径和输出路径,跟上面的OSS路径对应。下图是负责预测的Tensorflow节点配置。点击运行,PAI就开始学习歌词并且尝试自己写作啦。

写歌结果

经过差不多20分钟的学习,PAI已经掌握了几位歌坛大神的歌词技巧,下面就看看PAI写出来的歌词是怎样的。(歌词需要在log中查看,可以参考https://yq.aliyun.com/articles/72841

歌词来了,看上去写的歌还算通畅,没有出现特别多语病。当然,想写出更好的词,需要对训练模型的迭代次数、词长等参数进行不断调试,也可以多为PAI输送更多的歌词供训练,因为300多的样本还是略显单薄。

以上就是通过PAI自动写歌词的教程,希望对各位喜欢音乐和尝试做文本自动生成的同学有帮助,让我们一起freestyle起来!!

下载地址: http://click.aliyun.com/m/26320/

【玩转数据系列十五】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)相关推荐

  1. 机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)...

    摘要: 最近互联网上出现一个热词就是"freestyle",源于一个比拼rap的综艺节目.在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴 ...

  2. ERC721:全生命周期精析,妈妈再也不用担心我不会玩NFT合约啦

    ERC721:全生命周期精析,妈妈再也不用担心我不会玩NFT合约啦 由于篇幅有限,本博客将围绕ERC721核心展开介绍,文章内容尽量做到通俗易懂,但其中不可避免地可能涉及一些新手不友好的概念,您可以查 ...

  3. 《妈妈再也不用担心我的学习系列》之RabbitMQ动态修改队列名

    上一篇文章:<妈妈再也不用担心我的学习系列>之RabbitMQ快速入门 前言 在我们公司日常用RabbitMQ的时候如果多个服务都用到了队列,那么势必会有很多影响(如果不是广播模式队列是轮 ...

  4. 【玩转数据系列十三】机器学习算法基于信用卡消费记录做信用评分

    原文链接 机器学习算法基于信用卡消费记录做信用评分 背景 如果你是做互联网金融的,那么一定听说过评分卡.评分卡是信用风险评估领域常用的建模方法,评分卡并不简单对应于某一种机器学习算法,而是一种通用的建 ...

  5. 决策树算法,妈妈再也不用担心我不想学机器学习了

    目录 1.决策树是什么 2.决策树有什么优点 3.决策树的缺点 3.1决策树常用的预处理数据的方法 4.决策树重要参数 4.1criterion 4.2 random_state & spli ...

  6. 使用EXCEL绘制三维地图(超简单的五分钟绘制地图方法,妈妈再也不用担心我不会画地图啦~)

    博主为从区域规划转行地图学的小学渣一枚,最近处理数据希望对结果进行三维可视化,意外发现从小用到大的EXCEL可以绘制地图且功能非常强大,在这里做一下简单介绍,希望可以给看官提供些许帮助.那下面就开始吧 ...

  7. (计算机组成原理)第二章数据的表示和运算-第一节1:一文总结进制转换,妈妈再也不用担心我不会进制转换了

    文章目录 一:进位计数法 二:进制转换 (1)其他进制数转换为十进制 (2)十进制数转化为其他进制数 (3)二进制.八进制和十六进制的相互转换 三:真值和机器数 一:进位计数法 进位计数法是一种计数的 ...

  8. 妈妈再也不用担心孩子偷玩手机了!微信升级“青少年模式”

    近年来,青少年的身心健康越来越被社会重视.各大网络平台.APP纷纷推出了青少年模式,包括微信.Bilibili.腾讯视频.优酷视频.爱奇艺.抖音等主流网络平台.6月1日,在这个特殊的日子,微信再次升级 ...

  9. 【自动回复or提醒小助手】妈妈再也不用担心我漏掉消息了(10行代码系列)

    前言

  10. 安卓开发编程实训机构!妈妈再也不用担心我的面试,吊打面试官系列!

    前言 对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于专科,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个专科渣渣也奋斗了起来 ...

最新文章

  1. Kafka 可视化客户端工具(Kafka Tool)的基本使用
  2. 20个超高效的Linux命令与技巧
  3. python数据类型详解(全面)
  4. 【struts2】第一个struts2实例
  5. iOS Application Security
  6. 想离职,是现在就提?还是等到年后?
  7. APUE读书笔记-15进程内部通信-05FIFOs
  8. 哈希表存在的问题及解决方案
  9. html5实现单点登录,用 Authing 10分钟实现单点登录(SSO)
  10. DevExpress控件学习之GridControl的Row拖拽
  11. web一阶段 day13 阿里矢量图库的使用方法
  12. Bandicam 录屏设置
  13. notablilty笔记本模板_notability实测,让你上天的笔记软件
  14. 推流地址 java_如何通过代码生成推流地址和播放地址?
  15. tf.one_hot()的用法
  16. Java期末大作业基础项目--在线学生选课系统
  17. 无线模块在分布式数据采集中的应用
  18. Xmanager远程连接Linux系统图形界面详解
  19. 教你如何正确的使用word 打印ppt
  20. ABP 跨域 一共需要改四个地方

热门文章

  1. 百度程序题目----连续数问题
  2. 垃圾场恶臭环境监测系统方案
  3. 编程语言的宗教狂热和十字军东征 (转)
  4. 编程c语言counter,c语言中计算平均分时,计数器(counter)的初始化
  5. Java算法:牛客网哔哩哔哩bilibili笔试真题算法Java版1-14题
  6. input 属性开启手机前置摄像头拍照
  7. windows pagefile.sys配置调整
  8. 结合面向对象设计原则分析正方形是否为长方形的子类
  9. 网吧游戏服务器制作教程,图文教程:网吧无盘系统服务端设置细节
  10. FFmpeg将多张图片合成视频