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) (за исключением случаев с функциями потерь со разреженными данными, такими как sparse categorical crossentropy, которая ожидает целочисленные массивы формы (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 Целое число. Количество пакетов, запускаемых во время каждого вызова единственной скомпилированной функции. Запуск нескольких пакетов внутри одного вызова скомпилированной функции может значительно улучшить производительность на TPUs или для небольших моделей с большой нагрузкой на 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 Режим отображения, принимающий значения 0, 1, или 2. 0 = без отображения, 1 = полоса прогресса, 2 = строка. "auto" становится 1 в большинстве случаев. Обратите внимание, что полоса прогресса не особенно полезна при записи в файл, поэтому verbose=2 рекомендуется, когда программа не работает интерактивно (например, в производственной среде). По умолчанию "auto".
sample_weight Необязательный массив NumPy весов для тестовых образцов, используемый для взвешивания функции потерь. Вы можете передать плоский (одномерный) массив NumPy с той же длиной, что и входные образцы (1:1 соответствие между весами и образцами), или, в случае временных данных, вы можете передать двумерный массив с формой (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 (или подобный массиву объект), или список массивов (если у модели несколько входных данных).
  • Тензор или список тензоров (если у модели несколько входных данных).
  • Словарь, сопоставляющий имена входных данных соответствующим массивам/тензорам, если у модели есть именованные входные данные.
  • A tf.data.Dataset. Должен возвращать кортеж, содержащий либо (inputs, targets), либо (inputs, targets, sample_weights).
  • A 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, не подвергаются влиянию регуляризующих слоев, таких как шум и dropout. validation_data переопределит validation_split. Это может быть:
  • Кортеж (x_val, y_val) массивов NumPy или тензоров.
  • Кортеж (x_val, y_val, val_sample_weights) массивов NumPy.
  • A 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 весов для обучающих образцов, используемый для взвешивания функции потерь (только во время обучения). Вы можете передать плоский (1D) массив NumPy с такой же длиной, что и входные образцы (1:1 соответствие между весами и образцами), или, в случае временных данных, вы можете передать 2D-массив с формой (samples, sequence_length), чтобы применить разный вес к каждому временнóму шагу каждого образца. Этот аргумент не поддерживается, когда x является набором данных, генератором или экземпляром keras.utils.PyDataset, вместо этого передайте sample_weights в качестве третьего элемента 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_steps равно None, валидация будет выполняться до тех пор, пока набор данных validation_data не будет исчерпан. В случае бесконечно повторяющегося набора данных, он будет выполняться бесконечно. Если validation_steps указан и будет обработан только часть набора данных, оценка будет начинаться с начала набора данных в каждой эпохе. Это гарантирует, что каждый раз используются одни и те же образцы для валидации.
    validation_batch_size Целое число или None. Количество образцов в пакет для валидации. Если не указано, будет по умолчанию равно batch_size. Не указывайте validation_batch_size, если ваши данные представляют собой наборы данных или экземпляры keras.utils.PyDataset (так как они генерируют пакеты).
    validation_freq Актуально только если предоставлены данные валидации. Указывает, через сколько эпох обучения выполнять новую валидацию, например, validation_freq=2 выполняет валидацию каждую 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, позволяющий восстановить тот же слой из словаря конфигурации. Он не обрабатывает соединение слоев (это обрабатывает сеть), а также веса (это обрабатывает 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()
    

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

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

    Возвращает
    Словарь, содержащий значения метрик, перечисленных в 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, которые ведут себя по-разному во время инференции.

    Примечание: См. эту запись FAQ для получения дополнительной информации о разнице между методами Model predict() и __call__().
    Аргументы
    x Входные образцы. Это может быть:
    • Массив NumPy (или похожий на массив), или список массивов (если у модели несколько входов).
    • Тензор или список тензоров (если у модели несколько входов).
    • Объект tf.data.Dataset.
    • Объект keras.utils.PyDataset.
    batch_size Целое число или None. Количество выборок в пакете. Если не указано, batch_size будет по умолчанию равно 32. Не указывайте batch_size, если ваши данные находятся в виде набора данных, генераторов или объектов keras.utils.PyDataset (поскольку они генерируют пакеты).
    verbose Режим отображения, 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.

    END_OF_DOCUMENT_MARKER
    Аргументы
    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

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

    Проверяет модель на одном батче выборок.

    Аргументы
    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 должны быть закодированы с помощью одного горячего кода, либо для меток разреженных классов необходимо явно указать конечную размерность 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