5招教你用Python构建好玩的深度学习应用


0?wx_fmt=png

内容列表

 


1.使用现有API的应用

  • 利用Clarifai API实现图像自动标注

  • 利用Indico API 实现服装推荐系统

2.开源应用

  • 运用深度学习制作音乐

  • 检测“办公室不宜(Not Safe For Work)”图像

3.实现超分辨率

  • 其他常用资源


1、使用现有API的深度学习应用

 

1.1 自动图像标注

    (Clarifai API)


图像标注是具有突破性意义的深度学习应用之一。和文本数据不一样,机器解析图像数据要困难得多,机器需要更深入地理解像素数据。因此我们通过图像标注来分析图像,由此得到图像分类并且辨识出相应的对象。


这就是我们使用图像标注来分析图像的原因。图像标注能告诉我们图像分类和辨识对象是什么。


下面是一个通过深度学习预测图像标注的例子:

640?wx_fmt=png


下面就让我们来看看Clarifai提供的API是如何给上面的每幅图标注特征的。


系统需求和说明:

1.Python(2或者3)

2.互联网连接(能获取API端点)  


第一步:在Clarifai网站上注册,获取API key。然后在开发者页面(https://indico.io/demos/clothing-matching)找到API的证书


640?wx_fmt=png


第二步:在终端输入以下命令安装Clarifai的Python客户端

640?wx_fmt=png


第三步:使用Clarifai客户端来配置系统

0?


这一步需要提供客户端ID和客户端密钥。这些能在开发者页面找到。


第四步:生成文件application.py,加入下面标注图像的代码。请记住把代码中替换成你想标注的图像的路径。

0?


然后用以下命令运行代码

0?


你将会得到如下输出:

0?


这个JSON输显示了预测的结果。你可以在outputs->data-> concept->name里找到相关的标注。


1.2 服装推荐

     (Indico API)


推荐系统正逐渐成为一种巨大的财富。随着产品种类的增加,企业十分需要一种能够智能锁定产品潜在消费者的工具。深度学习恰恰能在这方面很好地帮助我们。


我并不是个时髦的人,但我发现人们会“浪费”大量时间在选择穿哪件衣服上。要是能有个人工智能代理知道我们的喜好,并能给我们建议最佳搭配该多好呀!


幸运的是,深度学习正让这个成为可能。

你可以在here(https://indico.io/demos/clothing-matching)找到这个应用的演示。


0?

0?

official article (https://indico.io/blog/fashion-matching-tutorial/)文中有更详细的描述。现在让我们看看如何建立这个推荐系统:


系统需求和说明

1.Python 2

2.互联网连接(获取API端点)

 

第一步: 在Indico website(https://indico.io/pay-per-call)上注册获取你自己的API key

0?


第二步:在命令行窗口输入以下命令,安装Indico的python客户端

0?


第三步:Github(https://github.com/IndicoDataSolutions/SuperCell)下载Repository。解压并进入“matching clothes”目录

 

第四步:在main.py文件中加入如下代码。记住将YOUR_API_KEY替换成在第一步中获取的你自己的KEY

640?wx_fmt=png


在末尾将 ‘if __name__ == “__main__”'替换成如下代码

640?wx_fmt=png


输入以下命令运行代码

640?wx_fmt=png


你将会得到如下输出:

640?wx_fmt=png


这段输出表示上面例子中匹配的概率。



2、深度学习的开源应用

 

2.1 使用深度学习

     进行音乐制作


音乐制作是深度学习最酷的应用之一。下面这个应用如果能运用得当的话,将带来突破性的发展。


和自然中的其他事物一样,音乐是和谐的。音乐具备一种我们能捕捉和理解的模式。而这些音乐模式对计算机来说是可以学习的,并能被用来产生新的音乐旋律。这就是音乐制作背后的原理。


This open source application(https://deepjazz.io/)就是基于这一点建立的。下面是它所产生的音乐的一个例子。


640?wx_fmt=png


访问网站听听音乐效果(https://soundcloud.com/deepjazz-ai/deepjazz-on-metheny-128-epochs)

现在让我们来复制这个结果吧!


系统需求:

1.Python (2 或 3)


第一步:安装关联软件

首先安装Theano,注意必须安装最新版的Theano, 可以在here(http://deeplearning.net/software/theano/install.html#bleeding-edge-install-instructions)找到安装指南。


然后用以下命令安装Keras:

640?wx_fmt=png


然后按照here(https://keras.io/backend/)提供的指南,把Keras的后端从tensorflow 变成Theano。


最后一个关联软件是Music21。参照this(http://web.mit.edu/music21/doc/installing/index.html)链接进行安装。

 

第二步: 运行以下命令生成音乐

640?wx_fmt=png


2.2 检测“办公室不宜

   (Not Safe For Work)”图像


虽然审查制度是个颇具争议的话题,但是它仍然是为浏览者过滤出带有攻击性的成人内容的重要组成部分。以下应用主要聚焦于过滤出NFSW类型的内容和辨认色情图像方面。系统返回的分数能表示NFSW的倾向性,从而过滤出在一定阈值之上的图像。


下面是三张预测图像和系统给出的NFSW分数。


640?wx_fmt=png


让我们来看看如何建立这样一个应用。


系统需求:

1.Python 2


第一步:在系统中安装docker(https://docs.docker.com/engine/installation/)并且用以下命令建立一个图像 

640?wx_fmt=png


第二步:从Github下载repository并且解压(https://github.com/yahoo/open_nsfw)

 

第三步:在你的下载目录下运行以下命令。 给出你要分析的图像路径

640?wx_fmt=png


2.3 超级分辨率


我们经常在电影中看到这样的镜头:放大图像后看到了最精细的细节,然后据此抓住了罪犯或者找到关键证据。



(Let us enhance)


但事实并非如此,当你放大图像时,图像往往是变得模糊不清。为了处理这个问题(使梦想变为现实),我们可以使用深度学习来提高图像分辨率,帮助我们得到清晰的放大效果。


下面这个应用就是以上场景的实现,这里有一个输出的例子。


640?wx_fmt=png


现在来看看如何建立这个应用。


系统需求

1.Python 3

 

第一步:在系统中安装docker  


第二步:打开 .bashrc 文件并输入以下代码

640?wx_fmt=png


第三步:现在提升你的图像,在下面的代码中加入图像的文件名

640?wx_fmt=png



3、其他常用的资源

 


深度学习一直不断带给我们惊喜,伴随着无数应用的开发,各行各业利用这项技术展开竞争大有星火燎原之势。在本文结束之前,我很愿意再列举些可能对您有启发的资源。


Course material on “Applications of Deep Learning”

Projects done by students of Stanford’s CS231n ’16 batch

Projects done by students of Stanford’s CS224d ’16 batch

List of Deep Learning Startups


原文发布时间为:2017-03-26

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“BigDataDigest”微信公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值