深度学习网络搭建与编程范式
来源:互联网 发布:js怎么获取对象的长度 编辑:程序博客网 时间:2024/04/20 03:23
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
阅读全文
0 0
- 深度学习网络搭建与编程范式
- 深度网络与深度学习
- 深度学习的学习范式
- 深度学习:网络的编程模式比较
- 编程范式学习笔记
- 《编程范式》学习笔记
- 编程范式19 函数范式与Scheme
- 深度学习流行网络与数据集
- 深度学习流行网络与数据集
- 【学习笔记】范式与反范式
- 用深度学习网络搭建一个聊天机器人(一)
- 用深度学习网络搭建一个聊天机器人(二)
- 使用tensorflow搭建CNN网络(3)---《深度学习》
- 2-网络编程学习环境搭建
- 《神经网络与深度学习》编程笔记
- 深度学习深理解(四)-深度网络与深度学习第一部分完结
- 【UNIX网络编程】客户/服务器程序设计范式
- 深度学习环境搭建
- 20170809工作记账流水(2017-08-09 10:00)
- 每日一题——排序(从1-n连续的数进行排序)
- Coding心得
- 400. Nth Digit
- 【codevs 1557】热浪(SPFA)
- 深度学习网络搭建与编程范式
- 因为方言问题使得hibernate在eclipse上建表失败
- HashMap常见面试问题总结
- 关于JAVA接口
- 覆盖和多态的条件
- git操作
- Linux的特点
- 判断素数的算法
- BZOJ-2008 弹飞绵羊(LCT)