Python 为什么同一操作的TensorFlow中有不同的返回类型?
在TensorFlow中,我有两个常量节点:Python 为什么同一操作的TensorFlow中有不同的返回类型?,python,tensorflow,Python,Tensorflow,在TensorFlow中,我有两个常量节点: >> node1 = tf.constant(3.0, tf.float32) >> node2 = tf.constant(4.0) 当我在Jupyter笔记本中运行此图时,以下两个会话运行的返回类型不同: >> sess = tf.Session() 对于此操作,没有输出单元格: >> print(sess.run(node1))# prints 3.0, but NOT in the outp
>> node1 = tf.constant(3.0, tf.float32)
>> node2 = tf.constant(4.0)
当我在Jupyter笔记本中运行此图时,以下两个会话运行的返回类型不同:
>> sess = tf.Session()
对于此操作,没有输出单元格:
>> print(sess.run(node1))# prints 3.0, but NOT in the output cell; output cell missing
#prints 3.0
但当我以以下方式运行会话时:
>> print(sess.run(node1)), print(sess.run(node2)) #prints 3.0 and on the next line, it prints 4.0, and it ALSO prints a tuple (None, None) in the output cell.
有人能解释一下这些退货类型吗?
您正在创建一个元组
打印是一项与其他功能一样的功能。它不返回值,因此它不返回任何值,这通常不会显示
但是,逗号操作符创建一个元组,jupyter显示返回值
写4,4会得到(4,4)
不写任何东西,任何东西都不会导致你看到的东西
如果您只想执行两个操作,请将它们分别放在各自的行中-逗号不适用于此。您正在创建一个元组
打印是一项与其他功能一样的功能。它不返回值,因此它不返回任何值,这通常不会显示
但是,逗号操作符创建一个元组,jupyter显示返回值
写4,4会得到(4,4)
不写任何东西,任何东西都不会导致你看到的东西
如果您只想执行两个操作,请将它们分别放在各自的行中-逗号并不代表这一点。您的第二行有两个用逗号分隔的
print
语句。print
函数返回None
,Python REPL(read-eval-print循环)忽略单个None
。但是,逗号创建了一个元组,即使它只包含None
值,也不会忽略该元组
如果要在一行上运行多个语句,请使用代码>而不是,
:
print("foo"); print("bar")
第二行有两个print
语句,用逗号分隔。print
函数返回None
,Python REPL(read-eval-print循环)忽略单个None
。但是,逗号创建了一个元组,即使它只包含None
值,也不会忽略该元组
如果要在一行上运行多个语句,请使用代码>而不是,
:
print("foo"); print("bar")