Последовательность слоёв в TensorFlow
Последовательная модель в Keras
строится классом Sequential:
слои идут друг за другом, выход
одного становится входом следующего.
Список слоёв передают при создании
или добавляют по одному.
Создадим модель из двух полносвязных блоков, подадим одну строку из трёх чисел и выведем ответ:
import tensorflow as tf
tf.keras.utils.set_random_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(2, input_shape=(3,)),
tf.keras.layers.Dense(1),
])
row = tf.constant([[1.0, 2.0, 3.0]])
print(model(row))
# выведет tf.Tensor([[3.190758]], shape=(1, 1), dtype=float32)
У первого блока указывают форму одной строки входа без размера партии. Если строк в таблице несколько, модель обрабатывает каждую и возвращает столько же строк на выходе:
import tensorflow as tf
tf.keras.utils.set_random_seed(0)
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, input_shape=(2,)),
])
table = tf.constant([[1.0, 0.0], [0.0, 1.0]])
out = model(table)
print(out.shape)
# выведет (2, 3)
Соберите цепочку из одного
полносвязного блока на два
выхода для строки длины 4.
Пропустите через неё строку
[1.0, 0.0, -1.0, 0.5]
и выведите форму ответа.
Задайте цепочку: первый блок
на три числа для входа длины
2, второй - на одно число.
Подайте таблицу из строк
[2.0, 1.0] и [0.0, 3.0]
и выведите форму результата.
Создайте цепочку из двух блоков
с одним выходным числом в каждом.
Вход одной строки - три признака.
Выведите ответ для строки
[0.0, 1.0, 1.0] одной
таблицей.