《深度学习之图像识别:核心技术与案例实战》 ——2.1.4 Theano简介
【摘要】 本节书摘来自华章计算机《深度学习之图像识别:核心技术与案例实战》 —— 书中第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)