Spec-Zone.ru › TensorFlow

tf.keras.layers.Embedding

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

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

tf.keras.layers.Embedding(
    input_dim,
    output_dim,
    embeddings_initializer='uniform',
    embeddings_regularizer=None,
    embeddings_constraint=None,
    mask_zero=False,
    weights=None,
    lora_rank=None,
    **kwargs
)

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

Используется в руководстве Используется в учебных материалах
  • Перенос `tf.feature_column`s на слои предварительной обработки Keras
  • Разреженные тензоры
  • Работа со слоями предварительной обработки
  • Обучение с сервером параметров с помощью ParameterServerStrategy
  • Базовая классификация текста
  • Загрузка текста
  • Использование дополнительных признаков: предварительная обработка признаков
  • Использование контекстных признаков

например, [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]

Этот слой можно использовать только для входных данных в виде положительных целых чисел из фиксированного диапазона.

Пример:

model = keras.Sequential()
model.add(keras.layers.Embedding(1000, 64))
# The model will take as input an integer matrix of size (batch,
# input_length), and the largest integer (i.e. word index) in the input
# should be no larger than 999 (vocabulary size).
# Now model.output_shape is (None, 10, 64), where `None` is the batch
# dimension.
input_array = np.random.randint(1000, size=(32, 10))
model.compile('rmsprop', 'mse')
output_array = model.predict(input_array)
print(output_array.shape)
(32, 10, 64)
Аргументы
input_dim Целое число. Размер словаря, то есть максимальный целочисленный индекс + 1.
output_dim Целое число. Размерность плотного эмбеддинга.
embeddings_initializer Инициализатор матрицы embeddings (см. keras.initializers).
embeddings_regularizer Функция регуляризации, применяемая к матрице embeddings (см. keras.regularizers).
embeddings_constraint Функция ограничения, применяемая к матрице embeddings (см. keras.constraints).
mask_zero Логическое значение: является ли входное значение 0 специальным значением «заполнение», которое следует маскировать. Это полезно при использовании рекуррентных слоев, которым может передаваться входная последовательность переменной длины. Если задано True, все последующие слои модели должны поддерживать маскирование, иначе будет вызвано исключение. Если mask_zero имеет значение True, индекс 0, как следствие, нельзя использовать в словаре (input_dim должно быть равно размеру словаря + 1).
weights Необязательная матрица чисел с плавающей точкой размера (input_dim, output_dim). Начальные значения эмбеддингов.
lora_rank Необязательное целое число. Если задано, прямой проход слоя будет реализовывать LoRA (низкоранговую адаптацию) с указанным рангом. LoRA переводит матрицу эмбеддингов слоя в режим без обучения и заменяет её приращением относительно исходной матрицы, полученным путем умножения двух обучаемых матриц меньшего ранга. Это может помочь снизить вычислительные затраты при тонкой настройке больших слоев эмбеддингов. Вы также можете включить LoRA для существующего слоя Embedding, вызвав layer.enable_lora(rank).
Форма входных данных
Двумерный тензор формы: (batch_size, input_length).
Форма выходных данных
Трехмерный тензор формы: (batch_size, input_length, output_dim).
Атрибуты
embeddings
input Получает входной тензор (тензоры) символьной операции.

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

output Получает выходной тензор (тензоры) слоя.

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

Методы

enable_lora

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

enable_lora(
    rank, a_initializer='he_uniform', b_initializer='zeros'
)

from_config

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

@classmethod
from_config(
    config
)

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

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

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

quantized_build

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

quantized_build(
    input_shape, mode
)

symbolic_call

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

symbolic_call(
    *args, **kwargs
)
Переменные класса
QUANTIZATION_MODE_ERROR_TEMPLATE "Invalid quantization mode. Expected 'int8'. Received: quantization_mode={mode}"

© 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/Embedding

Spec-Zone.ru

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