Я создал модель, которая выводит имя категории некоторого изображения (а не вероятности)
Я хочу сохранить модель, чтобы пользователь мог загрузить ее и использовать для прогнозированиякатегория конкретного изображения. Я не хочу, чтобы пользователь знал, сколько классов я могу предсказать, другими словами, я не хочу предоставлять пользователю список классов и их «меток», чтобы он проиндексировал его.
Я добавил свою модель следующим образом:
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)
где
classes=["dog", "cat", ... , "table"]
Я сохраняю эту модель, используя метод mode.save
, но когда я хочу загрузить модель,Я должен предоставить ему custom_objects
:( следующим образом:
load_model("test.h5", custom_objects={"tf": tf, "classes": classes})
Есть ли способ избежать этого?