tensorflow中的control_flow_ops.switch函数介绍

本文深入探讨了TensorFlow中control_flow_ops模块的switch函数,解释了其功能及参数,通过示例展示了如何根据布尔值选择数据的输出通道,并强调了输出通道一致性的重要性。

tensorflow中的control_flow_ops模块属于tensorflow.python.ops中的一个模块,从switch函数的名称上看就是一个开关函数。

函数:control_flow_ops.switch(data,pred,dtype=None,name=None)

功能:用来选择数据的输出通道,如果pred为False则data从第一个输出,如果pred为True则数据从第二个输出

参数:

  • data:需要被选择输出的tensor数据
  • pred:bool类型用来选择data的输出通道
  • dtype:可选,用来设置返回tensor的数据类型,如果为None则输出tensor的数据类型与输入tensor类型保持一致

name:操作名称

返回值:(output_false,output_true),如果pred为true就输出output_true,如果pred为false就输出output_false

import tensorflow as tf
from tensorflow.python.ops import control_flow_ops

if __name__ == "__main__":
    with tf.Session() as sess:
        output_false,output_true = control_flow_ops.switch([1,2,3,4],False)
        print(output_false.eval())
        output_false,output_true = control_flow_ops.switch([5,6,7,8],True)
        print(output_true.eval())

注意:如果输出通道与选择的输出通道不统一会报错,tensorflow.python.framework.errors_impl.InvalidArgumentError: Retval[0] does not have value

        output_false,output_true = control_flow_ops.switch([1,2,3,4],False)
        print(output_true.eval())

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

修炼之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值