张量流渴望和命令式自定义层

时间:2018-08-20 04:50:54

标签: tensorflow keras eager

在一篇深度学习笔记(斯坦福大学cs20si)中,我曾经看到以下有关渴望的声明。我不太了解命令式定制层的含义,以及如何在命令式定制层的背景下理解此代码示例?

enter image description here

1 个答案:

答案 0 :(得分:0)

通常,使用tensorflow不能直接访问tensor的内容。这意味着您将无法使用if语句。相反,您必须构造分支的两个可能分支,然后使用tf.conditional来包括一个根据tensor的内容在这两个之间切换的节点。这有时有时很难在层中实现命令式命令。

您在上面发布的示例显示,您现在(使用eager execution)可以访问tensors的内容,这意味着您可以编写所有if语句,for-循环等等,直接在python中进行,您不必为每种可能性自己构造一个巨大的图。由于现在像常规命令式编程语言一样执行该层中的代码,因此可以将这种层称为imperative layer-这与PyTorch背后的动机相同。