Gloabl Seed и Operation Seed в Tensorflow2 - PullRequest
       52

Gloabl Seed и Operation Seed в Tensorflow2

1 голос
/ 06 августа 2020

В чем разница между Global Seed и Operation Seed в TensorFlow.

Согласно документации tensorflow

При объяснении Global Seed они упоминают это

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

и, объясняя начальное значение операции, они снова заявляют, что-то похожее

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

каковы основные различия между ними ... и как они работают на интуитивном уровне.

Спасибо.

1 Ответ

0 голосов
/ 06 августа 2020

Вот хорошее описание различий: https://www.kite.com/python/docs/tensorflow.set_random_seed

Короче говоря, tf.random.set_seed или tf.set_random_seed гарантирует, что все операции будут давать повторяемые результаты во всех сеансах. Он будет детерминированно устанавливать начальное значение операции для каждой операции.

Установка начального числа операции имеет смысл только как часть определения операции tf.random_uniform([1], seed=1) и также приведет к тем же последовательностям, создаваемым этой операцией для всех сеансов.

В чем разница?

  • graph-seed делает все операции повторно детерминированными c. Используйте его, если хотите исправить все операции. Различные операции по-прежнему будут создавать разные последовательности (но повторяться в сеансах).
  • начальное значение операции делает одиночную операцию детерминированной c. Вы можете создать 2 операции, которые будут производить одинаковые последовательности.
...