it零基础自学顺序,it零基础怎么自学

首页 > 经验 > 作者:YD1662022-10-27 07:31:36

另外,从成本上还可以做一个对比。p2.8xLarge实例每小时的费用是7.2美元。而我自己那台计算机总共的花费了是¥16,904元。这个成本足够让我使用350多个小时的p2.8xLarge。在一年里使用AWS深度学习站就可以抵消掉我所有的付出。随着技术的不断的升级换代,我可以不断的升级我的实例,从而可以用有限的成本获得更大、更多的处理资源。这其实也是云计算的价值所在。

云计算和深度学习究竟有什么关系?今年的8月8号,在IDG网站上发表了一篇文章谈到了这个话题。文章中做了这样一个预言:如果深度学习的并行能力不断提高,云计算所提供的处理能力也不断发展,两者结合可能会产生新一代的深度学习,将带来更大影响和冲击。这个是需要大家考虑和重视的一个方向!

软件

深度学习除了硬件的基础环境之外。程序员会更关心与开发相关的软件资源。这里我罗列了一些自己曾经使用过的软件框架和工具。

it零基础自学顺序,it零基础怎么自学(13)

Scikit-learn是最为流行的一个Python机器学习库。它具有如下吸引人的特点:简单、高效且异常丰富的数据挖掘/数据分析算法实现;基于NumPy、SciPy以及Matplotlib,从数据探索性分析,数据可视化到算法实现,整个过程一体化实现;开源,有非常丰富的学习文档。

Caffe专注在卷及神经网络以及图像处理。不过Caffe已经很久没有更新过了。这个框架的一个主要的开发者贾扬清也在今年跳槽去了Google。也许曾经的霸主地位要让位给他人了。

Theano是一个非常灵活的Python机器学习的库。在研究领域非常流行,使用上非常方便易于定义复杂的模型。Tensorflow的API非常类似于Theano。我在今年北京的QCon大会上也分享过关于Theano的话题。Jupyter Notebook是一个很强大的基于IPython的Python代码编辑器,部署在网页上,可以非常方便的进行交互式的处理,很适合进行算法研究和数据处理。

Torch是一个非常出色的机器学习的库。它是由一个比较小众的Lua语言实现的。但是因为LuaJIT的使用,程序的效率非常出色。Facebook在人工智能领域主打Torch,甚至现在推出了自己的升级版框架Torchnet。

深度学习的框架非常之多,是不是有一种乱花渐欲迷人眼的感觉?我今天向各位程序员重点介绍的是将是TensorFlow。这是2015年谷歌推出的、开源的面向机器学习的开发框架,这也是Google第二代的深度学习的框架。很多公司都使用了TensorFlow开发了很多有意思的应用,效果很好。

用TensorFlow可以做什么?答案是它可以应用于回归模型、神经网络以深度学习这几个领域。在深度学习方面它集成了分布式表示、卷积神经网络(CNN)、递归神经网络(RNN)以及长短期记忆人工神经网络(Long-Short Term Memory,LSTM)。关于Tensorflow首先要理解的概念就是Tensor。在辞典中对于这个词的定义是张量,是一个可用来表示在一些向量、标量和其他张量之间的线性关系的多线性函数。实际上这个表述很难理解,用我自己的语言解释Tensor就是“N维数组”而已。

it零基础自学顺序,it零基础怎么自学(14)

使用TensorFlow,作为程序员必须明白TensorFlow这样几个基础概念:它使用图(Graph)来表示计算任务;在被称之为会话(Session)的上下文(Context)中执行图;使用Tensor表示数据;通过变量(Variable)维护状态;使用feed和fetch可以为任意的操作(arbitrary operation)赋值或者从其中获取数据。一句话总结就是,TensorFlow就是有状态图的数据流图计算环境,每个节点就是在做数据操作,然后提供依赖性和指向性,提供完整数据流。

TensorFlow安装非常简单,但官网提供下载的安装包所支持的CUDA的版本是7.5。考虑到CUDA 8的让人心动的新特性以及不久就要正式发布的现状。或许你会考虑立即体验CUDA 8,那么就只能通过编译Tensorflow源代码而获得。目前TensorFlow已经支持了Python2.7、3.3 。此外,对于使用Python语言的程序员还需要安装所需要的一些库,例如:numpy、protobuf等。对于卷积处理而言,cuDNN是公认的性能最好的开发库,请一定要安装上。常规的Tensorsorflow的安装很简单,一条命令足矣: $ pip3 install —upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.11.0rc0- cp35-cp35m-linux_x86_64.whl

如果想评估一下或者简单学习一下,还可以通过Docker进行安装,安装的命令如下: $ docker run -it -p 8888:8888 gcr.io/tensorflow/tensorflow

TensorFlow有很多优点。首先,目前为止,深度学习的开发框架里面TensorFlow的文档做的最好,对程序员学习而言是非常好的一点。第二,TensorFlow有丰富的参考实例,作为参考学习起来非常容易。第三,开发者社区活跃,在任何一个深度学习的社区里,都有大量关于TensorFlow的讨论。第四,谷歌的支持力度非常大,从2015年到现在升级速度非常快,这是其他开源框架远远达不到的结果。

参考TensorFlow的白皮书,我们会看到未来TensorFlow还将会有巨大的发展潜力。让我特别感兴趣是这两个方向。第一,支持跨多台机器的Parallelisation。尽管在0.8版本中推出了并行化的能力,但是目前还不完善。随着未来不断发展,依托云计算的处理能力的提升这个特性将是非常让人振奋的。第二,支持更多的开发语言,对于开发者来说这是一个绝大的利好,通过使用自己擅长的语言使用TensorFlow应用。这些开发语言将会扩展到Java、Lua以及R等。

在这里我想给大家展示一个应用Tensorflow的例子。这个例子的代码托管在这个网址上: https://github.com/anishathalye/neural-style 白俄罗斯的现代印象派艺术家Leonid Afremov善于用浓墨重彩来表现都市和风景题材,尤其是其雨景系列作品。他习惯用大色块的铺陈来营造光影效果,对反光物体和环境色的把握非常精准。于是我就找到了一张上海东方明珠电视塔的一张摄影作品,我希望通过Tensorflow去学习一下Leonid Afremov的绘画风格,并将这张东方明珠的照片处理成那种光影色彩丰富的作品风格。利用Tensorflow以及上面提到的那个项目的代码,在一个AWS的p2类型的实例上进行了一个一千次的迭代,于是就得到了下图这样的处理结果。

it零基础自学顺序,it零基础怎么自学(15)

这个处理的代码只有350行,模型使用了一个成名于2014年ImageNet比赛中的明星VGG。这个模型非常好,特点就是“Go deeper”。

TensorFlow做出这样的作品,并不仅仅作为娱乐供大家一笑,还可以做更多有意思的事情。将刚才的处理能力推广到视频当中,就可以看到下图这样的效果,用梵高著名的作品”星月夜“的风格就加工成了这样新的视频风格。

it零基础自学顺序,it零基础怎么自学(16)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.