Согласно этой ошибке, он говорит, что вход в tf.range
должен быть одним из double
, float
, int
, зарегистрированных для op Range on device: CPU and GPU
. Но ваш ввод - complex128
, следовательно, он возвращает NotFoundError
.
Если мы не указали никакого dtype
(т.е. dtype is None), он выводит dtype
из dtype_hierarchy: dtypes.int32, dtypes.int64, dtypes.float32, dtypes.float64
согласно как per arg.dtype
.
Обходной путь для создания тензора complex128
с использованием tf.range
приведен ниже с помощью tf.cast
t1 = tf.range(-2.0, 3.0, 1)
# casts tensor to a complex128 dtype.
t2 = tf.cast(t1, dtype=tf.complex128)
# apply sqrt function
tf.sqrt(t2)
# print output
print(t1)
print(t2)
Результат:
tf.Tensor([-2. -1. 0. 1. 2.], shape=(5,), dtype=float32)
tf.Tensor([-2.+0.j -1.+0.j 0.+0.j 1.+0.j 2.+0.j], shape=(5,), dtype=complex128)