Tensorflow 保存分类keras模型以输出类别名称

Tensorflow 保存分类keras模型以输出类别名称,tensorflow,keras,multilabel-classification,Tensorflow,Keras,Multilabel Classification,我创建了一个模型,它输出一些图像的类别名称(而不是概率) 我想保存模型,以便用户能够加载它,并使用它预测特定图像的类别。我不想让用户知道我可以预测多少类,换句话说,我不想给用户提供一个类列表和它们的“标签”,这样他就可以对它进行索引 我将我的模型附加如下: labels = Lambda(lambda x: K.argmax(x, axis=-1))(model.output) categories = Lambda(lambda x: tf.gather(classes, x))(labels

我创建了一个模型,它输出一些图像的类别名称(而不是概率)

我想保存模型,以便用户能够加载它,并使用它预测特定图像的类别。我不想让用户知道我可以预测多少类,换句话说,我不想给用户提供一个类列表和它们的“标签”,这样他就可以对它进行索引

我将我的模型附加如下:

labels = Lambda(lambda x: K.argmax(x, axis=-1))(model.output)
categories = Lambda(lambda x: tf.gather(classes, x))(labels)
final_model = Model(model.input, categories)
load_model("test.h5", custom_objects={"tf": tf, "classes": classes})
在哪里

classes=["dog", "cat", ... , "table"]
我正在使用
模式.save
方法保存此模型,但当我要加载模型时,我必须为其提供
自定义对象(如下所示):

labels = Lambda(lambda x: K.argmax(x, axis=-1))(model.output)
categories = Lambda(lambda x: tf.gather(classes, x))(labels)
final_model = Model(model.input, categories)
load_model("test.h5", custom_objects={"tf": tf, "classes": classes})
有办法避免吗