Dense реализует операцию: output = activation(dot(input, kernel) + bias), где activation — поэлементная функция активации, передаваемая в качестве аргумента activation, kernel — матрица весов, создаваемая слоем, а bias — вектор смещения, создаваемый слоем (применяется, только если use_bias равно True).
Примечание: Если ранг входных данных слоя больше 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).
Аргументы
units
Положительное целое число, размерность пространства выходных данных.
activation
Используемая функция активации. Если не указать значение, активация не применяется (т. е. используется линейная активация: a(x) = x).
use_bias
Логическое значение, указывающее, использует ли слой вектор смещения.
kernel_initializer
Инициализатор матрицы весов kernel.
bias_initializer
Инициализатор вектора смещения.
kernel_regularizer
Функция регуляризации, применяемая к матрице весов kernel.
bias_regularizer
Функция регуляризации, применяемая к вектору смещения.
activity_regularizer
Функция регуляризации, применяемая к выходу слоя (его «активации»).
kernel_constraint
Функция ограничения, применяемая к матрице весов kernel.
bias_constraint
Функция ограничения, применяемая к вектору смещения.
lora_rank
Необязательное целое число. Если задано, прямой проход слоя будет использовать LoRA (низкоранговую адаптацию) с указанным рангом. LoRA делает ядро слоя нетренируемым и заменяет его дельтой относительно исходного ядра, полученной умножением двух обучаемых матриц меньшего ранга. Это может снизить вычислительные затраты на тонкую настройку больших полносвязных слоев. Также можно включить LoRA для существующего слоя Dense, вызвав layer.enable_lora(rank).
Форма входных данных
Тензор N-D с формой: (batch_size, ..., input_dim). Чаще всего входные данные имеют размерность 2 и форму (batch_size, input_dim).
Форма выходных данных
Тензор N-D с формой: (batch_size, ..., units). Например, для входных данных размерности 2 с формой (batch_size, input_dim) выходные данные будут иметь форму (batch_size, units).
Атрибуты
input
Возвращает входной тензор или тензоры символьной операции.
Возвращает только тензор или тензоры, соответствующие первому вызову операции.
kernel
output
Возвращает выходной тензор или тензоры слоя.
Возвращает только тензор или тензоры, соответствующие первому вызову операции.
Этот метод является обратным к get_config и позволяет создать такой же слой из словаря конфигурации. Он не обрабатывает связи между слоями (это делает Network) и веса (это делает set_weights).
Аргументы
config
Словарь Python, обычно являющийся результатом get_config.