Python 什么';从tensorflow中的张量中检索值的最快方法是什么?

Python 什么';从tensorflow中的张量中检索值的最快方法是什么?,python,numpy,tensorflow,tensor,Python,Numpy,Tensorflow,Tensor,我现在要做的是从1 X 1的张量中得到一个值,我有近6000个 到目前为止,我已经尝试使用eval(),session()。我能想到的最好办法就是把张量改成numpy,从中得到值。但问题是它的速度非常慢,尤其是在处理大量数据时。有没有从张量中检索数据的快速方法 只是为了补充信息,这是我试图实现的代码部分 cross_IF = [] count = 0 for i in range(len(test_IF)): if (count % 100 == 0): print(count)

我现在要做的是从1 X 1的张量中得到一个值,我有近6000个

到目前为止,我已经尝试使用eval(),session()。我能想到的最好办法就是把张量改成numpy,从中得到值。但问题是它的速度非常慢,尤其是在处理大量数据时。有没有从张量中检索数据的快速方法

只是为了补充信息,这是我试图实现的代码部分

cross_IF = []
count = 0
for i in range(len(test_IF)):
  if (count % 100 == 0):
    print(count)
  count += 1
  c = keras.losses.categorical_crossentropy(test_IF[i], prediction_IF[i])
  element = keras.backend.eval(tf.reduce_sum(c))
  cross_IF.append(element)
cross_IF是我将用于从张量'tf.reduce_sum(c)'中叠加值的列表。
test_IF和prediction_IF是测试值和预测值。

为了社区的利益,在回答部分提供解决方案

问题是使用
分类交叉熵
会产生
张量
,而不是
numpy

categorical\u crossentropy
转换为
numpy
格式,然后将其附加到numpy列表中需要更多的时间


相反,将数据的所有
交叉熵
连接为
张量
形式,然后在端将其转换为
numpy
,这样做更快

如果[i]/
预测,每个
测试的形状是什么?您可能应该连接列表中的所有张量(如果您首先不能将列表作为张量),并同时计算所有张量的
分类交叉熵。如果需要,您可以稍后再次将生成的NumPy数组转换为列表。实际上,我在代码中修复了这个问题。每一个都是(253,24)和(69,24),我有几千个。问题是,使用分类交叉熵会产生张量,而不是numpy。所以我尝试将交叉熵转换为numpy格式,然后将其附加到numpy列表中。但是,相反,将数据的所有交叉熵作为张量形式连接起来,然后在最后将其转换为numpy,这样做会更快。我想在做事的顺序上犯了一个可怕的错误。