tf.keras.random.SeedGenerator
Генерирует переменные семена при каждом вызове функции, использующей генератор случайных чисел.
tf.keras.random.SeedGenerator(
seed=None, name=None, **kwargs
)
В Keras все методы, использующие генератор случайных чисел (например, keras.random.normal()), являются бессостоятельными, то есть если вы передаёте целое число seed (например, seed=42), они будут возвращать одни и те же значения при каждом вызове. Чтобы получить разные значения при каждом вызове, необходимо использовать SeedGenerator в качестве аргумента seed. Объект 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