深度学习库中的动态图与静态图

机器算法验证 神经网络 深度学习 张量流 火炬
2022-03-17 07:26:57

深度学习库中的动态图和静态图有什么区别?
哪个更快?
以及何时使用它们中的每一个?

1个回答

深度学习库中的动态图和静态图有什么区别?

对于静态图,您应该首先完全绘制图形,然后注入数据以运行(定义并运行),而使用动态图,图形结构是通过实际的前向计算动态定义的。这是一种更自然的编程风格(define-by-run)。

哪个更快?以及何时使用它们中的每一个?

当您可以将计算分布在多台机器上时,最好利用静态图。能够使用动态计算图来做到这一点将有更大的问题。

其他一些比较:
拥有静态图可以实现很多方便的操作:存储固定的图数据结构,运送独立于代码的模型,执行图转换,但它比动态图复杂一点(例如在实现时)类似于递归神经网络)。当您使用新架构时,您希望获得最大的灵活性,而这些框架允许这样做。

这个答案是从底部的参考资料中收集的,希望我的结论是正确的,并且可以提供帮助。

参考:https ://news.ycombinator.com/item?id=13428098