tf.keras.layers.Lambda
Оборачивает произвольные выражения как объект Layer.
Наследуется от: Layer, Operation
tf.keras.layers.Lambda(
function, output_shape=None, mask=None, arguments=None, **kwargs
)
Используется в ноутбуках
| Используется в руководстве | Используется в учебниках |
|---|---|
Слой Lambda существует для того, чтобы произвольные выражения можно было использовать как Layer при построении моделей с помощью API последовательностей и функционального API. 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