tf.random.stateless_uniform
Выводит детерминированные псевдослучайные значения из равномерного распределения.
tf.random.stateless_uniform(
shape,
seed,
minval=0,
maxval=None,
dtype=tf.dtypes.float32,
name=None,
alg='auto_select'
)
Используется в блокнотах
| Используется в учебных материалах |
|---|
Это версия tf.random.uniform без состояния: при двух запусках с одинаковыми начальными значениями и формами тензоров она выдаст одинаковые псевдослучайные числа. Результат будет одинаковым при нескольких запусках на одном и том же оборудовании (а также на CPU и GPU), но может меняться между версиями TensorFlow или при запуске на оборудовании, отличном от CPU/GPU.
Сгенерированные значения следуют равномерному распределению в диапазоне [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 | Одномерный целочисленный тензор или массив 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 | Алгоритм ГСЧ, используемый для генерации случайных чисел. Допустимые варианты: "philox" для алгоритма Philox, "threefry" для алгоритма 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/api_docs/python/tf/random/stateless_uniform