tf.keras.layers.Embedding
| Просмотреть исходный код на GitHub |
Преобразует положительные целые числа (индексы) в плотные векторы фиксированной размерности.
Наследуется от: Layer
tf.keras.layers.Embedding(
input_dim, output_dim, embeddings_initializer='uniform',
embeddings_regularizer=None, activity_regularizer=None,
embeddings_constraint=None, mask_zero=False, input_length=None, **kwargs
)
Например: [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]
Этот слой может быть использован только в качестве первого слоя в модели.
Пример:
model = Sequential()
model.add(Embedding(1000, 64, input_length=10))
# the model will take as input an integer matrix of size (batch,
# input_length).
# the largest integer (i.e. word index) in the input should be no larger
# than 999 (vocabulary size).
# now model.output_shape == (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)
assert output_array.shape == (32, 10, 64)
| Аргументы | |
|---|---|
input_dim | целое число > 0. Размер словаря, т.е. максимальный целочисленный индекс + 1. |
output_dim | целое число >= 0. Размеры плотного вложения. |
embeddings_initializer | Инициализатор для матрицы embeddings. |
embeddings_regularizer | Функция регуляризации, применяемая к матрице embeddings. |
embeddings_constraint | Функция ограничения, применяемая к матрице embeddings. |
mask_zero | Указывает, является ли значение входа 0 специальным значением "заполнения", которое должно быть проигнорировано. Это полезно при использовании рекуррентных слоев, которые могут принимать входные данные переменной длины. Если это True, все последующие слои в модели должны поддерживать маскирование, иначе будет возбуждено исключение. Если mask_zero установлено в True, индекс 0 не может использоваться в словаре (input_dim должен быть равен размеру словаря + 1). |
input_length | Длина входных последовательностей, если она постоянна. Этот аргумент необходим, если вы собираетесь соединять Flatten и Dense слои в потоке (без него нельзя вычислить форму плотных выходных данных). |
Форма входных данных:
2D тензор с формой: (batch_size, input_length).
Форма выходных данных:
3D тензор с формой: (batch_size, input_length, output_dim).
© 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/layers/Embedding