在 PyTorch 中,Tensor类有一个grad_fn属性。这引用了用于获取张量的操作:例如, if a = b + 2, a.grad_fnwill be AddBackward0。但“参考”到底是什么意思呢?
检查AddBackward0usinginspect.getmro(type(a.grad_fn))将指出 的唯一基类AddBackward0是object。此外,在源代码grad_fn中找不到该类的源代码(事实上,在 中可能遇到的任何其他类) !
所有这些让我想到以下问题:
grad_fn以及如何调用它?grad_fn没有某种通用的超类,为什么 GitHub 上没有它们的源代码?我到处都看过,但仍然不知道。我知道您可以与流建立两个关联:
SIMD代表单指令,多数据;在文献中,这些指令通常被称为来自指令流。这对应于第二关联。
但是,我不完全理解为什么在SIMD扩展流中(或者在多处理器中)进行流传输。这些说明来自流,但是它们可以来自其他任何地方吗?我们是否或者只有SIMD扩展或只有多处理器?
Tl; dr:CPU指令可以不流化,即不是来自流吗?