如何从tf张量获取numpy阵列



我在尝试从张量张量获取numpy数组时遇到问题。我使用TensorFlow Hub模块,但我不想在下游任务中使用TensorFlow,而是需要一个Numpy Array。

我知道我必须从张量流中的张量上调用" eval(("方法。但不幸的是,我无法使它工作... :(它告诉我"表未初始化"。我尝试添加'sess.run(tf.tables_initializer(((',但然后我遇到了错误:'notfounderror::resource localhost/module_1/empeddings_morph_specialized/class tensorflow :: var不存在'。我不确定接下来要做什么。我也尝试过'sess.run(('但也没有成功。

import numpy as np
import tensorflow as tf
import tensorflow_hub as hub
embed = hub.Module("https://public.ukp.informatik.tu-darmstadt.de/arxiv2018-xling-sentence-embeddings/tf-hub/monolingual/1")
X = embed(["This is a test."])
# I tried:
#with tf.Session() as sess:
#    sess.run(tf.tables_initializer())
#    X.eval()

'x'是我想转换为numpy数组的张量。

任何帮助将不胜感激。:)谢谢。

不幸的是,除了tf 2中,tf_hub模块尚未在急切的模式下支持(它仍然在beta中,我认为无论如何都需要稍有不同的集线器模块(。

因此,您需要在会话中运行此操作。

类似:

embed = hub.Module("https://public.ukp.informatik.tu-darmstadt.de/arxiv2018-xling-sentence-embeddings/tf-hub/monolingual/1")
X = embed(["This is a test."])
with tf.Session() as session:
  session.run([tf.global_variables_initializer(), tf.tables_initializer()])
  numpy_arr = session.run(X)

最新更新