Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.Dropout

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

Применяет Dropout к входным данным.

Наследуется от: Layer, Module

Просмотр псевдонимов

Псевдонимы для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.keras.layers.Dropout

tf.keras.layers.Dropout(
    rate, noise_shape=None, seed=None, **kwargs
)

Слой Dropout случайным образом устанавливает входные единицы в 0 с частотой rate на каждом шаге во время обучения, что помогает предотвратить переобучение. Входные данные, не установленные в 0, масштабируются на 1/(1 - rate) таким образом, что сумма по всем входным данным остается неизменной.

Обратите внимание, что слой Dropout применяется только тогда, когда training установлено в True, так что во время вывода значения не отбрасываются. При использовании model.fit, training будет автоматически установлено в True, а в других контекстах вы можете явно установить значение аргумента в True при вызове слоя.

(Это в отличие от установки trainable=False для слоя Dropout. trainable не влияет на поведение слоя, так как у Dropout нет переменных/весов, которые можно заморозить во время обучения.)

tf.random.set_seed(0)
layer = tf.keras.layers.Dropout(.2, input_shape=(2,))
data = np.arange(10).reshape(5, 2).astype(np.float32)
print(data)
[[0. 1.]
 [2. 3.]
 [4. 5.]
 [6. 7.]
 [8. 9.]]
outputs = layer(data, training=True)
print(outputs)
tf.Tensor(
[[ 0.    1.25]
 [ 2.5   3.75]
 [ 5.    6.25]
 [ 7.5   8.75]
 [10.    0.  ]], shape=(5, 2), dtype=float32)
Аргументы
rate Вещественное число от 0 до 1. Доля входных единиц, которые нужно отбросить.
noise_shape Целочисленный тензор размерности 1, представляющий форму бинарной маски Dropout, которая будет умножаться на вход. Например, если ваши входные данные имеют форму (batch_size, timesteps, features) и вы хотите, чтобы маска Dropout была одинаковой для всех временных шагов, вы можете использовать noise_shape=(batch_size, 1, features).
seed Целое число Python, используемое в качестве случайного зерна.

Аргументы вызова:

  • inputs: Входной тензор (любой размерности).
  • training: Логическое значение Python, указывающее, должен ли слой работать в режиме обучения (добавление Dropout) или в режиме вывода (без действий).

© 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/layers/Dropout

Spec-Zone.ru

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