从Docs:
x:张量。必须是以下类型之一:int32,int64,bfloat16,一半,float32,float64。
示例:
x = tf.math.mod(tf.constant(4, tf.dtypes.uint64), tf.constant(2, tf.dtypes.uint64))
[...]
NotFoundError: Could not find valid device for node.
Node:{{node FloorMod}}
All kernels registered for op FloorMod :
device='XLA_CPU'; T in [DT_FLOAT, DT_DOUBLE, DT_INT32, DT_INT64, DT_BFLOAT16, DT_HALF]
device='XLA_CPU_JIT'; T in [DT_FLOAT, DT_DOUBLE, DT_INT32, DT_INT64, DT_BFLOAT16, DT_HALF]
device='CPU'; T in [DT_DOUBLE]
device='CPU'; T in [DT_FLOAT]
device='CPU'; T in [DT_INT64]
device='CPU'; T in [DT_INT32]
[Op:FloorMod]
正如您在文档中指出的那样,到目前为止,它们仅支持这些允许的数据类型。
int32, int64, bfloat16, half, float32, float64.
仍然,如果要传递uint64值,则需要使用numPy将其从uint64转换为int64,然后将int64值传递给tf.math.mod
,如下所示。
import numpy
input = numpy.int64( numpy.uint64(your_number))
您可以在Github中同样提出问题。