python - 从张量流中的张量中检索值的最快方法是什么?
问题描述
我现在要做的是从 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 是测试值和预测值。
解决方案
为了社区的利益,在答案部分提供解决方案。
问题是 usingcategorical_crossentropy
导致tensor
,而不是numpy
.
转换categorical_crossentropy
为numpy
格式然后将其附加到 numpy 列表中需要更多时间。
相反,将tensor
所有数据连接为一种形式cross entropies
,然后numpy
在最后将其转换为更快。
推荐阅读
- graalvm - 是否可以在 Java“GraalVM”程序中运行 Python 程序?
- ios - draw(_ rect: CGRect) 不绘制超过一定尺寸
- python - 在 python 代码中使用环境变量(从 shell/终端传递)的正确方法
- r - keras 中的输入形状(此损失期望目标具有与输出相同的形状)
- python-3.x - 检查熊猫中的日期列
- c++ - 如何在 c++ builder 6 中从应用程序源创建 dll?
- .net-core - 上传文件 .NET Core Web API 的问题
- php - 如何在选择数据的任何序列化字段的数组键上添加 where 子句?
- hyperledger-composer - 如何将多个脚本文件添加到 Hyperledger Composer Playground
- elasticsearch - 忽略“pipelines.yml”文件,因为指定了模块或命令行选项