当前大部分的深度学习框架(tensorflow、theano、mxnet)都要求能否构建计算图,以及编译计算图来自动求导;
1. 命令式编程与符号式编程
- 命令式编程,程序中可能会存在
for
或if
形式的控制流,即循环迭代的次数和 if 分支的执行都取决于入参,不同的输入会使得程序的执行不同。对于计算图框架来说,这就对应于动态图,即图的结构(不只是结果)会随着输入的变化而发生变化;
当前大部分的深度学习框架(tensorflow、theano、mxnet)都要求能否构建计算图,以及编译计算图来自动求导;
for
或 if
形式的控制流,即循环迭代的次数和 if 分支的执行都取决于入参,不同的输入会使得程序的执行不同。对于计算图框架来说,这就对应于动态图,即图的结构(不只是结果)会随着输入的变化而发生变化;