Класс Dense
Класс Dense создает полносвязный слой нейронной сети.
Первым параметром класс принимает число нейронов в слое
units. Вторым параметром можно передать функцию
активации activation. Также можно указать
начальный инициализатор весов kernel_initializer
и регуляризаторы.
Синтаксис
tf.keras.layers.Dense(units, [activation], [use_bias], [kernel_initializer])
Пример
Давайте создадим полносвязный слой с тремя нейронами и применим его к тензору:
import tensorflow as tf
tf.random.set_seed(0)
layer = tf.keras.layers.Dense(units=3)
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = layer(t)
print(res)
Результат выполнения кода:
tf.Tensor(
[[-1.0887976 1.2035594 1.6973267]
[-2.2326412 2.6247134 4.017715 ]], shape=(2, 3), dtype=float32)
Пример
Давайте создадим слой с функцией активации relu:
<+python+>
import tensorflow as tf
tf.random.set_seed(0)
layer = tf.keras.layers.Dense(units=3, activation='relu')
t = tf.constant([[1, 2, 3], [4, 5, 6]])
res = layer(t)
print(res)
<-python+>
Результат выполнения кода:
tf.Tensor(
[[0. 1.2035594 1.6973267]
[0. 2.6247134 4.017715 ]], shape=(2, 3), dtype=float32)
Пример
Давайте получим информацию о весах слоя:
import tensorflow as tf
tf.random.set_seed(0)
layer = tf.keras.layers.Dense(units=3)
t = tf.constant([[1, 2, 3]])
res = layer(t)
print(layer.kernel.shape)
print(layer.bias.shape)
Результат выполнения кода:
(3, 3)
(3,)
Смотрите также
-
класс
Input,
который создает входной слой модели - класс который применяет функцию активации к данным
-
класс ⁅c href="/ru/python/lib/tensorflow/manual/layer/Dropout/">
Dropout,
который отключает нейроны во время обучения -
класс
Flatten,
который преобразует многомерный тензор в одномерный