《深度学习之图像识别核心技术与案例实战》—2.1.4 Theano简介

举报
华章计算机 发表于 2019/06/01 23:42:32 2019/06/01
【摘要】 本书摘自《深度学习之图像识别核心技术与案例实战》一书中的第2章,第2.1.4节,作者是言有三 。

2.1.4  Theano简介

  Theano由蒙特利尔大学Lisa Lab团队开发并维护,是一个高性能的符号计算及深度学习库,适用于处理大规模神经网络的训练。Theano整合了Numpy,可以直接使用ndarray等功能,无须直接进行CUDA编码即可方便地进行神经网络结构设计。因为其核心是数学表达式编辑器,计算稳定性好,可以精准地计算输出值很小的函数(如log(1+x))。

  用户可自行定义各种运算,优化和评估多维数组的表达式,Theano可以编译为高效的底层代码,连接BLAS、CUDA等加速库,可以自动求导,省去了完全手工写神经网络反向传播算法的麻烦。Theano对卷积神经网络的支持很好,同时它的符号计算API支持循环控制(内部名scan),让RNN的实现非常简单并且高性能,其全面的功能也让Theano可以支持大部分state-of-the-art的网络。

  虽然Theano支持Linux、Mac和Windows,但是没有底层C++的接口,因此模型的部署非常不方便,依赖于各种Python库,并且不支持各种移动设备,所以几乎没有在工业生产环境中应用。

  Theano在CPU上的执行性能比较差,但在单GPU上执行效率不错,性能和其他框架类似。但是运算时需要将用户的Python代码转换成CUDA代码,再编译为二进制可执行文件,编译复杂模型的时间非常久。此外,Theano在导入时也比较慢,而且一旦设定了选择某块GPU,就无法切换到其他设备。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。