在 Keras 中,如何获取现有模型的“class_indices”或预测标签

数据挖掘 喀拉斯 美国有线电视新闻网 预言
2022-02-16 23:37:52

我知道 keras 提供了一个.class_indicies字典,其中包含从类名到类的映射作为.flow_from_directory()ImageDataGenerator类的一部分(https://keras.io/preprocessing/image/)。

但是,有没有办法从现有的保存模型(保存为 .h5 文件的模型)访问相应的类标签?在将我的模型投入生产和提供预测服务时,这似乎很重要,因为预先不知道这些类,因此图像不会在预先标记的目录中分开。

同样,有没有什么好的例子可以说明如何将 keras 模型部署到生产环境(尤其是移动设备)?谢谢!

1个回答

不知道你解决了没有。我昨天遇到了这个问题,我想到的唯一解决方案是在设置 anumpy后将字典保存到文件train_generator中;就像是:

np.save('FILENAME', self.train_generator.class_indices)

当你完成训练时。然后,当您进行单一预测时:

single_pred = np.squeeze(self.model.predict(image))

if isfile('FILENAME.npy'):
    class_indices = np.load(self.indices_file + '.npy').item()

results_dict = dict(zip(class_indices.keys(), single_pred))