如何有效地使用张量来计算“ unsigned int”数据类型?

时间:2018-09-21 07:26:36

标签: python tensorflow uint16

与numpy不同,tensorflow在大多数操作中不支持'unsigned int'数据类型。 (例如matmul(),加(),减())

因此,我尝试tf.cast(张量,tf.int32),然后执行操作。 并再次转换为unsigned int。

但是,这种转换的开销却越来越大。

有没有更有效的方法?

======================================

pk_A: tensor of uint16 type 
pk_B: tensor of uint16 type
emphemeral_r: tensor of uint16 type

#casting for matmul() and add() operation
pk_A1=tf.cast(pk_A, tf.int32)
pk_B1=tf.cast(pk_B, tf.int32)
emphemeral_r=tf.cast(emphemeral_r, tf.int32)

#operation
Ctx_CPA_a=tf.matmul(pk_A1, emphemeral_r, transpose_a=True, b_is_sparse=True)
Ctx_CPA_a=tf.add(Ctx_CPA_a, RD_ADD)

#recasting and() operation
Ctx_CPA_a=tf.cast(Ctx_CPA_a, tf.uint16)
Ctx_CPA_a=tf.bitwise.bitwise_and(Ctx_CPA_a, RD_AND)

0 个答案:

没有答案