Как эффективно использовать тензор для вычисления типа данных "unsigned int"?

В отличие от numpy, tenorflow не поддерживает тип данных unsigned int в большинстве операций. (например, matmul (), add (), вычитание ())

Итак, я пробую tf.cast (тензор, tf.int32) и затем делаю операцию. И снова приведение к неподписанному 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 ответов

Другие вопросы по тегам