Метод pop класса Sequential
Метод pop класса Sequential удаляет
последний слой из последовательной модели.
Метод не принимает обязательных параметров
и возвращает удалённый слой. Если модель пуста,
вызов метода вызывает ошибку.
Синтаксис
model.pop()
Пример
Давайте создадим последовательную модель с двумя слоями и удалим последний слой:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, input_shape=(2,)),
tf.keras.layers.Dense(1)
])
print("Before pop:", len(model.layers))
removed = model.pop()
print("After pop:", len(model.layers))
print("Removed layer:", removed.name)
Результат выполнения кода:
Before pop: 2
After pop: 1
Removed layer: dense_1
Пример
Давайте удалим все слои из модели в цикле и проверим, что модель стала пустой:
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(3, input_shape=(2,)),
tf.keras.layers.Dense(2),
tf.keras.layers.Dense(1)
])
while len(model.layers) > 0:
model.pop()
print("Layers count:", len(model.layers))
print("Is empty:", len(model.layers) == 0)
Результат выполнения кода:
Layers count: 0
Is empty: True
Пример
Давайте попробуем вызвать метод pop
на пустой модели и посмотрим, что произойдёт:
import tensorflow as tf
model = tf.keras.Sequential()
print("Layers before:", len(model.layers))
try:
model.pop()
except Exception as e:
print("Error:", e)
Результат выполнения кода:
Layers before: 0
Error: The model does not have any layers.
Смотрите также
-
класс
Sequential,
который создает последовательную модель -
метод
add,
который добавляет слой в модель -
метод
compile,
который компилирует модель -
метод
summary,
который выводит сводку по модели