Атрибут layers
Атрибут layers класса Model возвращает список,
содержащий все слои модели в порядке их добавления.
Атрибут доступен только для чтения и не принимает параметров.
Он позволяет получить доступ к отдельным слоям модели,
чтобы inspect их конфигурацию, веса или параметры.
Особенно полезен при анализе уже построенной модели
и при извлечении промежуточных слоев.
Синтаксис
model.layers
Пример
Давайте создадим простую модель с несколькими слоями и выведем список ее слоев:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, input_shape=(3,)),
tf.keras.layers.Dense(2)
])
print(model.layers)
Результат выполнения кода:
[<Dense name=dense, built=True>, <Dense name=dense_1, built=True>]
Пример
Давайте получим количество слоев в модели
через длину списка layers:
Результат выполнения кода:
3
Пример
Давайте обратимся к конкретному слою по индексу и выведем его имя:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, input_shape=(3,), name='first'),
tf.keras.layers.Dense(2, name='second')
])
print(model.layers[0].name)
print(model.layers[1].name)
Результат выполнения кода:
"first"
"second"
Пример
Давайте переберем все слои модели в цикле и выведем их имена:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(4, input_shape=(3,), name='d1'),
tf.keras.layers.Dense(2, name='d2'),
tf.keras.layers.Dense(1, name='d3')
])
for layer in model.layers:
print(layer.name)
Результат выполнения кода:
"d1"
"d2"
"d3"