您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > Python

用Python构建深度学习应用

时间:2019-08-12 11:52:19  来源:  作者:

介绍

深度学习正在从根本上改变我们周围的一切。许多人认为只有成为专家才能在应用中运用深度学习,实际上并非如此。

在上一篇文章中讨论了6个初学者在几分钟内就可以建立的深度学习应用。我很高兴看到很多读者由此受到启发,所以在其后又增加了一些深度学习的应用。如果错过了我上一篇文章,建议您先去读一下。

本文中我们将学习如何利用深度学习建立例如图像自动标注、服装推荐、音乐制作等其他很多应用。这些应用中的任何一个都可以在几分钟内完成。

PS. 本文假定你了解Python的基本知识,如果不了解的话,请参考this tutorial(https://www.analyticsvidhya.com/blog/2016/01/complete-tutorial-learn-data-science-python-scratch-2/) 然后再从这儿开始。

内容列表

1.使用现有API的应用

  • 利用Clarifai API实现图像自动标注
  • 利用Indico API 实现服装推荐系统

2.开源应用

  • 运用深度学习制作音乐
  • 检测“办公室不宜(Not Safe For Work)”图像

3.实现超分辨率

  • 其他常用资源

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

1.1 自动图像标注(Clarifai API)

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

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

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

教你快速用Python构建好玩的深度学习应用

 

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

系统需求和说明:

1.Python(2或者3)

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

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

教你快速用Python构建好玩的深度学习应用

 

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

教你快速用Python构建好玩的深度学习应用

 

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

教你快速用Python构建好玩的深度学习应用

 

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

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

教你快速用Python构建好玩的深度学习应用

 

然后用以下命令运行代码

教你快速用Python构建好玩的深度学习应用

 

你将会得到如下输出:

教你快速用Python构建好玩的深度学习应用

 

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

1.2 服装推荐(Indico API)

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

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

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

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

教你快速用Python构建好玩的深度学习应用

 


教你快速用Python构建好玩的深度学习应用

 

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

系统需求和说明

1.Python 2

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

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

教你快速用Python构建好玩的深度学习应用

 

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

教你快速用Python构建好玩的深度学习应用

 

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

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

教你快速用Python构建好玩的深度学习应用

 

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

教你快速用Python构建好玩的深度学习应用

 

输入以下命令运行代码

教你快速用Python构建好玩的深度学习应用

 

你将会得到如下输出:

教你快速用Python构建好玩的深度学习应用

 

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

2 深度学习的开源应用

2.1 使用深度学习进行音乐制作

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

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

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

教你快速用Python构建好玩的深度学习应用

 

访问网站听听音乐效果(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:

教你快速用Python构建好玩的深度学习应用

 

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

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

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

教你快速用Python构建好玩的深度学习应用

 

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

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

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

教你快速用Python构建好玩的深度学习应用

 

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

系统需求:

1.Python 2

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

教你快速用Python构建好玩的深度学习应用

 

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

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

教你快速用Python构建好玩的深度学习应用

 

2.3 超级分辨率

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

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

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

教你快速用Python构建好玩的深度学习应用

 

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

系统需求

1.Python 3

第一步:在系统中安装docker

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

教你快速用Python构建好玩的深度学习应用

 

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

教你快速用Python构建好玩的深度学习应用

 

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

原文转自:https://mp.weixin.qq.com/s/8kDmqOgJUhM50llaJaGkng



Tags:Python   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  Tags: Python  点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  Tags: Python  点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  Tags: Python  点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  Tags: Python  点击:(4)  评论:(0)  加入收藏
近日只是为了想尽办法为 Flask 实现 Swagger UI 文档功能,基本上要让 Flask 配合 Flasgger, 所以写了篇 Flask 应用集成 Swagger UI 。然而不断的 Google 过程中偶然间发现了...【详细内容】
2021-12-23  Tags: Python  点击:(6)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  Tags: Python  点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  Tags: Python  点击:(9)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  Tags: Python  点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  Tags: Python  点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  Tags: Python  点击:(5)  评论:(0)  加入收藏
▌简易百科推荐
大家好,我是菜鸟哥,今天跟大家一起聊一下Python4的话题! 从2020年的1月1号开始,Python官方正式的停止了对于Python2的维护。Python也正式的进入了Python3的时代。而随着时间的...【详细内容】
2021-12-28  菜鸟学python    Tags:Python4   点击:(1)  评论:(0)  加入收藏
学习Python的初衷是因为它的实践的便捷性,几乎计算机上能完成的各种操作都能在Python上找到解决途径。平时工作需要在线学习。而在线学习的复杂性经常让人抓狂。费时费力且效...【详细内容】
2021-12-28  风度翩翩的Python    Tags:Python   点击:(1)  评论:(0)  加入收藏
Python 是一个很棒的语言。它是世界上发展最快的编程语言之一。它一次又一次地证明了在开发人员职位中和跨行业的数据科学职位中的实用性。整个 Python 及其库的生态系统使...【详细内容】
2021-12-27  IT资料库    Tags:Python 库   点击:(2)  评论:(0)  加入收藏
菜单驱动程序简介菜单驱动程序是通过显示选项列表从用户那里获取输入并允许用户从选项列表中选择输入的程序。菜单驱动程序的一个简单示例是 ATM(自动取款机)。在交易的情况下...【详细内容】
2021-12-27  子冉爱python    Tags:Python   点击:(4)  评论:(0)  加入收藏
有不少同学学完Python后仍然很难将其灵活运用。我整理15个Python入门的小程序。在实践中应用Python会有事半功倍的效果。01 实现二元二次函数实现数学里的二元二次函数:f(x,...【详细内容】
2021-12-22  程序汪小成    Tags:Python入门   点击:(32)  评论:(0)  加入收藏
Verilog是由一个个module组成的,下面是其中一个module在网表中的样子,我只需要提取module名字、实例化关系。module rst_filter ( ...); 端口声明... wire定义......【详细内容】
2021-12-22  编程啊青    Tags:Verilog   点击:(9)  评论:(0)  加入收藏
运行环境 如何从 MP4 视频中提取帧 将帧变成 GIF 创建 MP4 到 GIF GUI ...【详细内容】
2021-12-22  修道猿    Tags:Python   点击:(6)  评论:(0)  加入收藏
面向对象:Object Oriented Programming,简称OOP,即面向对象程序设计。类(Class)和对象(Object)类是用来描述具有相同属性和方法对象的集合。对象是类的具体实例。比如,学生都有...【详细内容】
2021-12-22  我头秃了    Tags:python   点击:(9)  评论:(0)  加入收藏
所谓内置函数,就是Python提供的, 可以直接拿来直接用的函数,比如大家熟悉的print,range、input等,也有不是很熟,但是很重要的,如enumerate、zip、join等,Python内置的这些函数非常...【详细内容】
2021-12-21  程序员小新ds    Tags:python初   点击:(5)  评论:(0)  加入收藏
Hi,大家好。我们在接口自动化测试项目中,有时候需要一些加密。今天给大伙介绍Python实现各种 加密 ,接口加解密再也不愁。目录一、项目加解密需求分析六、Python加密库PyCrypto...【详细内容】
2021-12-21  Python可乐    Tags:Python   点击:(8)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条