g****t 发帖数: 31659 | 1 根据说明。pytorch的autograd是动态的。
就是说你写计算图的时候,计算图被记录下来,然后自动生成autograd。
tensorflow是写入固定的计算图。计算图的梯度根据这个固定的计算图生成。
大致上,类似于动态数组吧。
所谓的autograd就是符号微分upto预先写好的几个导数表。
例如多项式,1/(1+exp(-x)),ReLU等等的导数是存起来的。不是数值计算,
也不是像mathematica那样符号代数计算求微分。
我说的对吗?求批评指正。 |
y*j 发帖数: 3139 | 2 其实就是更python一些。其他的framework基本上都是外挂python API。 |
g****t 发帖数: 31659 | 3 From my understanding, the dynamic autograd was quite different
since the prediction error can be used to adjust the computational graph.
【在 y*j 的大作中提到】 : 其实就是更python一些。其他的framework基本上都是外挂python API。
|
s*****V 发帖数: 21731 | 4 也就是省点事情,tensorflow也可以写个函数来动态生成图。 tensorflow有点反OOP,
用一个class来表示的话,每个函数都要事先写好,然后最后eval,
【在 g****t 的大作中提到】 : From my understanding, the dynamic autograd was quite different : since the prediction error can be used to adjust the computational graph.
|
x****u 发帖数: 44466 | 5 静态计算图的问题是,tensor必须先编译再用,函数必须被backend支持,要搞些脑洞
函数就很麻烦
【在 s*****V 的大作中提到】 : 也就是省点事情,tensorflow也可以写个函数来动态生成图。 tensorflow有点反OOP, : 用一个class来表示的话,每个函数都要事先写好,然后最后eval,
|