карты визуализации классов

#python

Вопрос:

Я использую вывод модели, где я выполняю задачи классификации изображений. У меня есть пользовательская модель, которая используется для классификации. То, что я пытаюсь сделать, — это запустить карты активации классов, чтобы я мог визуализировать карты активации для классифицируемого изображения на уже обученной модели. По какой-то причине я не могу найти учебник. Однако нет четкого объяснения того, как выполнять проверку слоев на наличие входных данных и данных. В настоящее время у меня есть этот пример:

Я использую код этого автора в Google Colab:

Кроме того, у меня есть следующий код:

Я честно озадачен тем , как получить доступ к слоям для проверки, учитывая, что модель использует тензоры, я хотел бы знать, как я могу использовать библиотеки для использования grad-cam вместо моделей keras/tensorflow?

Ответ №1:

Если вы откроете преобразованную модель Grad-Cam TFLite с помощью Netron (https://netron.app/), вы можете узнать спецификацию ввода/вывода данной модели.

Или вы также можете найти спецификацию ввода/вывода с помощью следующих методов:

 # Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()
 

После выяснения спецификаций ввода/вывода вы можете запустить модель с помощью интерпретатора

 # Load the TFLite model and allocate tensors.
interpreter = tf.lite.Interpreter(model_path="converted_model.tflite")
interpreter.allocate_tensors()

# Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

# Test the model on random input data.
input_shape = input_details[0]['shape']
input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
interpreter.set_tensor(input_details[0]['index'], input_data)

interpreter.invoke()

# The function `get_tensor()` returns a copy of the tensor data.
# Use `tensor()` in order to get a pointer to the tensor.
output_data = interpreter.get_tensor(output_details[0]['index'])
 

Я бы также рекомендовал прочитать следующий документ.
https://www.tensorflow.org/lite/guide/inference#load_and_run_a_model_in_python