当defining a custom op in Tensorflow时,是否有任何方式/可选输入的概念?例如,我正在研究融合卷积Op,它采用输入,权重,理想情况下可选择偏置项。理想情况下,Op的调用者可以使用它而不提供任何偏见。
答案 0 :(得分:4)
TensorFlow操作定义的mini-language没有对可选的Tensor值输入的本机支持。通常使用一些替代方案:
在定义操作时,请使用Attr()
代替Input()
。由于图形结构在图形构造时固定,因此可选输入的存在与否,因此您可以将信息编码为编译时值。
在op-definition级别强制输入,并添加一个Python包装函数,使相应的参数可选,如果未指定,则添加default / sentinel值。例如,tf.reduce_sum()
的axis
参数是一个可选的张量值参数,如果调用者没有提供,则会填充该参数。
操作注册支持张量列表,因此您可以使用长度为0或1的列表来表示可选输入。