我有一个tf.int32
类型的张量我想使用tf.Print
但我需要二进制的结果。这可能吗?它用于调试。
例:
constant = tf.constant(5)
#magic
tf.Print(constant) # prints 101
您可以使用tf.py_function
:
x = tf.placeholder(tf.int32)
bin_op = tf.py_function(lambda dec: bin(int(dec))[2:], [x], tf.string)
bin_op.eval(feed_dict={x: 5}) # '101'
但请注意,tf.py_function
在图形中创建一个节点。因此,如果要打印许多张量,可以在tf.Print
之前用tf.py_function
包裹它们,但是在循环中执行此操作可能会导致腹胀。