tf.random.experimental.stateless_fold_in
Складывает данные в seed генератора случайных чисел, чтобы сформировать новый seed.
tf.random.experimental.stateless_fold_in(
seed, data, alg='auto_select'
)
Например, в распределенной среде обучения предположим, что у нас есть главный seed и идентификатор реплики. Мы хотим сложить идентификатор реплики в главный seed, чтобы сформировать «seed реплики», который будет использоваться этой репликой позже, чтобы разные реплики генерировали разные случайные числа, но воспроизводимость всей системы по-прежнему могла контролироваться главным seed:
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 | seed генератора случайных чисел (тензор с формой [2] и типом int32 или int64). (При использовании XLA разрешен только int32) |
data | скалярный int32 или int64, представляющий данные, которые необходимо сложить в seed. |
alg | Алгоритм генерации случайных чисел. См. tf.random.stateless_uniform для подробного объяснения. |
| Возвращает | |
|---|---|
Новый seed генератора случайных чисел, который является детерминированной функцией от входных данных и статистически безопасен для создания потока новых псевдослучайных значений. Он будет иметь тот же тип, что и data (если у data нет явного типа, тип будет определен с помощью tf.convert_to_tensor). |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/random/experimental/stateless_fold_in