用 Python 生成的 Tensorflow 数据集在 Tensorflow Java API(标签图像)中有不同的读数
Posted
技术标签:
【中文标题】用 Python 生成的 Tensorflow 数据集在 Tensorflow Java API(标签图像)中有不同的读数【英文标题】:Tensorflow dataset produced in Python has different readings in Tensorflow Java API (Label Image) 【发布时间】:2019-04-09 01:05:42 【问题描述】:背景:我是 Tensorflow 和 AI 的新手,希望在基于 Java 的环境中试用 Tensorflow。发现 Tensorflow 有一个 Java API 并尝试了它,但结果似乎与我的 Python 实现不相似。我使用 Maven 来实现我的 Java。
我按照Tensorflow for Poets 教程使用 Python 中的 Tensorflow 重新训练了一个数据集。
在基于 Python 的 TensorFlow 环境中,数据集输出的值或多或少是正确的。例如,如果我有一张汽车的图像,而我的分类选项是汽车、虫子或建筑物;它会输出汽车。
但在我尝试使用 Tensorflow Java API 和 Image label demo 的 Java 等效项中;我之前生成的数据集是可读的,但输出与 Python 实现完全不同。与 Python 示例不同,如果我扔一辆车,它会将其输出为错误或建筑物。
我已经在几台不同机器上尝试了输出数据,这些机器配备了不同代的处理器和 GPU,看看它是否会影响输出;但它似乎是语言/API 独有的。
关于为什么这两个实现使用相同数据集的任何想法 产生完全不同的输出?
还有什么方法可以让我的 Java 版本输出类似的 我的 Python 示例的结果?
【问题讨论】:
【参考方案1】:问题解决了。显然,“诗人的 tensorflow”和 java“标签图像”中的图形构造在绘制/构造图形时具有不同的维度,因此我收到了倾斜的结果。维度的不同导致了完全不同的构建结果。
由于与图像本身有关的图形映射问题,输出不同。教程维度和java示例维度不同。
重新调整尺寸以适合。两者都需要一个共同或相似的维度读数来进行图形重建。
【讨论】:
以上是关于用 Python 生成的 Tensorflow 数据集在 Tensorflow Java API(标签图像)中有不同的读数的主要内容,如果未能解决你的问题,请参考以下文章
生成 tf.record 文件时出现 Python 错误 - Tensorflow.python.framework.errors_impl.NotFoundError:没有这样的文件或目录