java - Java中的Tensorflow : inferenceInterface.获取转换为多维数组

标签 java python arrays tensorflow shapes

我在 Android 上使用经过训练的 Java TensorFlow 模型。我正在尝试提取中间操作的输出。

我提取的张量的形状为 (150, 150, 256)。

我已声明输出目标为

private float[] hybridValues;
hybridValues = new float[150 * 150 * 256];

然后我使用以下命令获取输出。

inferenceInterface.fetch(OUTPUT_NODE, hybridValues);

这些值很好,但它们存储为一维数组。有没有办法让 inferenceinterface.fetch 返回多维数组?

我尝试将 HybridValue 声明为三维 float 组,但这不起作用,因为 fetch 方法需要一维数组。

最终目标是将我的输出传递给一个 Python 程序,该程序会将值提供给相同形状(150, 150, 256)的张量。

为了比较Python a_output = graph.get_tensor_by_name('a2b_generator/Conv_7/Relu:0') 返回一个 ndarray,其值与目标张量形状相同。

最佳答案

我在桌面上使用带有java的tensorflow(可能有所不同),我所做的就是创建一个具有正确大小的多维数组,然后复制值,例如Tensor.copyTo(Object dst)

关于java - Java中的Tensorflow : inferenceInterface.获取转换为多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51898314/

相关文章:

java - SWT中的动态颜色应该如何分配和处理?

python - 如何使用Unittest在Python中编写内部类测试方法

python - 如何在Python中将数字转换为时间?

python - 多个 celery 远程 worker

java - 从数组设置类属性

java - 将 java gui 组件的外观更改为 windows 外观

java - 我将如何使用 NSTask 运行 .sh 文件并获取其输出?

java - 架构 java gwt+jsf2+spring 封装

Python:为边缘检测设置一个带有序列错误的数组元素

Java:多项选择游戏使用哪种结构