tf.keras.constraints.Constraint
| Просмотреть исходный код на GitHub |
Базовый класс для ограничений весов.
Объект типа Constraint работает как бессостоятельная функция. Пользователи, которые наследуют этот класс, должны переопределить метод __call__, который принимает один параметр веса и возвращает спроецированную версию этого параметра (например, нормализованную или ограниченную). Ограничения могут использоваться с различными слоями Keras с помощью аргументов kernel_constraint или bias_constraint.
Вот простой пример ограничения неотрицательных весов:
class NonNegative(tf.keras.constraints.Constraint): def __call__(self, w): return w * tf.cast(tf.math.greater_equal(w, 0.), w.dtype)
weight = tf.constant((-1.0, 1.0)) NonNegative()(weight) <tf.Tensor: shape=(2,), dtype=float32, numpy=array([0., 1.], dtype=float32)>
tf.keras.layers.Dense(4, kernel_constraint=NonNegative())
Методы
get_config
get_config()
Возвращает словарь Python с конфигурацией объекта.
Конфигурация ограничения — это словарь Python (сериализуемый в JSON), который можно использовать для повторного создания того же объекта.
| Возвращаемое значение | |
|---|---|
| Словарь Python, содержащий конфигурацию объекта ограничения. |
__call__
__call__(
w
)
Применяет ограничение к переменной входного веса.
По умолчанию переменная входного веса не изменяется. Пользователи должны переопределить этот метод, чтобы реализовать свою собственную функцию проекции.
| Аргументы | |
|---|---|
w | Переменная входного веса. |
| Возвращаемое значение | |
|---|---|
| Спроектированная переменная (по умолчанию возвращает неизменённый вход). |
© 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/keras/constraints/Constraint