深度学习网络搭建与编程范式
2017-08-09 09:49
204 查看
TensorFlow搭建网络时采用static graphs,即先用函数式的编程范式定义网络,再训练,定义网络结构时没有计算,计算全部在训练模块里。搭建网络时,函数作为变量传递给函数。
PyTorch搭建网络时采用dynamic graphs,不事先搭建网络直接计算,计算过程本身就是网络的结构,属于(命令式)面向过程/基于对象的编程范式。这是人们习惯的命令式的”define by run“编程范式。
知乎各种吹捧函数式编程,却又更喜欢PyTorch,因为在Tensorflow中需要把控制流封装成functor很麻烦。还有一个原因是static graphs不能用来实现RNN等网络,TensorFlow Fold中实现了Dynamic Batching算法以实现动态图的功能。
参考文献:
M. Looks, et al. DEEP LEARNING WITH DYNAMIC COMPUTATION GRAPHS, ICLR 2017
PyTorch搭建网络时采用dynamic graphs,不事先搭建网络直接计算,计算过程本身就是网络的结构,属于(命令式)面向过程/基于对象的编程范式。这是人们习惯的命令式的”define by run“编程范式。
知乎各种吹捧函数式编程,却又更喜欢PyTorch,因为在Tensorflow中需要把控制流封装成functor很麻烦。还有一个原因是static graphs不能用来实现RNN等网络,TensorFlow Fold中实现了Dynamic Batching算法以实现动态图的功能。
参考文献:
M. Looks, et al. DEEP LEARNING WITH DYNAMIC COMPUTATION GRAPHS, ICLR 2017
相关文章推荐
- 神经网络与深度学习编程练习(coursera 吴恩达 )(3)
- 深度学习_caffe (4) 基于mnist实例搭建新的神经网络&在caffe中添加层
- 从零开始深度学习搭建神经网络(一)
- 用深度学习网络搭建一个聊天机器人(一)
- 借助英特尔幸运28平台搭建® 优化 Chainer* 管理深度学习网络
- 深度学习_caffe (4) 基于mnist实例搭建新的神经网络&在caffe中添加层(续1)
- 神经网络与深度学习编程练习(coursera 吴恩达 )(2)
- Coursera 深度学习 deep learning.ai 吴恩达 神经网络和深度学习 第一课 第二周 编程作业 Python Basics with Numpy
- 深度学习基础模型算法原理及编程实现--06.循环神经网络
- 神经网络体系搭建(二)——深度学习网络
- 用深度学习网络搭建一个聊天机器人(二)
- 使用腾讯云 GPU 学习深度学习系列之三:搭建深度神经网络
- 深度学习:网络的编程模式比较
- 深度学习——利用学习框架TensorFlow搭建深层神经网络DNN
- 【中文】【吴恩达课后编程作业】Course 1 - 神经网络和深度学习 - 第四周作业(1&2)
- 【深度学习】基于caffe的表情识别(三):搭建网络结构
- Ng深度学习 L层神经网络搭建和实例
- UFLDL深度学习编程练习1: 多层神经网络
- Coursera deep learning 吴恩达 神经网络和深度学习 第四周 编程作业 Building your Deep Neural Network
- 【中文】【吴恩达课后编程作业】Course 1 - 神经网络和深度学习 - 第二周作业