文档章节

机器学习PAI,妈妈再也不用担心我的freestyle了

阿里云云栖社区
 阿里云云栖社区
发布于 2017/07/21 10:19
字数 1073
阅读 10
收藏 1

  背景

  最近互联网上出现一个热词就是“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)

  

  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起来!!

  下载地址

  数据以及代码已经打包,直接上传PAI配置路径即可使用:http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/

   文章链接:http://click.aliyun.com/m/26320/

© 著作权归作者所有

共有 人打赏支持
阿里云云栖社区
粉丝 68
博文 768
码字总数 1677622
作品 0
朝阳
私信 提问
机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码)

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

音染
2017/07/20
156
0
一张图读懂阿里巴巴一站式研发协同云——云效

摘要: 程序员、测试员、项目经理,你们有freestyle吗?阿里云云效,一站式企业协同研发云,“需求->开发->测试->发布->运维->运营”端到端的协同服务和研发工具支撑,助力企业快速创新迭代和...

阿里云云栖社区
01/31
0
0
网站收藏

妈妈再也不用担心我的macbook发烫了计划2.0Beta -- kill flash http://zythum.sinaapp.com/youkuhtml5playerbookmark/ airdroid……...

luobin
2015/02/01
2
0
LiveData+ViewMode+Room初次使用

LiveData是持有被观察数据的类,是有生命周期感知的,只有在STARTED和RESUME的状态下才可通知数据的变化, 他的优点就是 再也不用担心oom了 再也不用手动处理生命周期了 实时刷新数据 ViewMode...

Magic_锋
10/29
0
0
ip2region 数据库文件更新至 2016/04/21 版本

ip2region是一个准确率达99.9%的ip到地名的映射库,0.0x毫秒级查询,数据库文件大小只有3.5M,提供了java,php,c,python查询绑定。妈妈再也不用担心我的ip地址定位! 更新内容: 数据库文件...

狮子的魂
2016/04/26
915
2

没有更多内容

加载失败,请刷新页面

加载更多

《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
11分钟前
0
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
28分钟前
1
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
1
0
HashTable和Vector为什么逐渐被废弃

HashTable,不允许键值为null,还一个就是put方法使用sychronized方法进行线程同步,单线程无需同步,多线程可用concurren包的类型。 如编程思想里面说的作为工具类,封闭性做的不好没有一个...

noob_chr
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部