在Tensorflow中将输入标记为可选

时间:2017-03-13 00:37:13

标签: tensorflow

defining a custom op in Tensorflow时,是否有任何方式/可选输入的概念?例如,我正在研究融合卷积Op,它采用输入,权重,理想情况下可选择偏置项。理想情况下,Op的调用者可以使用它而不提供任何偏见。

1 个答案:

答案 0 :(得分:4)

TensorFlow操作定义的mini-language没有对可选的Tensor值输入的本机支持。通常使用一些替代方案:

  1. 在定义操作时,请使用Attr()代替Input()。由于图形结构在图形构造时固定,因此可选输入的存在与否,因此您可以将信息编码为编译时值。

  2. 在op-definition级别强制输入,并添加一个Python包装函数,使相应的参数可选,如果未指定,则添加default / sentinel值。例如,tf.reduce_sum()axis参数是一个可选的张量值参数,如果调用者没有提供,则会填充该参数。

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