Gloabl Seed и Operation Seed в Tensorflow2

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

Согласно документации по тензорному потоку

Объясняя Global Seed, они упоминают об этом

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

и, объясняя операцию «Семя», они снова заявляют нечто похожее

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

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

Спасибо.


person HopeKing    schedule 06.08.2020    source источник


Ответы (1)


Вот хорошее описание различий: 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 делает все операции повторно детерминированными. Используйте его, если хотите исправить все операции. Различные операции по-прежнему будут производить разные последовательности (но повторяться в сеансах)
  • operation-seed делает одиночную операцию детерминированной. Вы можете создать 2 операции, которые будут производить одинаковые последовательности.
person y.selivonchyk    schedule 06.08.2020