如何从TensorFlow Hub /保存的模型中检索元素?

时间:2018-11-17 13:23:06

标签: python tensorflow tensorflow-serving tensorflow-hub

我正在使用hub.Module("https://tfhub.dev/google/universal-sentence-encoder/2")还原模型。我想检索单词嵌入和训练后的模型的查找表。

使用完整的嵌入模型时,您只需执行以下操作:

embed = hub.Module("https://tfhub.dev/google/universal-sentence-encoder/2")
embeddings = embed([
"The quick brown fox jumps over the lazy dog.",
"I am a sentence for which I would like to get its embedding"])

 with tf.Session() as sess:
     sess.run([tf.global_variables_initializer(),  tf.tables_initializer()])
     print(sess.run(embeddings))

然后通过完整模型进行传递。我只是想传递句子,直到单词从一开始就被编码为它们的word_embedding。我设法使用以下方法检索嵌入的权重:

 E = sess.run(slim.get_variables('Embeddings_en:0'))

给出一个(N_words x N_embedding_size)矩阵。 现在的问题是我无法检索词汇表。我在图中找到了名为module/string_to_index_Lookup/hash_table_Lookup的操作节点,这些操作节点可能满足我的要求,但是这些变量不是变量(因此,我对低级张量流的了解有限),我无法直接重用这些操作。

如何解决?

显然,这样做并不容易(https://github.com/tensorflow/hub/issues/67)-但也许有人在此可以提供帮助;)

0 个答案:

没有答案