tf.keras.layers.Lambda
Оборачивает произвольные выражения в объект Layer.
Наследует от: Layer, Operation
tf.keras.layers.Lambda(
function, output_shape=None, mask=None, arguments=None, **kwargs
)
Используется в блокнотах
| Используется в руководстве | Используется в учебных пособиях |
|---|---|
Слой Lambda существует для того, чтобы при создании моделей Sequential и Functional API в качестве Layer можно было использовать произвольные выражения. Слои Lambda лучше всего подходят для простых операций или быстрых экспериментов. Для более сложных сценариев рекомендуется создавать новые подклассы Layer.
Основная причина создавать подкласс Layer вместо использования слоя Lambda — сохранение модели и её анализ. Слои Lambda сохраняются путём сериализации байт-кода Python, который по своей природе непереносим и потенциально небезопасен. Их следует загружать только в той же среде, в которой они были сохранены. Слои, созданные путём наследования, можно сохранять более переносимым способом, переопределив их метод get_config(). Модели, использующие слои, созданные путём наследования, также зачастую проще визуализировать и анализировать.
Пример:
# add a x -> x^2 layer model.add(Lambda(lambda x: x ** 2))
| Аргументы | |
|---|---|
function | Функция, которую необходимо вычислить. Принимает входной тензор в качестве первого аргумента. |
output_shape | Ожидаемая форма выходных данных функции. Обычно этот аргумент можно вывести автоматически, если он не указан явно. Это может быть кортеж или функция. Если указана кортежем, она задаёт только измерения начиная с первого; предполагается, что размерность примеров совпадает с размерностью входных данных: output_shape = (input_shape[0], ) + output_shape, или что входные данные являются None и размерность примеров также является None: output_shape = (None, ) + output_shape. Если указана функцией, она задаёт всю форму как функцию от формы входных данных: output_shape = f(input_shape). |
mask | Либо None (означает отсутствие маскирования), либо вызываемый объект с той же сигнатурой, что и метод слоя compute_mask, либо тензор, который будет возвращён в качестве выходной маски независимо от входных данных. |
arguments | Необязательный словарь именованных аргументов, передаваемых функции. |
| Атрибуты | |
|---|---|
input | Возвращает входной тензор (тензоры) символической операции. Возвращает только тензор (тензоры), соответствующий первому вызову операции. |
output | Возвращает выходной тензор (тензоры) слоя. Возвращает только тензор (тензоры), соответствующий первому вызову операции. |
Методы
from_config
@classmethod
from_config(
config, custom_objects=None, safe_mode=None
)
Создаёт слой на основе его конфигурации.
Этот метод является обратным по отношению к get_config и позволяет создать экземпляр того же слоя из словаря конфигурации. Он не обрабатывает связи между слоями (за это отвечает Network) и веса (за это отвечает set_weights).
| Аргументы | |
|---|---|
config | Словарь Python, обычно являющийся результатом вызова get_config. |
| Возвращает | |
|---|---|
| Экземпляр слоя. |
symbolic_call
symbolic_call(
*args, **kwargs
)
© 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/layers/Lambda