我有一个简单的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和特征构建完整的嵌入式矩阵?
答案 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
)