在Tensorflow中将输入标记为可选

Ale*_*erg 4 tensorflow

限定Tensorflow定制运算,是有任何方式的可选输入/概念?例如,我正在研究一个融合卷积Op,它需要输入,权重以及理想情况下的偏项。理想情况下,Op的调用者可以使用它而不提供任何偏差项。

mrr*_*rry 5

TensorFlow op定义的迷你语言不具有对可选Tensor值输入的本地支持。有一些常用的替代方法:

  1. 在定义您的操作时,请使用Attr()而不是Input()。由于图的结构在图构建时是固定的,因此是否存在可选输入也是如此,因此您可以将信息编码为编译时值。

  2. 在op-definition级别将输入设为必需,并添加一个Python包装函数,该函数使相应的参数成为可选参数,并添加一个默认值/前哨值(如果未指定)。例如,axis参数to tf.reduce_sum()是一个可选的张量值参数,如果调用者不提供,则将填充该参数。

  3. 操作注册支持张量列表,因此您可以使用长度为0或1的列表表示可选输入。