Класс InputLayer
Класс InputLayer создает входной слой нейронной сети.
Он используется для определения формы входных данных модели.
Первым параметром передается кортеж с размерностью входных данных
input_shape, вторым - тип данных dtype,
третьим - имя слоя name.
Входной слой не выполняет никаких вычислений над данными.
Он лишь указывает модели, какой формы тензоры будут поступать
на вход. Обычно этот слой создается автоматически при вызове
метода Input, но его можно создать и явно.
Синтаксис
tf.keras.layers.InputLayer(input_shape, dtype, name)
Пример
Давайте создадим входной слой для одномерных данных
длиной 5 и выведем информацию о нем:
import tensorflow as tf
layer = tf.keras.layers.InputLayer(input_shape=(5,))
print(layer.input_shape)
print(layer.dtype)
Результат выполнения кода:
(5,)
float32
Пример
Давайте создадим входной слой с типом данных int32:
import tensorflow as tf
layer = tf.keras.layers.InputLayer(input_shape=(5,), dtype=tf.int32)
print(layer.dtype)
print(layer.input_shape)
Результат выполнения кода:
int32
(5,)
Пример
Давайте применим входной слой к тензору из списка чисел:
import tensorflow as tf
layer = tf.keras.layers.InputLayer(input_shape=(5,))
t = tf.constant([1, 2, 3, 4, 5])
res = layer(t)
print(res)
Результат выполнения кода:
tf.Tensor([1 2 3 4 5], shape=(5,), dtype=int32)
Пример
Давайте создадим модель с входным слоем и полносвязным слоем:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.InputLayer(input_shape=(5,)),
tf.keras.layers.Dense(3)
])
model.summary()
Результат выполнения кода:
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) (None, 3) 18
=================================================================
Total params: 18
Trainable params: 18
Non-trainable params: 0
_________________________________________________________________