答案 0 :(得分:0)
通常,使用tensorflow
不能直接访问tensor
的内容。这意味着您将无法使用if
语句。相反,您必须构造分支的两个可能分支,然后使用tf.conditional
来包括一个根据tensor
的内容在这两个之间切换的节点。这有时有时很难在层中实现命令式命令。
您在上面发布的示例显示,您现在(使用eager execution
)可以访问tensors
的内容,这意味着您可以编写所有if
语句,for
-循环等等,直接在python
中进行,您不必为每种可能性自己构造一个巨大的图。由于现在像常规命令式编程语言一样执行该层中的代码,因此可以将这种层称为imperative layer
-这与PyTorch
背后的动机相同。