Watch talks from the 2019 TensorFlow Dev Summit Watch now



Defined in tensorflow/contrib/layers/python/layers/

Creates a list of _EmbeddingColumn sharing the same embedding.


  • sparse_id_columns: An iterable of _SparseColumn, such as those created by sparse_column_with_* or crossed_column functions. Note that combiner defined in each sparse_id_column is ignored.
  • dimension: An integer specifying dimension of the embedding.
  • combiner: A string specifying how to reduce if there are multiple entries in a single row. Currently "mean", "sqrtn" and "sum" are supported, with "mean" the default. "sqrtn" often achieves good accuracy, in particular with bag-of-words columns. Each of this can be thought as example level normalizations on the column:
    • "sum": do not normalize
    • "mean": do l1 normalization
    • "sqrtn": do l2 normalization For more information: tf.embedding_lookup_sparse.
  • shared_embedding_name: (Optional). A string specifying the name of shared embedding weights. This will be needed if you want to reference the shared embedding separately from the generated _EmbeddingColumn.
  • initializer: A variable initializer function to be used in embedding variable initialization. If not specified, defaults to tf.truncated_normal_initializer with mean 0.0 and standard deviation 1/sqrt(sparse_id_columns[0].length).
  • ckpt_to_load_from: (Optional). String representing checkpoint name/pattern to restore the column weights. Required if tensor_name_in_ckpt is not None.
  • tensor_name_in_ckpt: (Optional). Name of the Tensor in the provided checkpoint from which to restore the column weights. Required if ckpt_to_load_from is not None.
  • max_norm: (Optional). If not None, embedding values are l2-normalized to the value of max_norm.
  • trainable: (Optional). Should the embedding be trainable. Default is True


A tuple of _EmbeddingColumn with shared embedding space.


  • ValueError: if sparse_id_columns is empty, or its elements are not compatible with each other.
  • TypeError: if sparse_id_columns is not a sequence or is a string. If at least one element of sparse_id_columns is not a SparseColumn or a WeightedSparseColumn.