【发布时间】:2018-11-26 07:43:59
【问题描述】:
首先,我应该提到我使用的是 Torch 0.3.1 版,但如果有必要,我很乐意升级。
我还在学习,所以如果我在这里误解了什么,请告诉我。
我正在使用变量命令式地构建几个图表。随着时间的推移,数学表达式可能会变得相当复杂,并且可能会使用 autograd 的梯度函数生成图形的某些部分,然后对其进行操作。
我可以创建任何我想要的表达方式。唯一的问题是构建此图可能非常“缓慢” - 对于相对简单的操作(4x4 矩阵相乘),可能需要几毫秒。
不过,一旦生成了这些图表,我希望我应该能够更快地更新某些变量的值,并评估图表(或任何节点,实际上)的输出。我相信这可能就是这种情况,因为评估应该能够完全在 C 后端发生,这应该非常适合速度?换句话说,在 python 中构建图可能会很慢,因为它涉及 python for 循环等,但重新评估具有静态拓扑的图应该很快。
这种直觉正确吗?如果是这样,我怎样才能有效地重新分配一个值并重新评估图表?
【问题讨论】: