tf.random.stateless_uniform
| Просмотреть исходный код на GitHub |
Выводит детерминированные псевдослучайные значения из равномерного распределения.
tf.random.stateless_uniform(
shape,
seed,
minval=0,
maxval=None,
dtype=tf.dtypes.float32,
name=None,
alg='auto_select'
)
Это бессостояниевая версия tf.random.uniform: если её запустить дважды с одинаковыми начальными значениями и формами, она выведет те же псевдослучайные числа. Выходной результат согласован в нескольких запусках на одном оборудовании (и между процессором и графическим процессором), но может меняться между версиями TensorFlow или на оборудовании, не являющемся процессором/графическим процессором.
Сгенерированные значения следуют равномерному распределению в диапазоне [minval, maxval). Нижняя граница minval включена в диапазон, а верхняя граница maxval исключена.
Для чисел с плавающей запятой, диапазон по умолчанию [0, 1). Для целых чисел, по крайней мере maxval необходимо указать явно.
В случае целых чисел, псевдослучайные целые числа имеют небольшую погрешность, если maxval - minval не является точной степенью двойки. Погрешность невелика для значений maxval - minval значительно меньших, чем диапазон результата (либо 2**32 либо 2**64).
Для целых чисел с полным диапазоном (то есть включающими как максимальное, так и минимальное значение), передайте minval=None и maxval=None с целым числом dtype. Для целочисленного типа данных, как minval и maxval должны быть None, так и ни один не может быть None. Например:
ints = tf.random.stateless_uniform(
[10], seed=(2, 3), minval=None, maxval=None, dtype=tf.int32)
| Аргументы | |
|---|---|
shape | 1-мерный целочисленный тензор или Python массив. Форма тензора на выходе. |
seed | Тензор размера [2], начальное значение для генератора псевдослучайных чисел. Должен иметь тип int32 или int64. (При использовании XLA, допускается только int32.) |
minval | Тензор или Python значение типа dtype, совместимое с вектором shape (для целочисленных типов, векторизация не поддерживается, поэтому оно должно быть скалярным). Нижняя граница диапазона генерируемых случайных значений. Передайте None для целых чисел с полным диапазоном. По умолчанию 0. |
maxval | Тензор или Python значение типа dtype, совместимое с вектором shape (для целочисленных типов, векторизация не поддерживается, поэтому оно должно быть скалярным). Верхняя граница диапазона генерируемых случайных значений. По умолчанию 1, если dtype с плавающей запятой. Передайте None для целых чисел с полным диапазоном. |
dtype | Тип выходного значения: float16, bfloat16, float32, float64, int32, или int64. Для безграничных целых равномерных распределений (minval, maxval оба None), можно использовать uint32 и uint64. По умолчанию float32. |
name | Имя операции (необязательно). |
alg | Алгоритм генератора псевдослучайных чисел (RNG). Допустимые варианты: "philox" для алгоритма Филокса, "threefry" для алгоритма ТриФрай и "auto_select" (по умолчанию) для автоматического выбора алгоритма системой на основе типа устройства. Также можно использовать значения tf.random.Algorithm. Обратите внимание, что с "auto_select", результаты этой функции могут меняться при работе на другом устройстве. |
| Возвращает | |
|---|---|
| Тензор указанной формы, заполненный случайными равномерными значениями. |
| Возможные ошибки | |
|---|---|
ValueError | Если dtype целочисленное и только одно из minval или maxval указано. |
© 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/stateless_uniform