深度学习入门term

本文介绍了深度学习的常见框架,如TensorFlow、Keras、Caffe/Caffe2、MXNet和PyTorch,以及一些关键术语,如batch、iterations、epochs、stride、pad和卷积类型。对比了各框架的特点,如TensorFlow的复杂性,Keras的易用性,Caffe的效率,PyTorch的灵活性,并探讨了动态图与静态图的差异。同时,解释了深度学习训练中的迭代、周期和感受野等概念。
摘要由CSDN通过智能技术生成

常见框架

TensorFlow

编程接口支持Python和C++。随着1.0版本的公布,Java、Go、R和Haskell API的alpha版本也被支持。此外,TensorFlow还可在Google Cloud和AWS中运行。TensorFlow还支持 Windows 7、Windows 10和Windows Server 2016。由于TensorFlow使用C++ Eigen库,所以库可在ARM架构上编译和优化。这也就意味着用户可以在各种服务器和移动设备上部署自己的训练模型,无须执行单独的模型解码器或者加载Python解释器。
但,其系统设计复杂、底层运行机制难以学习;接口快速迭代且没有很好地考虑向后兼容性,导致许多开源代码已经无法在新版的TensorFlow上运行;创造了图、会话、命名空间、PlaceHolder等诸多抽象概念,同一个功能提供了多种实现但良莠不齐。

Keras

Keras是一个高层神经网络API,由纯Python编写而成,并使用TensorFlow、Theano及CNTK作为后端。Keras为支持快速实验而生,能够把想法迅速转换为结果。Keras应该是深度学习框架之中最容易上手的一个,它提供了一致而简洁的API, 能够极大地减少一般应用下用户的工作量,避免用户重复造轮子。严格意义上讲,Keras并不能称为一个深度学习框架,它更像一个深度学习接口,它构建于第三方框架之上。
Keras的缺点很明显:过度封装导致丧失灵活性;过度封装也使得Keras的程序过于缓慢,许多BUG都隐藏于封装之中,在绝大多数场景下,Keras是本文介绍的所有框架中最慢的一个;在使用Keras的大多数时间里,用户主要是在调用接口,很难真正学习到深度学习的内容。

Caffe/Caffe2

Caffe的全称是Convolutional Architecture for Fast Feature Embedding,它是一个清晰、高效的深度学习框架,核心语言是C++,它支持命令行、Python和MATLAB接口,既可以在CPU上运行,也可以在GPU上运行。

Caffe简洁快速但缺少灵活性。不同于Keras的缺少灵活性,在Caffe中最主要的抽象对象是层,每实现一个新的层,必须要利用C++实现它的前向传播和反向传播代码,而如果想要新层运行在GPU上,还需要同时利用CUDA实现这一层的前向传播和反向传播,还有诸多问题(包括灵活性缺失、扩展难、依赖众多环境难以配置、应用局限等)。尽管现在在GitHub上还能找到许多基于Caffe的项目,但是新的项目已经越来越少。

Caffe2沿袭了大量的Caffe设计,可解决多年来在 Caffe 的使用和部署中发现的瓶颈问题。Caffe2的设计追求轻量级、扩展性、高性能、便携性。其 Python 和 C++ API 使用户可以轻松地在 Linux、Windows、iOS、Android ,甚至 Raspberry Pi 和 NVIDIA Tegra 上进行原型设计、训练和部署。Caffe2继承了Caffe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值