4款深度学习框架简介,初学者该如何选择?
导读:近几年,随着深度学习爆炸式发展,在人工智能领域除了理论方面的突破外,还有基础架构的突破,它们奠定了深度学习繁荣发展的基础。这其中涌现了几个著名的深度学习平台,本文将对这些平台进行逐一介绍。
作者:杜振东 涂铭
来源:大数据DT(ID:hzdashuju)
-
总结:深度学习新手可以使用Theano来练习,但对于职业开发者,建议使用其他主流深度学习框架。
-
由于TensorFlow的接口一直处于快速迭代之中,并且版本之间存在不兼容的问题,因此开发和调试过程可能会出现问题(许多开源代码无法在新版的TensorFlow上运行)。 -
想学习TensorFlow底层运行机制的读者需要做好心理准备,TensorFlow在GitHub代码仓库的总代码量超过100万行,系统设计比较复杂,因此这将是一个漫长的学习过程。 -
在代码层面,面对同一个功能,TensorFlow提供了多种实现,这些实现良莠不齐,使用中还有细微的差异,请读者注意区分。另外,TensorFlow创造了图、会话、命名空间、PlaceHolder等诸多抽象概念,对普通用户来说难以理解。
-
总结:凭借Google强大的推广能力,TensorFlow已经成为当今最炙手可热的深度学习框架,虽不完美但是最流行。目前各公司使用的框架也不统一,读者有必要多学习几个流行框架以作为知识储备,TensorFlow就是一个不错的选择。
-
总结:Keras比较适合作为深度学习框架,但是过度的封装并不适合新手学习(无法理解深度学习的真正内涵),故不推荐。
-
使用强大的GPU加速的Tensor计算(类似 Numpy)。 -
构建基于tape框架的autograd系统深度神经网络。
-
总结:如果说TensorFlow的设计是“Make it complicated”,Keras的设计是“Make it complicated and hide it”,那么PyTorch的设计真正做到了“Keep it Simple,Stupid”。
关于作者:杜振东,国家标准委人工智能技术专家和AIIA(中国人工智能产业发展联盟)技术专家。拥有8年机器学习与文本挖掘相关技术经验,6年中文自然语言处理相关项目实战经验,擅长PyTorch、TensorFlow等主流深度学习框架,擅长运用NLP前沿技术解决真实项目的难题。
涂铭,数据架构师和人工智能技术专家,曾就职于阿里,现就职于腾讯。对大数据、自然语言处理、图像识别、Python、Java等相关技术有深入的研究,积累了丰富的实践经验。
干货直达👇
评论