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

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

2.1.7  Chainer简介

  Chainer是一个由Preferred Networks公司推出并获得英特尔支援,专门为高效研究和开发深度学习算法而设计的开源框架。Chainer使用纯Python和NumPy提供了一个命令式的API,为复杂神经网络的实现提供了更大的灵活性,加快了迭代速度,提高了实现深度学习算法的能力。

  现在的复杂神经网络(如循环神经网络或随机神经网络)带来了新的性能改进和突破,虽然常用框架同样可以实现这些复杂神经网络,但编程非常冗余复杂,可能会降低代码的开发效率和可维护性。而Chainer的特点即在训练时“实时”构建计算图,正适合此类复杂神经网络的构建。这种方法可以让用户在每次迭代时(或者对每个样本)根据条件更改计算图。同时也很容易使用标准调试器和分析器来调试和重构基于Chainer的代码。

  不同于其他基于Python接口的框架(如TensorFlow),Chainer通过支持兼容NumPy的数组间运算的方式,提供了声明神经网络的命令式方法,可以通过反向追踪从最终损失函数到输入的完整路径来实现反向计算。完整路径在执行正向计算的过程中进行存储,不用预先定义计算图。标准神经网络的运算在Chainer类中是通过Link类实现的,如线性全连接层和卷积层。

  Link可以看作是当前网络层的学习参数的一个函数,比如一个Linear Link就代表数学表达式f(x)=wx+b,用户也可以创建一个包含许多Link的Link。这样的一个Link容器被命名为Chain。这使得Chainer将神经网络建模成一个包含多个Link和多个Chain的层次结构。Chainer还支持最新的优化方法、序列化方法及使用CuPy的由CUDA驱动的更快速计算,目前已在丰田汽车、松下和FANUC等公司投入使用。


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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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