tf.keras.layers.Embedding
Stay organized with collections
Save and categorize content based on your preferences.
Turns positive integers (indexes) into dense vectors of fixed size.
Inherits From: 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
)
e.g. [[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]
This layer can only be used as the first layer in a model.
Example:
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)
Arguments |
input_dim
|
int > 0. Size of the vocabulary,
i.e. maximum integer index + 1.
|
output_dim
|
int >= 0. Dimension of the dense embedding.
|
embeddings_initializer
|
Initializer for the embeddings matrix.
|
embeddings_regularizer
|
Regularizer function applied to
the embeddings matrix.
|
embeddings_constraint
|
Constraint function applied to
the embeddings matrix.
|
mask_zero
|
Whether or not the input value 0 is a special "padding"
value that should be masked out.
This is useful when using recurrent layers
which may take variable length input.
If this is True then all subsequent layers
in the model need to support masking or an exception will be raised.
If mask_zero is set to True, as a consequence, index 0 cannot be
used in the vocabulary (input_dim should equal size of
vocabulary + 1).
|
input_length
|
Length of input sequences, when it is constant.
This argument is required if you are going to connect
Flatten then Dense layers upstream
(without it, the shape of the dense outputs cannot be computed).
|
2D tensor with shape: (batch_size, input_length)
.
Output shape:
3D tensor with shape: (batch_size, input_length, output_dim)
.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2020-10-01 UTC.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.keras.layers.Embedding\n\n\u003cbr /\u003e\n\n|--------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|\n| [TensorFlow 2 version](/api_docs/python/tf/keras/layers/Embedding) | [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/python/keras/layers/embeddings.py#L35-L202) |\n\nTurns positive integers (indexes) into dense vectors of fixed size.\n\nInherits From: [`Layer`](../../../tf/keras/layers/Layer)\n\n#### View aliases\n\n\n**Compat aliases for migration**\n\nSee\n[Migration guide](https://www.tensorflow.org/guide/migrate) for\nmore details.\n\n[`tf.compat.v1.keras.layers.Embedding`](/api_docs/python/tf/keras/layers/Embedding), \\`tf.compat.v2.keras.layers.Embedding\\`\n\n\u003cbr /\u003e\n\n tf.keras.layers.Embedding(\n input_dim, output_dim, embeddings_initializer='uniform',\n embeddings_regularizer=None, activity_regularizer=None,\n embeddings_constraint=None, mask_zero=False, input_length=None, **kwargs\n )\n\ne.g. `[[4], [20]] -\u003e [[0.25, 0.1], [0.6, -0.2]]`\n\nThis layer can only be used as the first layer in a model.\n\n#### Example:\n\n model = Sequential()\n model.add(Embedding(1000, 64, input_length=10))\n # the model will take as input an integer matrix of size (batch,\n # input_length).\n # the largest integer (i.e. word index) in the input should be no larger\n # than 999 (vocabulary size).\n # now model.output_shape == (None, 10, 64), where None is the batch\n # dimension.\n\n input_array = np.random.randint(1000, size=(32, 10))\n\n model.compile('rmsprop', 'mse')\n output_array = model.predict(input_array)\n assert output_array.shape == (32, 10, 64)\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Arguments --------- ||\n|--------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `input_dim` | int \\\u003e 0. Size of the vocabulary, i.e. maximum integer index + 1. |\n| `output_dim` | int \\\u003e= 0. Dimension of the dense embedding. |\n| `embeddings_initializer` | Initializer for the `embeddings` matrix. |\n| `embeddings_regularizer` | Regularizer function applied to the `embeddings` matrix. |\n| `embeddings_constraint` | Constraint function applied to the `embeddings` matrix. |\n| `mask_zero` | Whether or not the input value 0 is a special \"padding\" value that should be masked out. This is useful when using recurrent layers which may take variable length input. If this is `True` then all subsequent layers in the model need to support masking or an exception will be raised. If mask_zero is set to True, as a consequence, index 0 cannot be used in the vocabulary (input_dim should equal size of vocabulary + 1). |\n| `input_length` | Length of input sequences, when it is constant. This argument is required if you are going to connect `Flatten` then `Dense` layers upstream (without it, the shape of the dense outputs cannot be computed). |\n\n\u003cbr /\u003e\n\n#### Input shape:\n\n2D tensor with shape: `(batch_size, input_length)`.\n\n#### Output shape:\n\n3D tensor with shape: `(batch_size, input_length, output_dim)`."]]