получить целочисленное значение из «tf.experimental.numpy.random.randint»

#python #tensorflow #tensor

#python #тензорный поток #тензор

Вопрос:

Я хочу сгенерировать случайное целое число с помощью tensorflow. Приведенный ниже код я нашел в ночной версии tensorflow. Как получить целочисленное значение из этого кода. или есть какой-либо способ генерировать случайное целое число в tensorflow

 tf.experimental.numpy.random.randint(low=0, high=5, size=1,dtype=np.int)
  

Ответ №1:

 a = tf.experimental.numpy.random.randint(low=0, high=5, size=1,dtype=np.int)

a.tolist()
>>> [2]

int(a)
>>> 2

np.array(a)
>>> array([2])

np.array(a)[0]
>>> 2
  

Для TF 2.3.0:

 g1 = tf.random.Generator.from_seed(1)
a = g1.uniform([1], minval=0, maxval=15, dtype=tf.dtypes.int32, name=None)

print(a)
>>> tf.Tensor([8], shape=(1,), dtype=int32)

a.numpy()
>>>array([8], dtype=int32)
  

Кроме того, вы можете использовать тензор «a» непосредственно в операциях TF, не извлекая его неизменяемое значение.