tf.random.experimental.stateless_fold_in
Складывает данные в начальное состояние генератора случайных чисел, чтобы сформировать новое начальное состояние.
tf.random.experimental.stateless_fold_in(
seed, data
)
Например, в сценарии распределённого обучения предположим, что у нас есть начальное состояние на главном узле и идентификатор реплики. Мы хотим сложить идентификатор реплики в начальное состояние главного узла, чтобы сформировать «начальное состояние реплики», которое будет использоваться этой репликой позже, чтобы разные реплики генерировали разные случайные числа, но воспроизводимость всей системы всё ещё могла контролироваться начальным состоянием главного узла:
master_seed = [1, 2] replica_id = 3 replica_seed = tf.random.experimental.stateless_fold_in( master_seed, replica_id) print(replica_seed) tf.Tensor([1105988140 3], shape=(2,), dtype=int32) tf.random.stateless_normal(shape=[3], seed=replica_seed) <tf.Tensor: shape=(3,), dtype=float32, numpy=array([0.03197195, 0.8979765 , 0.13253039], dtype=float32)>
| Аргументы | |
|---|---|
seed | начальное состояние генератора случайных чисел (тензор с формой [2] и типом int32 или int64). (При использовании XLA допускается только int32.) |
data | скалярный int32 или int64 , представляющий данные, которые будут сложены в начальное состояние. |
| Возвращаемые значения | |
|---|---|
Новое начальное состояние генератора случайных чисел, являющееся детерминированной функцией входных данных и статистически безопасным для генерации потока новых псевдослучайных значений. Оно будет иметь тот же тип данных, что и data (если у data нет явного типа данных, тип данных будет определён функцией tf.convert_to_tensor). |
© 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/random/experimental/stateless_fold_in