与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)