Spec-Zone.ru › TensorFlow

tf.keras.random.SeedGenerator

Генерирует переменные начальные значения при каждом вызове функции, использующей ГСЧ.

tf.keras.random.SeedGenerator(
    seed=None, name=None, **kwargs
)

В Keras все методы, использующие ГСЧ (например, keras.random.normal()), являются функциями без состояния. Это означает, что если передать им целочисленное начальное значение (например, seed=42), они будут возвращать одинаковые значения при каждом вызове. Чтобы получать разные значения при каждом вызове, вместо этого необходимо использовать SeedGenerator в качестве аргумента начального значения. Объект SeedGenerator хранит состояние.

Пример:

seed_gen = keras.random.SeedGenerator(seed=42)
values = keras.random.normal(shape=(2, 3), seed=seed_gen)
new_values = keras.random.normal(shape=(2, 3), seed=seed_gen)

Использование в слое:

class Dropout(keras.Layer):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.seed_generator = keras.random.SeedGenerator(1337)

    def call(self, x, training=False):
        if training:
            return keras.random.dropout(
                x, rate=0.5, seed=self.seed_generator
            )
        return x

Методы

from_config

Посмотреть исходный код

@classmethod
from_config(
    config
)

get_config

Посмотреть исходный код

get_config()

next

Посмотреть исходный код

next(
    ordered=True
)

© 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/keras/random/SeedGenerator

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API