以二进制形式打印整数张量



我有一个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包裹它们,但是在循环中执行此操作可能会导致腹胀。

最新更新