来自文档:
x:一个张量。必须是以下类型之一:int32、int64、 浮点16,一半,浮点32,浮点64。
例:
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中提出相同的问题。