tf.random.fold_in
Складывает данные в начальное состояние генератора случайных чисел, формируя новое начальное состояние.
tf.random.fold_in(
seed, data, alg='auto_select'
)
Например, в настройке распределенного обучения предположим, что у нас есть начальное состояние генератора случайных чисел и идентификатор реплики. Мы хотим сложить идентификатор реплики в начальное состояние, чтобы получить «состояние реплики», которое будет использоваться репликой позже, чтобы разные реплики генерировали разные случайные числа, но воспроизводимость всей системы все еще может контролироваться начальным состоянием генератора случайных чисел:
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, представляющий данные, которые необходимо сложить в начальное состояние. |
alg | Алгоритм генератора случайных чисел, используемый для генерации случайных чисел. См. tf.random.stateless_uniform для подробного объяснения. |
| Возвращаемое значение | |
|---|---|
Новое начальное состояние генератора случайных чисел, являющееся детерминированной функцией входных данных и статистически безопасное для генерации потока новых псевдослучайных значений. Оно будет иметь тот же тип данных, что и 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/api_docs/python/tf/random/fold_in