1
我希望将二进制数的张量(例如[0,1,0,1,1])转换为张量流中的整数。就我而言,张量非常大,长度大约为80个元素。有没有办法有效地做到这一点?在张量流中将二进制转换为int
我希望将二进制数的张量(例如[0,1,0,1,1])转换为张量流中的整数。就我而言,张量非常大,长度大约为80个元素。有没有办法有效地做到这一点?在张量流中将二进制转换为int
这几乎肯定会导致与长度为80的二进制张量溢出,但基本的策略是做一个量化的乘用具有二的幂张量:
import tensorflow as tf
binary_string = tf.constant([1, 0, 0, 1, 1])
result = tf.reduce_sum(
tf.cast(tf.reverse(tensor=binary_string, axis=[0]), dtype=tf.int64)
* 2 ** tf.range(tf.cast(tf.size(binary_string), dtype=tf.int64)))
with tf.Session():
print(result.eval())
打印:
19
你希望得到什么样的整数? 160000位比64位整数要多一点。是否有某种配料正在进行? –
@AllenLavoie对不起。总共是80位。 –