Spec-Zone.ru › TensorFlow 2.9

tf.keras.layers.Dense

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

Обычный плотно связанный слой нейронной сети.

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

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

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

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

tf.compat.v1.keras.layers.Dense

tf.keras.layers.Dense(
    units,
    activation=None,
    use_bias=True,
    kernel_initializer='glorot_uniform',
    bias_initializer='zeros',
    kernel_regularizer=None,
    bias_regularizer=None,
    activity_regularizer=None,
    kernel_constraint=None,
    bias_constraint=None,
    **kwargs
)

Dense реализует операцию: output = activation(dot(input, kernel) + bias), где activation — функция активации, применяемая поэлементно в качестве аргумента activation, kernel — матрица весов, созданная слоем, и bias — вектор смещений, созданный слоем (применима только если use_bias равен True). Все эти атрибуты относятся к Dense.

Примечание: Если вход в слой имеет ранг больше 2, то Dense вычисляет скалярное произведение между inputs и kernel по последней оси inputs и оси 0 kernel (используя tf.tensordot). Например, если вход имеет размерность (batch_size, d0, d1), то мы создаём kernel с формой (d1, units), а операция kernel выполняется вдоль оси 2 input, для каждого подтензора с формой (1, 1, d1) (таких подтензоров batch_size * d0). В этом случае выход будет иметь форму (batch_size, d0, units).

Кроме того, атрибуты слоя нельзя изменить после того, как слой был вызван один раз (кроме атрибута trainable). Когда передаётся популярный аргумент input_shape, Keras создаст входной слой, который нужно вставить перед текущим слоем. Это можно рассматривать как явное определение InputLayer.

Пример:

# Create a `Sequential` model and add a Dense layer as the first layer.
model = tf.keras.models.Sequential()
model.add(tf.keras.Input(shape=(16,)))
model.add(tf.keras.layers.Dense(32, activation='relu'))
# Now the model will take as input arrays of shape (None, 16)
# and output arrays of shape (None, 32).
# Note that after the first layer, you don't need to specify
# the size of the input anymore:
model.add(tf.keras.layers.Dense(32))
model.output_shape
(None, 32)
Аргументы
units Положительное целое число, размерность выходного пространства.
activation Функция активации для использования. Если вы ничего не укажете, активация не будет применена (т.е. линейная активация: a(x) = x).
use_bias Логическое значение, использует ли слой вектор смещений.
kernel_initializer Инициализатор матрицы весов kernel.
bias_initializer Инициализатор вектора смещений.
kernel_regularizer Функция регуляризации, применяемая к матрице весов kernel.
bias_regularizer Функция регуляризации, применяемая к вектору смещений.
activity_regularizer Функция регуляризации, применяемая к выходу слоя (его "активации").
kernel_constraint Функция ограничения, применяемая к матрице весов kernel.
bias_constraint Функция ограничения, применяемая к вектору смещений.

Форма входа:

N-мерный тензор с формой: (batch_size, ..., input_dim). Наиболее распространённый случай — 2D вход с формой (batch_size, input_dim).

Форма выхода:

N-мерный тензор с формой: (batch_size, ..., units). Например, для 2D входа с формой (batch_size, input_dim), выход будет иметь форму (batch_size, units).

© 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/Dense

Spec-Zone.ru

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