tflearn是否可以替代tf.nn.embedding_lookup

时间:2018-09-30 22:24:54

标签: tensorflow tflearn python-embedding

我有一个简单的word2vec算法,它使用了张量流: tf.nn.embedded_lookup 。这是它的签名。     tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, max_norm=None ) 输出为:单个张量,代表完整的嵌入张量。

我想用tflearn实现这个word2vec算法: tflearn.layers.embedding_ops.embedding ,签名是     tflearn.layers.embedding_ops.embedding( incoming, input_dim, output_dim, validate_indices=False, weights_init='truncated_normal', trainable=True, restore=True, reuse=False, scope=None, name='Embedding') 输出为:3-D张量 [样本,内嵌ID,特征]。

如何解释 tflearn 的输出,以便与 tf.nn 的输出并行。

如何从样本,id和特征构建完整的嵌入式矩阵?

1 个答案:

答案 0 :(得分:0)

所以简单地说:

tflearn.layers.embedding_ops.embedding(
         incoming=ids,
         input_dim=params.shape[0],
         output_dim=params.shape[1],
         validate_indices=False, 
         weights_init='truncated_normal',
         trainable=True,
         restore=True,
         reuse=False,
        scope=None,
        name='Embedding')

其中 id params 是以下参数的参数:

tf.nn.embedding_lookup(
        params,
        ids,
        partition_strategy='mod',
        name=None,
        validate_indices=True,
        max_norm=None
    )