Python ML.net和Tensorflow中二元分类器预测值的差异

Python ML.net和Tensorflow中二元分类器预测值的差异,python,tensorflow,keras,deep-learning,ml.net,Python,Tensorflow,Keras,Deep Learning,Ml.net,我在比较两个框架(Ml.net和tensorflow/keras)之间生成和使用的相同模型的结果 以下是获得结果的步骤: Keras另存为.h5格式的列车模型 转换为.pb模型以在ML.net中使用,因为ML.net当前使用的是tensorflow图,而不是保存的模型格式 现在对于相同的两幅图像,预测值应该是相同的。因为模型是一样的。区别在于基本框架 关于这件事的原因,我只能找到一些零碎的东西。我使用相同的底层硬件和软件配置运行这两个程序 根本原因是框架上的差异吗 示例图像的图像预测分数: ml

我在比较两个框架(Ml.net和tensorflow/keras)之间生成和使用的相同模型的结果

以下是获得结果的步骤:

  • Keras另存为.h5格式的列车模型
  • 转换为.pb模型以在ML.net中使用,因为ML.net当前使用的是tensorflow图,而不是保存的模型格式
  • 现在对于相同的两幅图像,预测值应该是相同的。因为模型是一样的。区别在于基本框架

    关于这件事的原因,我只能找到一些零碎的东西。我使用相同的底层硬件和软件配置运行这两个程序

    根本原因是框架上的差异吗

    示例图像的图像预测分数:

    ml.net:0.9999248失败 keras/tensorflow:0.99635077失败


    差异很小,但无论平台如何都具有确定性是我想要的功能。

    您使用了什么版本的Tensorflow?Microsoft.ML.Tensorflow:1.5.2,Tensorflow:2.2这可能是Tensorflow版本的差异。ML.NET目前使用的是Tensorflow.NET,它仍在使用版本1中的Tensorflow版本。目前,我们正在将Tensorflow.NET的使用更新为0.20,该版本正在使用Tensorflow版本2。感谢您提供这些信息。我确实使用tensorflow 1.15再次测试了它,但结果相同。我想知道这是因为两个库在处理图像输入方面存在一些差异。感谢您的检查!在图像输入上可能是这样。也许值得将此作为回购协议的一个参考,看看团队是否有更多信息。