Spec-Zone.ru › TensorFlow 1.15

tf.keras.experimental.LinearModel

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

Линейная модель для задач регрессии и классификации.

Наследуется от: Model

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

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

См. Руководство по миграции для получения дополнительной информации.

tf.compat.v1.keras.experimental.LinearModel, `tf.compat.v2.keras.experimental.LinearModel`

tf.keras.experimental.LinearModel(
    units=1, activation=None, use_bias=True, kernel_initializer='glorot_uniform',
    bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None,
    **kwargs
)

Эта модель аппроксимирует следующую функцию:

$$y = \beta + \sum_{i=1}^{N} w_{i} * x_{i}$$

где

$$\beta$$

— смещение, а

$$w_{i}$$

— вес для каждого признака.

Пример:

model = LinearModel()
model.compile(optimizer='sgd', loss='mse')
model.fit(x, y, epochs)

Эта модель также принимает разреженные числовые входные данные:

Пример:

model = LinearModel()
opt = tf.keras.optimizers.Adam()
loss_fn = tf.keras.losses.MeanSquaredError()
with tf.GradientTape() as tape:
  output = model(sparse_input)
  loss = tf.reduce_mean(loss_fn(target, output))
grads = tape.gradient(loss, model.weights)
opt.apply_gradients(zip(grads, model.weights))
Аргументы
units Положительное целое число, размерность вывода без размера пакета.
activation Функция активации для использования. Если ничего не указать, активация не применяется.
use_bias Вычислять ли смещение/перехват для этой модели. Если установлено в False, смещение/перехват не будет использоваться в вычислениях, например, если данные уже центрированы.
kernel_initializer Инициализатор для матриц весов kernel.
bias_initializer Инициализатор для вектора смещения.
kernel_regularizer Регуляризатор для векторов ядра.
bias_regularizer Регуляризатор для вектора смещения.
**kwargs Параметры, которые передаются в BaseLayer.init.
Атрибуты
layers
metrics_names Возвращает метки отображения модели для всех выходов.
run_eagerly Настраиваемый атрибут, указывающий, должна ли модель выполняться в режиме eager.

Выполнение в режиме eager означает, что ваша модель будет выполняться шаг за шагом, как код Python. Ваша модель может выполняться медленнее, но это должно упростить отладку, позволяя переходить к отдельным вызовам слоев.

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

sample_weights
state_updates Возвращает updates от всех состоятельных слоев.

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

stateful

Методы

compile

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

compile(
    optimizer='rmsprop', loss=None, metrics=None, loss_weights=None,
    sample_weight_mode=None, weighted_metrics=None, target_tensors=None,
    distribute=None, **kwargs
)

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

Аргументы
optimizer Строка (имя оптимизатора) или экземпляр оптимизатора. См. tf.keras.optimizers.
loss Строка (имя функции потерь), функция потерь или экземпляр tf.losses.Loss. См. tf.losses. Если у модели несколько выходов, можно использовать разные функции потерь для каждого выхода, передав словарь или список функций потерь. Значение потерь, которое будет минимизироваться моделью, будет суммой всех отдельных потерь.
metrics Список метрик, которые будут оцениваться моделью во время обучения и тестирования. Обычно используются metrics=['accuracy']. Чтобы указать разные метрики для разных выходов многовыходной модели, также можно передать словарь, например, metrics={'output_a': 'accuracy', 'output_b': ['accuracy', 'mse']}. Можно также передать список (длина = длина(выходов)) списков метрик, таких как metrics=[['accuracy'], ['accuracy', 'mse']] или metrics=['accuracy', ['accuracy', 'mse']].
loss_weights Необязательный список или словарь, определяющие скалярные коэффициенты (числа с плавающей точкой Python), чтобы взвесить вклады потерь различных выходов модели. Значение потерь, которое будет минимизироваться моделью, будет затем взвешенной суммой всех отдельных потерь, взвешенных коэффициентами loss_weights. Если это список, ожидается взаимно однозначное соответствие выходам модели. Если это тензор, ожидается отображение имён выходов (строки) на скалярные коэффициенты.
sample_weight_mode Если необходимо выполнить взвешивание выборок на уровне временного шага (2D веса), установите это значение в "temporal". None по умолчанию использует взвешивание выборок на уровне образца (1D). Если у модели несколько выходов, можно использовать разные sample_weight_mode для каждого выхода, передав словарь или список режимов.
weighted_metrics Список метрик, которые будут оцениваться и взвешиваться весами выборок или весами классов во время обучения и тестирования.
target_tensors По умолчанию Keras создает заглушки для целевых данных модели, которые будут заполняться целевыми данными во время обучения. Если вместо этого вы хотите использовать собственные тензоры целевых данных (в свою очередь, Keras не будет ожидать внешние данные NumPy для этих целевых данных во время обучения), вы можете указать их через аргумент target_tensors. Это может быть один тензор (для модели с одним выходом), список тензоров или словарь, сопоставляющий имена выходов с тензорами целевых данных.
distribute НЕ ПОДДЕРЖИВАЕТСЯ В TF 2.0, пожалуйста, создайте и скомпилируйте модель в области действия стратегии распределения, а не передавайте ее в compile.
**kwargs Любые дополнительные аргументы.
Возможные ошибки
ValueError В случае неверных аргументов для optimizer, loss, metrics или sample_weight_mode.

evaluate

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

evaluate(
    x=None, y=None, batch_size=None, verbose=1, sample_weight=None, steps=None,
    callbacks=None, max_queue_size=10, workers=1, use_multiprocessing=False
)

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

Вычисление выполняется по партиям.

Аргументы
x Входные данные. Это может быть:
  • Массив NumPy (или массив-подобный объект), или список массивов (в случае модели с несколькими входами).
  • Тензор TensorFlow или список тензоров (в случае модели с несколькими входами).
  • Словарь, сопоставляющий имена входов соответствующим массивам/тензорам, если модель имеет именованные входы.
  • Набор данных tf.data.
  • Генератор или экземпляр keras.utils.Sequence.
y Целевые данные. Как и входные данные x, они могут быть либо массивами NumPy, либо тензорами TensorFlow. Они должны быть согласованы с x (нельзя использовать NumPy-входы и тензорные цели или наоборот). Если x — набор данных, генератор или экземпляр keras.utils.Sequence, y не следует указывать (так как цели будут получены из итератора/набора данных).
batch_size Целое число или None. Количество выборок на обновление градиента. Если не указано, batch_size будет по умолчанию 32. Не указывайте batch_size если ваши данные представлены в виде символьных тензоров, наборов данных, генераторов или экземпляров keras.utils.Sequence (так как они генерируют пакеты).
verbose 0 или 1. Режим отображения. 0 = без вывода, 1 = полоска прогресса.
sample_weight Необязательный массив NumPy весов для тестовых выборок, используемый для взвешивания функции потерь. Можно передать плоский (1D) массив NumPy с такой же длиной, как у входных выборок (1:1 соответствие между весами и выборками), или, в случае временных данных, можно передать двумерный массив с формой (samples, sequence_length), чтобы применить разные веса к каждому временному шагу каждой выборки. В этом случае вы должны убедиться, что указали sample_weight_mode="temporal" в compile(). Этот аргумент не поддерживается, когда x является набором данных, вместо этого передайте веса выборок как третий элемент x.
steps Целое число или None. Общее число шагов (пакетов выборок) перед завершением раунда оценки. Игнорируется с значением по умолчанию None. Если x — набор данных tf.data, а steps равно None, 'evaluate' будет выполняться до исчерпания набора данных. Этот аргумент не поддерживается с входными данными в виде массивов.
callbacks Список экземпляров keras.callbacks.Callback. Список колбеков, применяемых во время оценки. См. колбеки.
max_queue_size Целое число. Используется только для генератора или входных данных keras.utils.Sequence. Максимальный размер очереди генератора. Если не указано, max_queue_size будет по умолчанию 10.
workers Целое число. Используется только для генератора или входных данных keras.utils.Sequence. Максимальное число процессов для запуска при использовании многопоточности на основе процессов. Если не указано, workers будет по умолчанию 1. Если 0, генератор будет выполняться на основном потоке.
use_multiprocessing Булево значение. Используется только для генератора или входных данных keras.utils.Sequence. Если True, использовать многопоточность на основе процессов. Если не указано, use_multiprocessing будет по умолчанию False. Обратите внимание, что поскольку эта реализация использует многопроцессорность, не следует передавать несериализуемые аргументы в генератор, поскольку они не могут быть легко переданы дочерним процессам.
Возвращаемое значение
Скалярная тестовая потеря (если модель имеет один выход и нет метрик) или список скаляров (если модель имеет несколько выходов и/или метрик). Атрибут model.metrics_names предоставит вам метки для отображения скалярных выходов.
Возможные исключения
ValueError в случае неверных аргументов.

evaluate_generator

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

evaluate_generator(
    generator, steps=None, callbacks=None, max_queue_size=10, workers=1,
    use_multiprocessing=False, verbose=0
)

Оценивает модель на основе генератора данных.

Генератор должен возвращать данные того же типа, что и принимает test_on_batch.

Аргументы
generator Генератор, возвращающий кортежи (входные данные, целевые значения) или (входные данные, целевые значения, веса_выборки) или экземпляр объекта keras.utils.Sequence, чтобы избежать дублирования данных при использовании многопроцессорной обработки.
steps Общее количество шагов (пакетов выборок), которые нужно получить от generator, прежде чем остановиться. Необязательный параметр для Sequence: если не указано, будет использовано значение len(generator) в качестве количества шагов.
callbacks Список экземпляров keras.callbacks.Callback. Список колбэков, которые нужно применить во время оценки. См. колбэки.
max_queue_size максимальный размер очереди генератора
workers Целое число. Максимальное количество процессов, которые нужно запустить при использовании многопоточной обработки на основе процессов. Если не указано, workers по умолчанию будет равно 1. Если 0, генератор будет выполняться на основном потоке.
use_multiprocessing Булево значение. Если True, использовать многопоточную обработку на основе процессов. Если не указано, use_multiprocessing по умолчанию будет равно False. Обратите внимание, что, поскольку эта реализация использует многопроцессорную обработку, вы не должны передавать несериализуемые аргументы в генератор, так как их сложно передать дочерним процессам.
verbose Режим отображения, 0 или 1.
Возвращаемое значение
Скалярная тестовая потеря (если модель имеет один выход и нет метрик) или список скаляров (если модель имеет несколько выходов и/или метрик). Атрибут model.metrics_names предоставит вам метки для отображения скалярных выходов.
Возможные исключения
ValueError в случае неверных аргументов.
Возможные исключения
ValueError В случае, если генератор возвращает данные в неверном формате.

fit

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

fit(
    x=None, y=None, batch_size=None, epochs=1, verbose=1, 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_freq=1, max_queue_size=10, workers=1,
    use_multiprocessing=False, **kwargs
)

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

Аргументы
x Данные для обучения. Могут быть:
  • Массив Numpy (или подобный), или список массивов (если у модели несколько входных данных).
  • Тензор TensorFlow, или список тензоров (если у модели несколько входных данных).
  • Словарь, сопоставляющий имена входных данных соответствующим массивам/тензорам, если у модели есть именованные входы.
  • Набор данных tf.data. Должен возвращать кортеж, содержащий либо (inputs, targets) или (inputs, targets, sample_weights).
  • Генератор или keras.utils.Sequence, возвращающий (inputs, targets) или (inputs, targets, sample weights).
y Целевые данные. Как и входные данные x, они могут быть массивами Numpy или тензорами TensorFlow. Они должны быть согласованы с x (вы не можете использовать входные данные Numpy и целевые данные в формате тензоров, или наоборот). Если x является набором данных, генератором или экземпляром keras.utils.Sequence, y не нужно указывать (так как целевые данные будут получены из x).
batch_size Целое число или None. Количество образцов на итерацию градиентного спуска. Если не указано, batch_size будет по умолчанию равно 32. Не указывайте batch_size если данные представлены в виде символьных тензоров, наборов данных, генераторов или экземпляров keras.utils.Sequence (так как они генерируют батчи).
epochs Целое число. Количество эпох для обучения модели. Эпоха — это итерация по всем x и y данным. Обратите внимание, что в сочетании с initial_epoch, epochs следует понимать как "конечную эпоху". Модель не обучается для указанного количества итераций epochs, а только до достижения эпохи с индексом epochs.
verbose 0, 1 или 2. Режим отображения. 0 = без вывода, 1 = полоса прогресса, 2 = одна строка на эпоху. Обратите внимание, что полоса прогресса не очень полезна при записи в файл, поэтому verbose=2 рекомендуется, когда вы не работаете интерактивно (например, в производственной среде).
callbacks Список экземпляров keras.callbacks.Callback. Список колбеков, применяемых во время обучения. См. tf.keras.callbacks.
validation_split Вещественное число от 0 до 1. Доля обучающих данных, используемых в качестве проверочных данных. Модель выделит эту долю обучающих данных, не будет обучаться на ней и будет оценивать функцию потерь и любые метрики модели на этих данных в конце каждой эпохи. Проверочные данные выбираются из последних образцов в x и y данных, перед перемешиванием. Этот аргумент не поддерживается, когда x является набором данных, генератором или экземпляром keras.utils.Sequence.
validation_data Данные, на которых оценивается функция потерь и любые метрики модели в конце каждой эпохи. Модель не будет обучаться на этих данных. validation_data переопределит validation_split. validation_data может быть:
  • кортеж (x_val, y_val) массивов Numpy или тензоров
  • кортеж (x_val, y_val, val_sample_weights) массивов Numpy
  • набор данных Для первых двух случаев, batch_size должен быть предоставлен. Для последнего случая, validation_steps должен быть предоставлен.
  • shuffle Булево значение (перемешивать ли обучающие данные перед каждой эпохой) или строка ('batch'). 'batch' — специальный вариант для работы с ограничениями данных HDF5; перемешивание происходит в блоках размером batch. Не оказывает влияния, если steps_per_epoch не None.
    class_weight Необязательный словарь, сопоставляющий индексы классов (целые числа) с весами (вещественные числа), используемый для взвешивания функции потерь (только во время обучения). Это может быть полезно, чтобы модель "уделяла больше внимания" образцам из недопредставленного класса.
    sample_weight Необязательный массив Numpy весов для обучающих образцов, используемый для взвешивания функции потерь (только во время обучения). Вы можете передать плоский (одномерный) массив Numpy с такой же длиной, как у входных образцов (сопоставление 1:1 между весами и образцами), или в случае временных данных, вы можете передать двумерный массив с формой (samples, sequence_length), чтобы применить разные веса к каждому временной шагу каждого образца. В этом случае вы должны указать sample_weight_mode="temporal" в compile(). Этот аргумент не поддерживается, когда x является набором данных, генератором или keras.utils.Sequence экземпляром, вместо этого передайте sample_weights как третий элемент x.
    initial_epoch Целое число. Эпоха, с которой начать обучение (полезно для возобновления предыдущей сессии обучения).
    steps_per_epoch Целое число или None. Общее количество шагов (батчей образцов) перед объявлением одной эпохи завершенной и началом следующей. При обучении с тензорными входными данными, такими как тензоры данных TensorFlow, значение None по умолчанию равно количеству образцов в наборе данных, деленному на размер батча, или 1, если это невозможно определить. Если x — набор данных tf.data, и 'steps_per_epoch' — None, эпоха будет продолжаться до исчерпания входного набора данных. Этот аргумент не поддерживается с входными массивами.
    validation_steps Актуален только если validation_data предоставлен и является набором данных tf.data. Общее количество шагов (батчей образцов), которые нужно нарисовать, прежде чем остановить процесс, при выполнении проверки в конце каждой эпохи. Если validation_data — набор данных tf.data и 'validation_steps' — None, проверка будет выполняться до исчерпания набора данных validation_data.
    validation_freq Актуален только если указаны данные для валидации. Целое число или экземпляр collections_abc.Container (например, список, кортеж и т.д.). Если целое число, указывает, сколько эпох обучения должно пройти, прежде чем выполнится новая проверка, например, validation_freq=2 выполняет проверку каждые 2 эпохи. Если контейнер, указывает эпохи, в которых нужно выполнять проверку, например, validation_freq=[1, 2, 10] выполняет проверку в конце 1-й, 2-й и 10-й эпох.
    max_queue_size Целое число. Используется только для генератора или входных данных keras.utils.Sequence. Максимальный размер очереди генератора. Если не указано, max_queue_size будет по умолчанию равно 10.
    workers Целое число. Используется только для генератора или входных данных keras.utils.Sequence. Максимальное количество процессов, которые нужно запустить при использовании многопоточности на основе процессов. Если не указано, workers будет по умолчанию равно 1. Если 0, генератор будет выполняться на главном потоке.
    use_multiprocessing Булево значение. Используется только для генератора или входных данных keras.utils.Sequence. Если True, используйте многопоточность на основе процессов. Если не указано, use_multiprocessing будет по умолчанию равно False. Обратите внимание, что из-за того, что эта реализация использует multiprocessing, вы не должны передавать несериализуемые аргументы генератору, так как они не могут быть легко переданы дочерним процессам.
    **kwargs Используется для обеспечения обратной совместимости.
    Возвращаемое значение
    Объект History. Его атрибут History.history — запись значений потерь обучения и метрик на каждой эпохе, а также значений потерь проверки и метрик проверки (при необходимости).
    Исключения
    RuntimeError Если модель никогда не была скомпилирована.
    ValueError В случае несоответствия между предоставленными входными данными и ожиданиями модели.

    fit_generator

    Ссылка на исходный код

    fit_generator(
        generator, steps_per_epoch=None, epochs=1, verbose=1, callbacks=None,
        validation_data=None, validation_steps=None, validation_freq=1,
        class_weight=None, max_queue_size=10, workers=1, use_multiprocessing=False,
        shuffle=True, initial_epoch=0
    )
    

    Обучает модель на данных, поставляемых по частям генератором Python.

    Генератор выполняется параллельно с моделью для повышения эффективности. Например, это позволяет выполнять реальное увеличение данных изображений на CPU параллельно с обучением модели на GPU.

    Использование keras.utils.Sequence гарантирует порядок и гарантирует однократное использование каждого входного значения за эпоху при использовании use_multiprocessing=True.

    Аргументы
    generator Генератор или экземпляр объекта Sequence (keras.utils.Sequence), чтобы избежать дублирования данных при использовании многопроцессорности. Выход генератора должен быть либо
    • кортежем (inputs, targets)
    • кортежем (inputs, targets, sample_weights). Этот кортеж (один выход генератора) образует одну партию. Поэтому все массивы в этом кортеже должны иметь одинаковую длину (равную размеру партии). Разные партии могут иметь разные размеры. Например, последняя партия эпохи обычно меньше других, если размер набора данных не делится на размер партии. Ожидается, что генератор будет циклически обрабатывать свои данные бесконечно. Эпоха завершается, когда модель обработает steps_per_epoch партий.
    steps_per_epoch Общее количество шагов (партий образцов), которые нужно получить от generator, прежде чем объявлять одну эпоху завершённой и начинать следующую эпоху. Обычно оно должно быть равно количеству образцов в вашем наборе данных, делённому на размер партии. Необязательно для Sequence: если не указано, будет использовано значение len(generator) в качестве количества шагов.
    epochs Целое число, общее количество итераций по данным.
    verbose Режим отображения, 0, 1 или 2.
    callbacks Список обратных вызовов, которые будут вызываться во время обучения.
    validation_data Это может быть
  • генератор для данных валидации
  • кортеж (входные данные, целевые значения)
  • кортеж (входные данные, целевые значения, весы образцов).
  • validation_steps Актуально только если validation_data является генератором. Общее количество шагов (партий образцов), которые нужно получить от generator, прежде чем остановиться. Необязательно для Sequence: если не указано, будет использовано значение len(validation_data) в качестве количества шагов.
    validation_freq Актуально только если предоставлены данные валидации. Целое число или экземпляр collections_abc.Container (например, список, кортеж и т. д.). Если целое число, указывает, сколько эпох обучения нужно выполнить, прежде чем выполнить новую проверку валидации, например, validation_freq=2 выполняет валидацию каждые 2 эпохи. Если контейнер, указывает эпохи, на которых нужно выполнить валидацию, например, validation_freq=[1, 2, 10] выполняет валидацию в конце 1-й, 2-й и 10-й эпох.
    class_weight Словарь, сопоставляющий индексы классов с весом для класса.
    max_queue_size Целое число. Максимальный размер очереди генератора. Если не указано, max_queue_size будет по умолчанию равен 10.
    workers Целое число. Максимальное количество процессов для запуска при использовании многопоточности на основе процессов. Если не указано, workers будет по умолчанию равен 1. Если 0, генератор будет выполняться на основном потоке.
    use_multiprocessing Булево значение. Если True, использовать многопоточность на основе процессов. Если не указано, use_multiprocessing будет по умолчанию равно False. Обратите внимание, что, поскольку эта реализация использует многопроцессорность, вы не должны передавать несериализуемые аргументы в генератор, так как они не могут быть легко переданы дочерним процессам.
    shuffle Булево значение. Нужно ли перемешивать порядок партий в начале каждой эпохи. Используется только с экземплярами Sequence (keras.utils.Sequence). Не оказывает никакого влияния, если steps_per_epoch не является None.
    initial_epoch Эпоха, с которой следует начать обучение (полезно для возобновления предыдущего сеанса обучения)
    Возвращаемое значение
    Объект History.

    Пример:

    def generate_arrays_from_file(path):
        while 1:
            f = open(path)
            for line in f:
                # create numpy arrays of input data
                # and labels, from each line in the file
                x1, x2, y = process_line(line)
                yield ({'input_1': x1, 'input_2': x2}, {'output': y})
            f.close()
    
    model.fit_generator(generate_arrays_from_file('/my_file.txt'),
                        steps_per_epoch=10000, epochs=10)
    

    Возможная ошибка: ValueError. Возникает, если генератор возвращает данные в неверном формате.

    get_layer

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

    get_layer(
        name=None, index=None
    )
    

    Возвращает слой на основе его имени (уникального) или индекса.

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

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

    load_weights

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

    load_weights(
        filepath, by_name=False
    )
    

    Загружает все веса слоя из файла TensorFlow или HDF5.

    predict

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

    predict(
        x, batch_size=None, verbose=0, steps=None, callbacks=None, max_queue_size=10,
        workers=1, use_multiprocessing=False
    )
    

    Генерирует предсказания для входных образцов.

    Вычисления выполняются по частям.

    Аргументы
    x Входные образцы. Это может быть:
    • Массив NumPy (или подобный массив), или список массивов (если у модели несколько входов).
    • Тензор TensorFlow, или список тензоров (если у модели несколько входов).
    • Набор данных tf.data.
    • Генератор или экземпляр keras.utils.Sequence.
    batch_size Целое число или None. Количество образцов на обновление градиента. Если не указано, batch_size будет по умолчанию равно 32. Не указывайте batch_size, если ваши данные в виде символьных тензоров, набора данных, генераторов или экземпляров keras.utils.Sequence (поскольку они генерируют партии).
    verbose Режим отображения, 0 или 1.
    steps Общее количество шагов (партий образцов) перед объявлением завершения этапа предсказания. Игнорируется с заданным по умолчанию значением None. Если x — набор данных tf.data, и steps равно None, predict будет выполняться до тех пор, пока набор данных не будет исчерпан.
    callbacks Список экземпляров keras.callbacks.Callback. Список обратных вызовов, которые нужно применить во время предсказания. См. обратные вызовы.
    max_queue_size Целое число. Используется только для генератора или входных данных keras.utils.Sequence. Максимальный размер очереди генератора. Если не указано, max_queue_size будет по умолчанию равен 10.
    workers Целое число. Используется только для генератора или входных данных keras.utils.Sequence. Максимальное количество процессов для запуска при использовании многопоточности на основе процессов. Если не указано, workers будет по умолчанию равно 1. Если 0, генератор будет выполняться в основном потоке.
    use_multiprocessing Булево значение. Используется только для генератора или входных данных keras.utils.Sequence. Если True, использовать многопоточность на основе процессов. Если не указано, use_multiprocessing будет по умолчанию равно False. Обратите внимание, что, поскольку эта реализация использует многопроцессорность, вы не должны передавать несериализуемые аргументы в генератор, так как они не могут быть легко переданы дочерним процессам.
    Возвращаемое значение
    Массив(ы) NumPy с предсказаниями.
    Возможные ошибки
    ValueError В случае несоответствия между предоставленными входными данными и ожиданиями модели, или если состояниевая модель получает количество образцов, которое не кратно размеру партии.

    predict_generator

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

    predict_generator(
        generator, steps=None, callbacks=None, max_queue_size=10, workers=1,
        use_multiprocessing=False, verbose=0
    )
    

    Генерирует предсказания для входных образцов из генератора данных.

    Генератор должен возвращать тот же тип данных, что и принимается predict_on_batch.

    Аргументы
    generator Генератор, возвращающий партии входных образцов, или экземпляр объекта keras.utils.Sequence, чтобы избежать дублирования данных при использовании многопроцессорности.
    steps Общее количество шагов (партий образцов), которые нужно получить от generator, прежде чем остановиться. Необязательно для Sequence: если не указано, будет использовано значение len(generator) в качестве количества шагов.
    callbacks Список экземпляров keras.callbacks.Callback. Список обратных вызовов, которые нужно применить во время предсказания. См. обратные вызовы.
    max_queue_size Максимальный размер очереди генератора.
    workers Целое число. Максимальное количество процессов для запуска при использовании многопоточности на основе процессов. Если не указано, workers будет по умолчанию равно 1. Если 0, генератор будет выполняться в основном потоке.
    use_multiprocessing Булево значение. Если True, использовать многопоточность на основе процессов. Если не указано, use_multiprocessing будет по умолчанию равно False. Обратите внимание, что, поскольку эта реализация использует многопроцессорность, вы не должны передавать несериализуемые аргументы в генератор, так как они не могут быть легко переданы дочерним процессам.
    verbose Режим отображения, 0 или 1.
    Возвращаемое значение
    Массив(ы) NumPy с предсказаниями.
    Возвращает исключение
    ValueError В случае, если генератор возвращает данные в некорректном формате.

    predict_on_batch

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

    predict_on_batch(
        x
    )
    

    Возвращает прогнозы для одной порции (батч) образцов.

    Аргументы
    x Данные для входных данных. Это может быть:
    • Массив NumPy (или подобный массив), или список массивов (в случае модели с несколькими входами).
    • Тензор TensorFlow или список тензоров (в случае модели с несколькими входами).
    • Набор данных tf.data.
    Возвращает
    Массив(ы) NumPy прогнозов.
    Возвращает исключение
    ValueError В случае несовпадения количества входных данных с ожиданиями модели.

    reset_metrics

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

    reset_metrics()
    

    Сбрасывает состояние метрик.

    reset_states

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

    reset_states()
    

    save

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

    save(
        filepath, overwrite=True, include_optimizer=True, save_format=None,
        signatures=None
    )
    

    Сохраняет модель в формате Tensorflow SavedModel или в один файл HDF5.

    Файл сохранения содержит:

    • Архитектуру модели, позволяющую повторно создать модель.
    • Веса модели.
    • Состояние оптимизатора, позволяющее возобновить обучение точно с того места, где вы остановились.

    Это позволяет сохранить всю информацию о состоянии модели в одном файле.

    Сохранённые модели могут быть повторно созданы с помощью keras.models.load_model. Модель, возвращаемая load_model, — это скомпилированная модель, готовая к использованию (если сохранённая модель не была скомпилирована изначально).

    Аргументы
    filepath: Строка, путь к файлу SavedModel или H5 для сохранения модели. overwrite: Заменять ли существующий файл на целевом месте без запроса или предоставить пользователю возможность ручного подтверждения. include_optimizer: Если True, сохранить состояние оптимизатора вместе. save_format: Либо 'tf', либо 'h5', указывающие на сохранение модели в формате Tensorflow SavedModel или HDF5. По умолчанию сейчас 'h5', но в TensorFlow 2.0 будет переключено на 'tf'. Опция 'tf' в настоящее время отключена (используйте tf.keras.experimental.export_saved_model вместо неё).
    signatures Подписи для сохранения с SavedModel. Применимо только к формату 'tf'. Подробности см. в аргументе signatures в tf.saved_model.save.

    Пример:

    from keras.models import load_model
    
    model.save('my_model.h5')  # creates a HDF5 file 'my_model.h5'
    del model  # deletes the existing model
    
    # returns a compiled model
    # identical to the previous one
    model = load_model('my_model.h5')
    

    save_weights

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

    save_weights(
        filepath, overwrite=True, save_format=None
    )
    

    Сохраняет все веса слоёв.

    Сохраняет в формате HDF5 или TensorFlow в зависимости от аргумента save_format.

    При сохранении в формате HDF5 файл весов содержит:

    • layer_names (атрибут), список строк (упорядоченные имена слоёв модели).
    • Для каждого слоя, атрибут group, названный layer.name,
      • Для каждой такой группы слоёв, атрибут weight_names, список строк (упорядоченные имена тензоров весов слоя).
      • Для каждого веса в слое, набор данных, хранящий значение веса, с именем, соответствующим тензору веса.

    При сохранении в формате TensorFlow все объекты, на которые ссылается сеть, сохраняются в том же формате, что и tf.train.Checkpoint, включая любые экземпляры Layer или экземпляры Optimizer , назначенные атрибутам объекта. Для сетей, построенных из входов и выходов с помощью tf.keras.Model(inputs, outputs), экземпляры Layer , используемые сетью, отслеживаются/сохраняются автоматически. Для пользовательских классов, наследующих от tf.keras.Model, экземпляры Layer должны быть назначены атрибутам объекта, обычно в конструкторе. См. документацию tf.train.Checkpoint и tf.keras.Model для получения подробной информации.

    Хотя форматы одинаковы, не следует смешивать save_weights и tf.train.Checkpoint. Точки контроля, сохранённые с помощью Model.save_weights, должны загружаться с помощью Model.load_weights. Точки контроля, сохранённые с помощью tf.train.Checkpoint.save, должны восстанавливаться с помощью соответствующего tf.train.Checkpoint.restore. Предпочтительнее использовать tf.train.Checkpoint вместо save_weights для контрольных точек обучения.

    Формат TensorFlow сопоставляет объекты и переменные, начиная с корневого объекта, self для save_weights, и жадно сопоставляет имена атрибутов. Для Model.save это Model, а для Checkpoint.save это Checkpoint, даже если у Checkpoint есть присоединённая модель. Это означает, что сохранение tf.keras.Model с помощью save_weights и загрузка в tf.train.Checkpoint с присоединённым Model (или наоборот) не будут соответствовать переменным Model. Подробности о формате TensorFlow см. в руководстве по контрольным точкам обучения https://www.tensorflow.org/alpha/guide/checkpoints.

    Аргументы
    filepath Строка, путь к файлу для сохранения весов. При сохранении в формате TensorFlow это префикс, используемый для файлов контрольных точек (генерируется несколько файлов). Обратите внимание, что суффикс '.h5' вызывает сохранение весов в формате HDF5.
    overwrite Заменять ли существующий файл на целевом месте без запроса или предоставить пользователю возможность ручного подтверждения.
    save_format Либо 'tf', либо 'h5'. Файл с filepath с расширением '.h5' или '.keras' будет по умолчанию сохранён в формате HDF5, если save_format равно None. В противном случае None по умолчанию 'tf'.
    Возвращает исключение
    ImportError Если h5py недоступен при попытке сохранения в формате HDF5.
    ValueError Для некорректных/неизвестных аргументов формата.

    summary

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

    summary(
        line_length=None, positions=None, print_fn=None
    )
    

    Выводит строковое описание сети.

    Аргументы
    line_length Общая длина выводимых строк (например, установите это значение для адаптации отображения к размеру окна терминала).
    positions Относительные или абсолютные позиции элементов протокола в каждой строке. Если не указано, по умолчанию [.33, .55, .67, 1.].
    print_fn Функция вывода, которую нужно использовать. По умолчанию print. Она будет вызвана для каждой строки описания. Вы можете установить её в пользовательскую функцию для захвата описательной строки.
    Возвращает исключение
    ValueError если summary() вызывается до построения модели.

    test_on_batch

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

    test_on_batch(
        x, y=None, sample_weight=None, reset_metrics=True
    )
    

    Тестирует модель на одной порции (батч) образцов.

    Аргументы
    x Данные для входных данных. Это может быть:
    • Массив NumPy (или подобный массив), или список массивов (в случае модели с несколькими входами).
    • Тензор TensorFlow или список тензоров (в случае модели с несколькими входами).
    • Словарь, сопоставляющий имена входов соответствующим массивам/тензорам, если у модели есть именованные входы.
    • Набор данных tf.data.
    y Данные целевых значений. Как и данные входных данных x, они могут быть либо массивами NumPy, либо тензорами TensorFlow. Они должны быть согласованы с x (нельзя иметь входные данные NumPy и целевые значения в формате тензора, или наоборот). Если x является набором данных y не должен быть указан (так как целевые значения будут получены из итератора).
    sample_weight Необязательный массив той же длины, что и x, содержащий веса, применяемые к функции потерь модели для каждого образца. В случае временных данных вы можете передать двумерный массив с формой (образцы, длина_последовательности), чтобы применить различный вес к каждому временнному шагу каждого образца. В этом случае вы должны убедиться, что указали sample_weight_mode="temporal" в compile(). Этот аргумент не поддерживается, когда x является набором данных.
    reset_metrics Если True, возвращаемые метрики будут только для этой порции. Если False, метрики будут накапливаться со статусом по всем порциям.
    Возвращаемое значение
    Скалярная тестовая потеря (если у модели один выход и нет метрик) или список скаляров (если у модели несколько выходов и/или метрик). Атрибут model.metrics_names предоставит вам метки отображения для скалярных выходов.
    Исключения
    ValueError В случае неверных аргументов, предоставленных пользователем.

    to_json

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

    to_json(
        **kwargs
    )
    

    Возвращает строку JSON, содержащую конфигурацию сети.

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

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

    to_yaml

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

    to_yaml(
        **kwargs
    )
    

    Возвращает строку YAML, содержащую конфигурацию сети.

    Чтобы загрузить сеть из файла сохранения в формате YAML, используйте keras.models.model_from_yaml(yaml_string, custom_objects={}).

    custom_objects должен быть словарем, сопоставляющим имена пользовательских потерь/слоев/и т.д. соответствующим функциям/классам.

    Аргументы
    **kwargs Дополнительные ключевые аргументы, которые необходимо передать в yaml.dump().
    Возвращаемое значение
    Строка YAML.
    Исключения
    ImportError если модуль yaml не найден.

    train_on_batch

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

    train_on_batch(
        x, y=None, sample_weight=None, class_weight=None, reset_metrics=True
    )
    

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

    Аргументы
    x Данные входных данных. Это может быть:
    • Массив Numpy (или подобный массиву), или список массивов (если у модели несколько входов).
    • Тензор TensorFlow или список тензоров (если у модели несколько входов).
    • Словарь, сопоставляющий имена входов соответствующим массивам/тензорам, если у модели есть именованные входы.
    • Набор данных tf.data.
    y Данные целевых значений. Как и входные данные x, они могут быть массивами Numpy или тензорами TensorFlow. Они должны быть согласованы с x (вы не можете иметь входные данные Numpy и целевые значения тензоров или наоборот). Если x — это набор данных, y не должен быть указан (так как целевые значения будут получены из итератора).
    sample_weight Необязательный массив той же длины, что и x, содержащий веса, которые применяются к потере модели для каждого образца. В случае временных данных вы можете передать двумерный массив с формой (образцы, длина_последовательности), чтобы применить различные веса к каждому шагу времени каждого образца. В этом случае вы должны убедиться, что указали sample_weight_mode="временной" в compile(). Этот аргумент не поддерживается, когда x является набором данных.
    class_weight Необязательный словарь, сопоставляющий индексы классов (целые числа) с весом (вещественное число), который применяется к потере модели для образцов из этого класса во время обучения. Это может быть полезно, чтобы сказать модели "уделять больше внимания" образцам из недопредставленного класса.
    reset_metrics Если True, метрики, которые будут возвращены, будут только для этой порции. Если False, метрики будут накапливаться по всем порциям.
    Возвращаемое значение
    Скалярная потеря обучения (если у модели один выход и нет метрик) или список скаляров (если у модели несколько выходов и/или метрик). Атрибут model.metrics_names предоставит вам метки отображения для скалярных выходов.
    Исключения
    ValueError В случае неверных аргументов, предоставленных пользователем.

    © 2020 The TensorFlow Authors. All rights reserved.
    Licensed under the Creative Commons Attribution License 3.0.
    Code samples licensed under the Apache 2.0 License.
    https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/keras/experimental/LinearModel

    Spec-Zone.ru

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