Spec-Zone.ru › TensorFlow

tf.keras.Sequential

Sequential объединяет линейный стек слоёв в Model.

Наследует от: Model, Layer, Operation

Просмотреть псевдонимы

Основные псевдонимы

tf.keras.models.Sequential

Псевдонимы совместимости для миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.keras.Sequential

tf.keras.Sequential(
    layers=None, trainable=True, name=None
)

Используется в блокнотах

Используется в руководстве Используется в учебных пособиях
  • Распределённое обучение с TensorFlow
  • Эффективное использование TensorFlow 2
  • Типы расширений
  • Примеры миграции: готовые оценщики
  • Миграция ранней остановки
  • Прогнозирование временных рядов
  • Переобучение и недообучение
  • Введение в автокодировщики
  • Загрузка текста
  • Аугментация данных

Примеры:

model = keras.Sequential()
model.add(keras.Input(shape=(16,)))
model.add(keras.layers.Dense(8))

# Note that you can also omit the initial `Input`.
# In that case the model doesn't have any weights until the first call
# to a training/evaluation method (since it isn't yet built):
model = keras.Sequential()
model.add(keras.layers.Dense(8))
model.add(keras.layers.Dense(4))
# model.weights not created yet

# Whereas if you specify an `Input`, the model gets built
# continuously as you are adding layers:
model = keras.Sequential()
model.add(keras.Input(shape=(16,)))
model.add(keras.layers.Dense(8))
len(model.weights)  # Returns "2"

# When using the delayed-build pattern (no input shape specified), you can
# choose to manually build your model by calling
# `build(batch_input_shape)`:
model = keras.Sequential()
model.add(keras.layers.Dense(8))
model.add(keras.layers.Dense(4))
model.build((None, 16))
len(model.weights)  # Returns "4"

# Note that when using the delayed-build pattern (no input shape specified),
# the model gets built the first time you call `fit`, `eval`, or `predict`,
# or the first time you call the model on some input data.
model = keras.Sequential()
model.add(keras.layers.Dense(8))
model.add(keras.layers.Dense(1))
model.compile(optimizer='sgd', loss='mse')
# This builds the model for the first time:
model.fit(x, y, batch_size=32, epochs=10)
Атрибуты
compiled_metrics
distribute_reduction_method
distribute_strategy
input Возвращает входной тензор (или тензоры) символьной операции.

Возвращаются только тензоры, соответствующие первому вызову операции.

input_shape
inputs
jit_compile
layers
metrics_names
output Возвращает выходной тензор (или тензоры) слоя.

Возвращаются только тензоры, соответствующие первому вызову операции.

output_shape
outputs
run_eagerly

Методы

add

Просмотреть исходный код

add(
    layer, rebuild=True
)

Добавляет экземпляр слоя поверх стека слоёв.

Аргументы
layer экземпляр слоя.

compile

Просмотреть исходный код

compile(
    optimizer='rmsprop',
    loss=None,
    loss_weights=None,
    metrics=None,
    weighted_metrics=None,
    run_eagerly=False,
    steps_per_execution=1,
    jit_compile='auto',
    auto_scale_loss=True
)

Настраивает модель для обучения.

Пример:

model.compile(
    optimizer=keras.optimizers.Adam(learning_rate=1e-3),
    loss=keras.losses.BinaryCrossentropy(),
    metrics=[
        keras.metrics.BinaryAccuracy(),
        keras.metrics.FalseNegatives(),
    ],
)
Аргументы
optimizer Строка (название оптимизатора) или экземпляр оптимизатора. См. keras.optimizers.
loss Функция потерь. Может быть строкой (названием функции потерь) или экземпляром keras.losses.Loss. См. keras.losses. Функция потерь — это любой вызываемый объект с сигнатурой loss = fn(y_true, y_pred), где y_true — истинные значения, а y_pred — предсказания модели. y_true должен иметь форму (batch_size, d0, .. dN) (за исключением разреженных функций потерь, таких как разреженная категориальная кросс-энтропия, которая ожидает целочисленные массивы формы (batch_size, d0, .. dN-1)). y_pred должен иметь форму (batch_size, d0, .. dN). Функция потерь должна возвращать тензор с плавающей точкой.
loss_weights Необязательный список или словарь со скалярными коэффициентами (числами Python с плавающей точкой), задающими веса вкладов в функцию потерь для разных выходов модели. Значение функции потерь, минимизируемое моделью, будет взвешенной суммой всех отдельных потерь, умноженных на коэффициенты loss_weights. Если это список, его элементы должны соответствовать выходам модели один к одному. Если это словарь, он должен сопоставлять имена выходов (строки) скалярным коэффициентам.
metrics Список метрик, вычисляемых моделью во время обучения и тестирования. Каждая метрика может быть строкой (названием встроенной функции), функцией или экземпляром keras.metrics.Metric. См. keras.metrics. Обычно используются metrics=['accuracy']. Функция — это любой вызываемый объект с сигнатурой result = fn(y_true, _pred). Чтобы задать разные метрики для выходов модели с несколькими выходами, можно также передать словарь, например metrics={'a':'accuracy', 'b':['accuracy', 'mse']}. Можно также передать список, задающий одну метрику или список метрик для каждого выхода, например metrics=[['accuracy'], ['accuracy', 'mse']] или metrics=['accuracy', ['accuracy', 'mse']]. При передаче строк «accuracy» или «acc» мы выбираем один из вариантов: keras.metrics.BinaryAccuracy, keras.metrics.CategoricalAccuracy, keras.metrics.SparseCategoricalAccuracy — в зависимости от форм целевых значений и выхода модели. Аналогичное преобразование выполняется и для строк "crossentropy" и "ce". Переданные здесь метрики вычисляются без учёта весов образцов; если требуется учитывать веса образцов, укажите метрики с помощью аргумента weighted_metrics.
weighted_metrics Список метрик, вычисляемых и взвешиваемых с помощью sample_weight или class_weight во время обучения и тестирования.
run_eagerly Логическое значение. Если задано True, прямой проход этой модели никогда не будет скомпилирован. Для наилучшей производительности рекомендуется оставить значение False во время обучения и установить True при отладке.
steps_per_execution Целое число. Количество пакетов, обрабатываемых за один вызов скомпилированной функции. Обработка нескольких пакетов за один вызов скомпилированной функции может значительно повысить производительность на TPU или небольших моделях с большими накладными расходами Python. За одно выполнение будет обработана максимум одна полная эпоха. Если передано число, превышающее размер эпохи, выполнение будет ограничено размером эпохи. Обратите внимание: если steps_per_execution установлено в N, методы Callback.on_batch_begin и Callback.on_batch_end будут вызываться только через каждые N пакетов (то есть до и после каждого выполнения скомпилированной функции). Не поддерживается бэкендом PyTorch.
jit_compile Логическое значение или "auto". Определяет, использовать ли компиляцию XLA при компиляции модели. Для бэкендов jax и tensorflow значение jit_compile="auto" включает компиляцию XLA, если модель её поддерживает, и отключает в противном случае. Для бэкенда torch значение "auto" по умолчанию включает выполнение с нетерпеливым вычислением, а значение jit_compile=True запускает модель с torch.compile на бэкенде "inductor".
auto_scale_loss Логическое значение. Если задано True, а политика типа данных модели — "mixed_float16", переданный оптимизатор будет автоматически обёрнут в LossScaleOptimizer, который динамически масштабирует функцию потерь, чтобы предотвратить потерю точности при переполнении снизу.

compile_from_config

Просмотреть исходный код

compile_from_config(
    config
)

Компилирует модель с параметрами, указанными в конфигурации.

Этот метод использует сведения из конфигурации (оптимизатор, функция потерь, метрики и т. д.) для компиляции модели.

Аргументы
config Словарь со сведениями для компиляции модели.

compiled_loss

Просмотреть исходный код

compiled_loss(
    y, y_pred, sample_weight=None, regularization_losses=None
)

compute_loss

Просмотреть исходный код

compute_loss(
    x=None, y=None, y_pred=None, sample_weight=None
)

Вычисляет общую функцию потерь, проверяет её и возвращает результат.

При необходимости подклассы могут переопределить этот метод, чтобы реализовать собственную логику вычисления функции потерь.

Пример:

class MyModel(Model):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.loss_tracker = metrics.Mean(name='loss')

    def compute_loss(self, x, y, y_pred, sample_weight):
        loss = ops.means((y_pred - y) ** 2)
        loss += ops.sum(self.losses)
        self.loss_tracker.update_state(loss)
        return loss

    def reset_metrics(self):
        self.loss_tracker.reset_state()

    @property
    def metrics(self):
        return [self.loss_tracker]

inputs = layers.Input(shape=(10,), name='my_input')
outputs = layers.Dense(10)(inputs)
model = MyModel(inputs, outputs)
model.add_loss(ops.sum(outputs))

optimizer = SGD()
model.compile(optimizer, loss='mse', steps_per_execution=10)
dataset = ...
model.fit(dataset, epochs=2, steps_per_epoch=10)
print(f"Custom loss: {model.loss_tracker.result()}")
Аргументы
x Входные данные.
y Целевые данные.
y_pred Предсказания, возвращённые моделью (выход model(x))
sample_weight Веса образцов для взвешивания функции потерь.
Возвращает
Общую функцию потерь в виде скалярного тензора или None, если результат вычисления функции потерь отсутствует (так бывает при вызове из Model.test_step).

compute_metrics

Просмотреть исходный код

compute_metrics(
    x, y, y_pred, sample_weight=None
)

Обновляет состояния метрик и собирает все метрики, которые будут возвращены.

При необходимости подклассы могут переопределить этот метод, чтобы реализовать собственную логику обновления и сбора метрик.

Пример:

class MyModel(Sequential):
    def compute_metrics(self, x, y, y_pred, sample_weight):
        # This super call updates `self.compiled_metrics` and returns
        # results for all metrics listed in `self.metrics`.
        metric_results = super().compute_metrics(
            x, y, y_pred, sample_weight)

        # Note that `self.custom_metric` is not listed
        # in `self.metrics`.
        self.custom_metric.update_state(x, y, y_pred, sample_weight)
        metric_results['metric_name'] = self.custom_metric.result()
        return metric_results
Аргументы
x Входные данные.
y Целевые данные.
y_pred Предсказания, возвращённые моделью (выход model.call(x)).
sample_weight Веса образцов для взвешивания функции потерь.
Возвращает
Объект dict, содержащий значения, которые будут переданы в keras.callbacks.CallbackList.on_train_batch_end(). Обычно возвращаются значения метрик, перечисленных в self.metrics.
Example {'loss': 0.2, 'accuracy': 0.7}.

evaluate

Просмотреть исходный код

evaluate(
    x=None,
    y=None,
    batch_size=None,
    verbose='auto',
    sample_weight=None,
    steps=None,
    callbacks=None,
    return_dict=False,
    **kwargs
)

Возвращает значение функции потерь и значения метрик модели в режиме тестирования.

Вычисления выполняются пакетами (см. аргумент batch_size).

Аргументы
x Входные данные. Это могут быть:
  • массив NumPy (или массивоподобный объект) либо список массивов (если у модели несколько входов);
  • тензор или список тензоров (если у модели несколько входов);
  • словарь, сопоставляющий имена входов с соответствующими массивами/тензорами, если у модели есть именованные входы;
  • tf.data.Dataset. Должен возвращать кортеж вида (inputs, targets) или (inputs, targets, sample_weights);
  • генератор или keras.utils.PyDataset, возвращающий (inputs, targets) или (inputs, targets, sample_weights).
y Целевые данные. Как и входные данные x, это могут быть массивы NumPy или тензоры, поддерживаемые бэкендом. Если x — это экземпляр tf.data.Dataset или keras.utils.PyDataset, указывать y не нужно (целевые значения будут получены из итератора или набора данных).
batch_size Целое число или None. Количество образцов в пакете для вычислений. Если значение не указано, batch_size по умолчанию будет равно 32. Не указывайте batch_size, если данные представлены в виде набора данных, генераторов или экземпляров keras.utils.PyDataset (так как они формируют пакеты).
verbose "auto", 0, 1 или 2. Режим подробного вывода. 0 = без вывода, 1 = индикатор выполнения, 2 = одна строка. В большинстве случаев "auto" становится равным 1. Обратите внимание: индикатор выполнения мало полезен при записи в файл, поэтому при неинтерактивном запуске (например, в производственной среде) рекомендуется использовать verbose=2. По умолчанию используется "auto".
sample_weight Необязательный массив NumPy с весами тестовых образцов, используемыми для взвешивания функции потерь. Можно передать одномерный массив NumPy длиной, равной числу входных образцов (соответствие весов и образцов один к одному). Для временных данных можно передать двумерный массив формы (samples, sequence_length), чтобы задать разные веса для каждого временного шага каждого образца. Этот аргумент не поддерживается, если x — набор данных; вместо этого передайте веса образцов третьим элементом x.
steps Целое число или None. Общее количество шагов (пакетов образцов), после которого оценивание считается завершённым. Игнорируется при значении по умолчанию None. Если x — это tf.data.Dataset, а steps — None, оценивание будет выполняться до исчерпания набора данных.
callbacks Список экземпляров keras.callbacks.Callback. Список обратных вызовов, применяемых во время оценивания.
return_dict Если задано True, результаты вычисления функции потерь и метрик возвращаются в виде словаря, где каждому ключу соответствует название метрики. Если задано False, они возвращаются в виде списка.
Возвращает
Скалярное значение потерь на тестовых данных (если у модели один выход и нет метрик) или список скалярных значений (если у модели несколько выходов и/или метрик). Атрибут model.metrics_names содержит отображаемые подписи скалярных выходов.

export

Просмотреть исходный код

export(
    filepath, format='tf_saved_model'
)

Создаёт артефакт TF SavedModel для вывода.

Примечание: В настоящее время этот метод можно использовать только с бэкендами TensorFlow или JAX.

Этот метод позволяет экспортировать модель в облегчённый артефакт SavedModel, содержащий только прямой проход модели (её метод call()), который можно обслуживать, например, с помощью TF-Serving. Прямой проход регистрируется под именем serve() (см. пример ниже).

Исходный код модели (включая любые использованные пользовательские слои) больше не нужен для повторной загрузки артефакта — он полностью автономен.

Аргументы
filepath Объект str или pathlib.Path. Путь для сохранения артефакта.

Пример:

# Create the artifact
model.export("path/to/location")

# Later, in a different process / environment...
reloaded_artifact = tf.saved_model.load("path/to/location")
predictions = reloaded_artifact.serve(input_data)

Для настройки конечных точек обслуживания можно использовать низкоуровневый класс keras.export.ExportArchive. Метод export() внутри использует ExportArchive.

fit

Просмотреть исходный код

fit(
    x=None,
    y=None,
    batch_size=None,
    epochs=1,
    verbose='auto',
    callbacks=None,
    validation_split=0.0,
    validation_data=None,
    shuffle=True,
    class_weight=None,
    sample_weight=None,
    initial_epoch=0,
    steps_per_epoch=None,
    validation_steps=None,
    validation_batch_size=None,
    validation_freq=1
)

Обучает модель в течение фиксированного количества эпох (итераций по набору данных).

Аргументы
x Входные данные. Это могут быть:
  • массив NumPy (или массивоподобный объект) либо список массивов (если у модели несколько входов);
  • тензор или список тензоров (если у модели несколько входов);
  • словарь, сопоставляющий имена входов с соответствующими массивами/тензорами, если у модели есть именованные входы;
  • tf.data.Dataset. Должен возвращать кортеж вида (inputs, targets) или (inputs, targets, sample_weights);
  • keras.utils.PyDataset, возвращающий (inputs, targets) или (inputs, targets, sample_weights).
y Целевые данные. Как и входные данные x, это могут быть массивы NumPy или тензоры, поддерживаемые бэкендом. Если x — это набор данных, генератор или экземпляр keras.utils.PyDataset, указывать y не нужно (целевые значения будут получены из x).
batch_size Целое число или None. Количество образцов на одно обновление градиента. Если значение не указано, batch_size по умолчанию будет равно 32. Не указывайте batch_size, если данные представлены в виде наборов данных, генераторов или экземпляров keras.utils.PyDataset (так как они формируют пакеты).
epochs Целое число. Количество эпох обучения модели. Эпоха — это проход по всем предоставленным данным x и y (если только флаг steps_per_epoch не имеет значение, отличное от None). Обратите внимание: в сочетании с initial_epoch параметр epochs следует понимать как «номер последней эпохи». Модель обучается не в течение числа итераций, заданного параметром epochs, а только до достижения эпохи с индексом epochs.
verbose "auto", 0, 1 или 2. Режим подробного вывода. 0 = без вывода, 1 = индикатор выполнения, 2 = одна строка на эпоху. В большинстве случаев значение «auto» становится равным 1. Обратите внимание: индикатор выполнения мало полезен при записи в файл, поэтому при неинтерактивном запуске (например, в производственной среде) рекомендуется использовать verbose=2. По умолчанию используется "auto".
callbacks Список экземпляров keras.callbacks.Callback. Список обратных вызовов, применяемых во время обучения. См. keras.callbacks. Обратите внимание: обратные вызовы keras.callbacks.ProgbarLogger и keras.callbacks.History создаются автоматически и их не нужно передавать в model.fit(). Создание keras.callbacks.ProgbarLogger зависит от аргумента verbose в model.fit().
validation_split Число с плавающей точкой от 0 до 1. Доля обучающих данных, используемая для валидации. Эта часть обучающих данных будет отделена от остальных, не будет использоваться для обучения, а в конце каждой эпохи на ней будут вычисляться функция потерь и все метрики модели. Данные для валидации выбираются из последних образцов предоставленных данных x и y до перемешивания. Этот аргумент не поддерживается, если x — набор данных, генератор или экземпляр keras.utils.PyDataset. Если указаны и validation_data, и validation_split, validation_data имеет приоритет над validation_split.
validation_data Данные для вычисления функции потерь и метрик модели в конце каждой эпохи. Модель не будет обучаться на этих данных. Поэтому обратите внимание: на функцию потерь для валидационных данных, переданных через validation_split или validation_data, не влияют регуляризующие слои, такие как шум и прореживание. validation_data имеет приоритет над validation_split. Возможны следующие варианты:
  • Кортеж (x_val, y_val) из массивов NumPy или тензоров.
  • Кортеж (x_val, y_val, val_sample_weights) из массивов NumPy.
  • tf.data.Dataset.
  • Генератор Python или keras.utils.PyDataset, возвращающий (inputs, targets) или (inputs, targets, sample_weights).
  • shuffle Логическое значение, определяющее, нужно ли перемешивать обучающие данные перед каждой эпохой. Этот аргумент игнорируется, если x — генератор или tf.data.Dataset.
    class_weight Необязательный словарь, сопоставляющий индексы классов (целые числа) весам (значениям с плавающей точкой), используемым для взвешивания функции потерь (только во время обучения). Это может быть полезно, чтобы указать модели уделять больше внимания образцам из недостаточно представленного класса. Если задан class_weight и ранг целевых значений равен 2 или больше, y должны быть закодированы в формате one-hot либо для разреженных меток классов должно быть явно указано последнее измерение 1.
    sample_weight Необязательный массив NumPy с весами обучающих образцов, используемыми для взвешивания функции потерь (только во время обучения). Можно передать одномерный массив NumPy длиной, равной числу входных образцов (соответствие весов и образцов один к одному). Для временных данных можно передать двумерный массив формы (samples, sequence_length), чтобы задать разные веса для каждого временного шага каждого образца. Этот аргумент не поддерживается, если x — набор данных, генератор или экземпляр keras.utils.PyDataset; вместо этого передайте веса образцов третьим элементом x. Обратите внимание: веса образцов не применяются к метрикам, указанным через аргумент metrics в compile(). Чтобы применить веса образцов к метрикам, укажите их через weighted_metrics в compile().
    initial_epoch Целое число. Эпоха, с которой нужно начать обучение (полезно для возобновления предыдущего процесса обучения).
    steps_per_epoch Целое число или None. Общее количество шагов (пакетов образцов), после которого текущая эпоха считается завершённой и начинается следующая. При обучении на входных тензорах, например тензорах, поддерживаемых бэкендом, значение None по умолчанию равно количеству образцов в наборе данных, делённому на размер пакета, или 1, если это значение невозможно определить. Если x — это tf.data.Dataset, а steps_per_epoch — None, эпоха продолжается до исчерпания входного набора данных. При передаче бесконечно повторяющегося набора данных необходимо указать аргумент steps_per_epoch. Если steps_per_epoch=-1, обучение бесконечно продолжается на бесконечно повторяющемся наборе данных.
    validation_steps Имеет значение только при наличии validation_data. Общее количество шагов (пакетов образцов), обрабатываемых до завершения валидации в конце каждой эпохи. Если validation_steps — None, валидация продолжается до исчерпания набора данных validation_data. Бесконечно повторяющийся набор данных приведёт к бесконечному циклу. Если задан validation_steps и обрабатывается только часть набора данных, оценивание в каждой эпохе начинается с начала набора. Это гарантирует, что каждый раз используются одни и те же образцы для валидации.
    validation_batch_size Целое число или None. Количество образцов в пакете для валидации. Если значение не указано, по умолчанию используется batch_size. Не указывайте validation_batch_size, если данные представлены в виде наборов данных или экземпляров keras.utils.PyDataset (так как они формируют пакеты).
    validation_freq Имеет значение только при наличии данных для валидации. Указывает, сколько эпох обучения выполнять до следующей валидации. Например, validation_freq=2 запускает валидацию каждые две эпохи.

    Поведение распаковки для входных данных, подобных итераторам: распространённый шаблон — передать объект, подобный итератору, например tf.data.Dataset или keras.utils.PyDataset, в fit(), который фактически возвращает не только признаки (x), но также, при необходимости, целевые значения (y) и веса примеров (sample_weight). Keras требует, чтобы выходные данные таких объектов, подобных итераторам, не допускали неоднозначной интерпретации. Итератор должен возвращать кортеж длины 1, 2 или 3, причём необязательные второй и третий элементы будут использоваться соответственно для y и sample_weight. Любой другой переданный тип будет обёрнут в кортеж длины 1, фактически рассматривая всё как x. При возвращении словарей они всё равно должны соответствовать структуре кортежа верхнего уровня, например ({"x0": x0, "x1": x1}, y). Keras не будет пытаться разделить признаки, целевые значения и веса по ключам одного словаря. Один из примечательных неподдерживаемых типов данных — namedtuple. Причина в том, что он ведёт себя одновременно как упорядоченный тип данных (кортеж) и как тип данных-отображение (словарь). Поэтому для именованного кортежа вида namedtuple("example_tuple", ["y", "x"]) возникает неоднозначность: следует ли менять порядок элементов при интерпретации значения. Ещё более неоднозначен кортеж вида namedtuple("other_tuple", ["x", "y", "z"]): непонятно, предназначен ли он для распаковки в x, y и sample_weight или для передачи целиком в качестве одного элемента в x.

    Возвращает
    Объект History. Его атрибут History.history содержит запись значений функции потерь и метрик на последовательных эпохах, а также значений функции потерь и метрик на проверочной выборке (если применимо).

    from_config

    Посмотреть исходный код

    @classmethod
    from_config(
        config, custom_objects=None
    )
    

    Создаёт слой на основе его конфигурации.

    Этот метод является обратным для get_config и позволяет создать экземпляр того же слоя из словаря конфигурации. Он не обрабатывает связи между слоями (это выполняется Network) и веса (это выполняется set_weights).

    Аргументы
    config Словарь Python, обычно являющийся результатом вызова get_config.
    Возвращает
    Экземпляр слоя.

    get_compile_config

    Посмотреть исходный код

    get_compile_config()
    

    Возвращает сериализованную конфигурацию со сведениями о компиляции модели.

    Этот метод возвращает словарь конфигурации со всеми сведениями (оптимизатор, функция потерь, метрики и т. д.), использованными при компиляции модели.

    Возвращает
    Словарь со сведениями о компиляции модели.

    get_layer

    Посмотреть исходный код

    get_layer(
        name=None, index=None
    )
    

    Получает слой по его имени (которое должно быть уникальным) или индексу.

    Если указаны и name, и index, приоритет будет у index. Индексы определяются порядком горизонтального обхода графа (снизу вверх).

    Аргументы
    name Строка, имя слоя.
    index Целое число, индекс слоя.
    Возвращает
    Экземпляр слоя.

    get_metrics_result

    Посмотреть исходный код

    get_metrics_result()
    

    Возвращает значения метрик модели в виде словаря.

    Если результат какой-либо метрики представляет собой словарь (содержащий несколько метрик), каждая из них добавляется в словарь верхнего уровня, возвращаемый этим методом.

    Возвращает
    Объект dict со значениями метрик, перечисленных в self.metrics.
    Example {'loss': 0.2, 'accuracy': 0.7}.

    load_weights

    Посмотреть исходный код

    load_weights(
        filepath, skip_mismatch=False, **kwargs
    )
    

    Загружает веса из файла, сохранённого с помощью save_weights().

    Веса загружаются на основе топологии сети. Это означает, что архитектура должна совпадать с той, которая использовалась при сохранении весов. Обратите внимание: слои без весов не учитываются при топологической сортировке, поэтому их можно добавлять и удалять, если у них нет весов.

    Частичная загрузка весов

    Если вы изменили модель, например добавили новый слой (с весами) или изменили форму весов слоя, можно проигнорировать ошибки и продолжить загрузку, установив skip_mismatch=True. В этом случае все слои с несовпадающими весами будут пропущены. Для каждого пропущенного слоя будет показано предупреждение.

    Аргументы
    filepath Строка, путь к файлу весов для загрузки. Это может быть файл .weights.h5 или файл весов устаревшего формата .h5.
    skip_mismatch Логическое значение: следует ли пропускать загрузку слоёв, если количество весов или их форма не совпадает.

    loss

    Посмотреть исходный код

    loss(
        y, y_pred, sample_weight=None
    )
    

    make_predict_function

    Посмотреть исходный код

    make_predict_function(
        force=False
    )
    

    make_test_function

    Посмотреть исходный код

    make_test_function(
        force=False
    )
    

    make_train_function

    Посмотреть исходный код

    make_train_function(
        force=False
    )
    

    pop

    Посмотреть исходный код

    pop(
        rebuild=True
    )
    

    Удаляет последний слой модели.

    predict

    Посмотреть исходный код

    predict(
        x, batch_size=None, verbose='auto', steps=None, callbacks=None
    )
    

    Формирует прогнозы для входных примеров.

    Вычисления выполняются пакетами. Этот метод предназначен для пакетной обработки большого количества входных данных. Он не предназначен для использования внутри циклов, которые перебирают ваши данные и за раз обрабатывают небольшое количество входных данных.

    Для небольшого количества входных данных, помещающихся в один пакет, используйте напрямую __call__() для ускорения выполнения, например model(x), или model(x, training=False), если в модели есть такие слои, как BatchNormalization, поведение которых при инференсе отличается.

    Примечание: Подробнее о различиях между методами Model predict() и __call__() см. в этом ответе на часто задаваемый вопрос.
    Аргументы
    x Входные примеры. Допустимые варианты:
    • Массив NumPy (или объект, подобный массиву) либо список массивов (если у модели несколько входов).
    • Тензор или список тензоров (если у модели несколько входов).
    • tf.data.Dataset.
    • Экземпляр keras.utils.PyDataset.
    batch_size Целое число или None. Количество примеров в пакете. Если не указано, для batch_size по умолчанию используется значение 32. Не указывайте batch_size, если данные представлены в виде набора данных, генераторов или экземпляров keras.utils.PyDataset (поскольку они формируют пакеты).
    verbose "auto", 0, 1 или 2. Режим отображения сведений о ходе выполнения. 0 = без вывода, 1 = индикатор выполнения, 2 = одна строка. В большинстве случаев "auto" принимает значение 1. Обратите внимание: индикатор выполнения не особенно полезен при записи в файл, поэтому при запуске без интерактивного взаимодействия (например, в производственной среде) рекомендуется использовать verbose=2. По умолчанию используется "auto".
    steps Общее количество шагов (пакетов примеров) до завершения цикла прогнозирования. Игнорируется при значении по умолчанию None. Если x — это tf.data.Dataset, а steps имеет значение None, predict() будет выполняться, пока входной набор данных не закончится.
    callbacks Список экземпляров keras.callbacks.Callback. Список обратных вызовов, применяемых во время прогнозирования.
    Возвращает
    Массивы NumPy с прогнозами.

    predict_on_batch

    Посмотреть исходный код

    predict_on_batch(
        x
    )
    

    Возвращает прогнозы для одного пакета примеров.

    Аргументы
    x Входные данные. Должны быть объектом, подобным массиву.
    Возвращает
    Массивы NumPy с прогнозами.

    predict_step

    Посмотреть исходный код

    predict_step(
        data
    )
    

    reset_metrics

    Посмотреть исходный код

    reset_metrics()
    

    save

    Посмотреть исходный код

    save(
        filepath, overwrite=True, **kwargs
    )
    

    Сохраняет модель в файл .keras.

    Аргументы
    filepath Объект str или pathlib.Path. Путь для сохранения модели. Должен оканчиваться на .keras.
    overwrite Следует ли перезаписать существующую модель в целевом расположении или вместо этого запросить подтверждение у пользователя в интерактивном режиме.
    save_format Аргумент save_format устарел в Keras 3. Формат для использования в виде строки. В настоящее время поддерживается только формат "keras".

    Пример:

    model = keras.Sequential(
        [
            keras.layers.Dense(5, input_shape=(3,)),
            keras.layers.Softmax(),
        ],
    )
    model.save("model.keras")
    loaded_model = keras.saving.load_model("model.keras")
    x = keras.random.uniform((10, 3))
    assert np.allclose(model.predict(x), loaded_model.predict(x))
    

    Обратите внимание, что model.save() — это псевдоним для keras.saving.save_model().

    Сохранённый файл .keras содержит:

    • Конфигурацию модели (архитектуру)
    • Веса модели
    • Состояние оптимизатора модели (если оно есть)

    Таким образом, модели можно восстановить в точно таком же состоянии.

    save_weights

    Посмотреть исходный код

    save_weights(
        filepath, overwrite=True
    )
    

    Сохраняет веса всех слоёв в файл .weights.h5.

    Аргументы
    filepath Объект str или pathlib.Path. Путь для сохранения модели. Должен оканчиваться на .weights.h5.
    overwrite Следует ли перезаписать существующую модель в целевом расположении или вместо этого запросить подтверждение у пользователя в интерактивном режиме.

    stateless_compute_loss

    Посмотреть исходный код

    stateless_compute_loss(
        trainable_variables,
        non_trainable_variables,
        metrics_variables,
        x=None,
        y=None,
        y_pred=None,
        sample_weight=None
    )
    

    summary

    Посмотреть исходный код

    summary(
        line_length=None,
        positions=None,
        print_fn=None,
        expand_nested=False,
        show_trainable=False,
        layer_range=None
    )
    

    Выводит текстовую сводку о сети.

    Аргументы
    line_length Общая длина выводимых строк (например, задайте это значение, чтобы настроить отображение под размер окна терминала).
    positions Относительные или абсолютные позиции элементов журнала в каждой строке. Если не указано, становится [0.3, 0.6, 0.70, 1.]. По умолчанию используется None.
    print_fn Используемая функция вывода. По умолчанию вывод выполняется в stdout. Если stdout не работает в вашей среде, замените его на print. Она будет вызываться для каждой строки сводки. Можно задать пользовательскую функцию, чтобы перехватить текст сводки.
    expand_nested Следует ли раскрывать вложенные модели. По умолчанию используется False.
    show_trainable Следует ли показывать, доступен ли слой для обучения. По умолчанию используется False.
    layer_range Список или кортеж из 2 строк: имени начального слоя и имени конечного слоя (оба включительно), задающих диапазон слоёв для вывода в сводке. Вместо точных имён также принимаются регулярные выражения. В этом случае начальным предикатом будет первый элемент, соответствующий layer_range[0], а конечным — последний элемент, соответствующий layer_range[1]. По умолчанию используется None, включающий все слои модели.
    Вызывает исключение
    ValueError если summary() вызван до построения модели.

    symbolic_call

    Посмотреть исходный код

    symbolic_call(
        *args, **kwargs
    )
    

    test_on_batch

    Посмотреть исходный код

    test_on_batch(
        x, y=None, sample_weight=None, return_dict=False
    )
    

    Проверяет модель на одном пакете примеров.

    Аргументы
    x Входные данные. Должны быть объектом, подобным массиву.
    y Целевые данные. Должны быть объектом, подобным массиву.
    sample_weight Необязательный массив той же длины, что и x, содержащий веса, применяемые к функции потерь модели для каждого примера. Для временных данных можно передать двумерный массив формы (samples, sequence_length), чтобы задать отдельный вес для каждого временного шага каждого примера.
    return_dict Если True, результаты функции потерь и метрик возвращаются в виде словаря, где каждому ключу соответствует имя метрики. Если False, они возвращаются в виде списка.
    Возвращает
    Скалярное значение функции потерь (если метрик нет и задано return_dict=False), список значений функции потерь и метрик (если метрики есть и задано return_dict=False) или словарь значений метрик и функции потерь (если задано return_dict=True).

    test_step

    Посмотреть исходный код

    test_step(
        data
    )
    

    to_json

    Посмотреть исходный код

    to_json(
        **kwargs
    )
    

    Возвращает строку JSON с конфигурацией сети.

    Чтобы загрузить сеть из файла JSON, используйте keras.models.model_from_json(json_string, custom_objects={...}).

    Аргументы
    **kwargs Дополнительные именованные аргументы, передаваемые в json.dumps().
    Возвращает
    Строка JSON.

    train_on_batch

    Посмотреть исходный код

    train_on_batch(
        x, y=None, sample_weight=None, class_weight=None, return_dict=False
    )
    

    Выполняет одно обновление градиента на одном пакете данных.

    Аргументы
    x Входные данные. Должны быть объектом, подобным массиву.
    y Целевые данные. Должны быть объектом, подобным массиву.
    sample_weight Необязательный массив той же длины, что и x, содержащий веса, применяемые к функции потерь модели для каждого примера. Для временных данных можно передать двумерный массив формы (samples, sequence_length), чтобы задать отдельный вес для каждого временного шага каждого примера.
    class_weight Необязательный словарь, сопоставляющий индексы классов (целые числа) с весами (числа с плавающей точкой), применяемыми к функции потерь модели для примеров этого класса во время обучения. Это может быть полезно, чтобы указать модели уделять больше внимания примерам недостаточно представленного класса. Если задано class_weight, а ранг целевых данных равен 2 или больше, либо y должны быть закодированы методом one-hot, либо для разреженных меток классов необходимо явно добавить последнее измерение длины 1.
    return_dict Если True, результаты функции потерь и метрик возвращаются в виде словаря, где каждому ключу соответствует имя метрики. Если False, они возвращаются в виде списка.
    Возвращает
    Скалярное значение функции потерь (если метрик нет и задано return_dict=False), список значений функции потерь и метрик (если метрики есть и задано return_dict=False) или словарь значений метрик и функции потерь (если задано return_dict=True).

    train_step

    Посмотреть исходный код

    train_step(
        data
    )
    

    © 2022 The TensorFlow Authors. All rights reserved.
    Licensed under the Creative Commons Attribution License 4.0.
    Code samples licensed under the Apache 2.0 License.
    https://www.tensorflow.org/api_docs/python/tf/keras/Sequential

    Spec-Zone.ru

    Настройки Оффлайн Что нового Помощь О нас
    Spec-Zone .ru
    спецификации, руководства, описания, API