首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

大白话5分钟带你走进人工智能-第36节神经网络之tensorflow的前世今生和DAG原理图解(4)

Tensorflow由Google Brain谷歌大脑开源出来的,在2015年11月在GitHub上开源,2016年是正式版,2017年出了1.0版本,趋于稳定。谷歌希望让优秀的工具得到更多的去使用,所以它开源了,从整体上提高深度学习的效率。在Tensorflow没有出来之前,有很多做深度学习的框架,比如caffe,CNTK,Theano,公司里更多的用Tensorflow。caffe在图像识别领域也会用。Theano用的很少,Tensorflow就是基于Theano。中国的百度深度学习PaddlePaddle也比较好,因为微软、谷歌、百度它们都有一个搜索引擎,每天用户访问量非常大,可以拿到用户海量的数据,就可以来训练更多的模型。

03

TensorFlow与主流深度学习框架对比

TensorFlow是相对高阶的机器学习库,用户可以方便地用它设计神经网络结构,而不必为了追求高效率的实现亲自写C++或CUDA代码。它和Theano一样都支持自动求导,用户不需要再通过反向传播求解梯度。其核心代码和Caffe一样是用C++编写的,使用C++简化了线上部署的复杂度,并让手机这种内存和CPU资源都紧张的设备可以运行复杂模型(Python则会比较消耗资源,并且执行效率不高)。除了核心代码的C++接口,TensorFlow还有官方的Python、Go和Java接口,是通过SWIG(Simplified Wrapper and Interface Generator)实现的,这样用户就可以在一个硬件配置较好的机器中用Python进行实验,并在资源比较紧张的嵌入式环境或需要低延迟的环境中用C++部署模型。SWIG支持给C/C++代码提供各种语言的接口,因此其他脚本语言的接口未来也可以通过SWIG方便地添加。不过使用Python时有一个影响效率的问题是,每一个mini-batch要从Python中feed到网络中,这个过程在mini-batch的数据量很小或者运算时间很短时,可能会带来影响比较大的延迟。现在TensorFlow还有非官方的Julia、Node.js、R的接口支持。

02

2017 深度学习框架发展大盘点——迎来 PyTorch,告别 Theano

深度学习是机器学习中一种基于对数据进行表征学习的方法,作为当下最热门的话题,谷歌、Facebook、微软等巨头纷纷围绕深度学习做了一系列研究,一直在支持开源深度学习框架的建设。 深度学习是机器学习中一种基于对数据进行表征学习的方法,作为当下最热门的话题,谷歌、Facebook、微软等巨头纷纷围绕深度学习做了一系列研究,一直在支持开源深度学习框架的建设。 过去一年间,在这些巨头的加持下,深度学习框架格局发生了极大改变:新框架横空出世,旧的框架也逐渐退出历史舞台,而框架与框架之间的联系也更加紧密,生态更为开放。

06
领券