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` в слои предобработки 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 (Low-Rank Adaptation) с указанным рангом. LoRA устанавливает матрицу вложений слоя в режим нетренируемого и заменяет ее дельтой над исходной матрицей, полученной путем умножения двух тренируемых матриц меньшего ранга. Это может быть полезно для уменьшения затрат вычислений при дообучении больших слоев вложений. Вы также можете включить LoRA в существующий слой Embedding, вызвав layer.enable_lora(rank).
Форма входных данных
2D тензор с формой: (batch_size, input_length).
Форма выходных данных
3D тензор с формой: (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, способным восстановить тот же слой из словаря конфигурации. Он не обрабатывает соединение слоев (это обрабатывает сеть), а также веса (это обрабатывает 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