问题关键:keras版本导致,不同机器keras版本不一致,将不同机器的keras版本保持一致就行了...
最近在做一个以图搜图的项目,想到可以用keras的预训练模型提取特征,然后再计算各个图片特征的余弦距离。自己有差不多10万张图片,一开始在GPU服务器上提特征,然后将特征写在数据库里,在服务器上模拟识别效果还不错。然后自己在本地的电脑上模拟识别,先利用预训练模型提取特征然后再与GPU提取过的图片特征库进行比对,发现效果极差!
找了两天bug,发现了一个很难以置信的现象,同一张图片同一模型不同机器输出的结果相差极大!
然后发现了https://github.com/keras-team/keras/issues/7676这个网页,发现不止我一个人有这个现象..后来发现了GPU中keras版本为2.0.8,本地为2.20,将本地keras版本改为2.0.8,问题解决了..
果然版本控制真的是有道理的...