Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.set_random_seed

Устанавливает глобальное для графа случайное семя для стандартного графа.

Просмотр псевдонимов

Псевдонимы для миграции

Для получения более подробной информации см. Руководство по миграции.

tf.compat.v1.random.set_random_seed

tf.compat.v1.set_random_seed(
    seed
)

Операции, которые полагаются на случайное семя, фактически получают его из двух семян: глобального для графа и операционного. Это устанавливает семя глобального уровня для графа.

Взаимодействие с операционными семенами выглядит следующим образом:

  1. Если ни глобальное, ни операционное семя не установлены: для этой операции используется случайное семя.
  2. Если семя глобального уровня установлено, но операционное семя не установлено: система детерминированно выбирает операционное семя в сочетании с семенем глобального уровня, чтобы получить уникальную последовательность случайных чисел. В рамках одной версии TensorFlow и пользовательского кода эта последовательность детерминирована. Однако в разных версиях эта последовательность может изменяться. Если код зависит от конкретных семян для работы, явно укажите и глобальное, и операционное семена.
  3. Если семя глобального уровня не установлено, но операционное семя установлено: для определения случайной последовательности используется стандартное глобальное семя и указанное операционное семя.
  4. Если установлены и глобальное, и операционное семена: оба семени используются совместно для определения случайной последовательности.

Для демонстрации видимых пользователю эффектов рассмотрим эти примеры:

Для генерации различных последовательностей в различных сессиях не устанавливайте ни глобальное, ни операционное семена:

a = tf.random.uniform([1])
b = tf.random.normal([1])

print("Session 1")
with tf.compat.v1.Session() as sess1:
  print(sess1.run(a))  # generates 'A1'
  print(sess1.run(a))  # generates 'A2'
  print(sess1.run(b))  # generates 'B1'
  print(sess1.run(b))  # generates 'B2'

print("Session 2")
with tf.compat.v1.Session() as sess2:
  print(sess2.run(a))  # generates 'A3'
  print(sess2.run(a))  # generates 'A4'
  print(sess2.run(b))  # generates 'B3'
  print(sess2.run(b))  # generates 'B4'

Для генерации той же повторяющейся последовательности для операции в разных сессиях установите семя для операции:

a = tf.random.uniform([1], seed=1)
b = tf.random.normal([1])

# Repeatedly running this block with the same graph will generate the same
# sequence of values for 'a', but different sequences of values for 'b'.
print("Session 1")
with tf.compat.v1.Session() as sess1:
  print(sess1.run(a))  # generates 'A1'
  print(sess1.run(a))  # generates 'A2'
  print(sess1.run(b))  # generates 'B1'
  print(sess1.run(b))  # generates 'B2'

print("Session 2")
with tf.compat.v1.Session() as sess2:
  print(sess2.run(a))  # generates 'A1'
  print(sess2.run(a))  # generates 'A2'
  print(sess2.run(b))  # generates 'B3'
  print(sess2.run(b))  # generates 'B4'

Для того, чтобы все операции генерировали повторяющиеся последовательности в разных сессиях, установите глобальное семя:

tf.compat.v1.random.set_random_seed(1234)
a = tf.random.uniform([1])
b = tf.random.normal([1])

# Repeatedly running this block with the same graph will generate the same
# sequences of 'a' and 'b'.
print("Session 1")
with tf.compat.v1.Session() as sess1:
  print(sess1.run(a))  # generates 'A1'
  print(sess1.run(a))  # generates 'A2'
  print(sess1.run(b))  # generates 'B1'
  print(sess1.run(b))  # generates 'B2'

print("Session 2")
with tf.compat.v1.Session() as sess2:
  print(sess2.run(a))  # generates 'A1'
  print(sess2.run(a))  # generates 'A2'
  print(sess2.run(b))  # generates 'B1'
  print(sess2.run(b))  # generates 'B2'
Аргументы
seed целое число.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/compat/v1/set_random_seed

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API