Я получил следующую ошибку
InvalidArgumentError: 2 корневых ошибки найдены. (0) Недопустимый аргумент: необходимо указать значение для тензора-заполнителя 'vgg16_input_4' с плавающей точкой dtype и формой [?, 32,32,3] [[{{node vgg16_input_4}}]]
[[dens_6 / Softmax /_1775]] (1) Недопустимый аргумент: необходимо указать значение для тензора-заполнителя 'vgg16_input_4' с плавающей запятой dtype и shape [?, 32,32,3] [[{{node vgg16_input_4}}]] 0 успешных операций. 0 полученных ошибок игнорируется.
и следующий код
def show_result(n):
samples = []
for i in range(n):
original_img = x_test[i]
print('original_img->',original_img.shape)
img_array = np.expand_dims(original_img, 0)
#img_array = original_img
print('img_arrray->', img_array.shape)
#tf.image.convert_image_dtype(img_array, dtype=tf.float16, saturate=False)
get_output = K.function([model.layers[0].input], [model.layers[-3].output, model.layers[-1].output])
[conv_outputs, predictions] = get_output([img_array])
conv_outputs = conv_outputs[0, :, :, :]
class_weights = model.layers[-1].get_weights()[0]
cam = np.zeros(dtype = np.float32, shape = conv_outputs.shape[0:2])
форма изображения
original_img-> (32, 32, 3) img_arrray-> (1, 32, 32, 3)
model = models.Sequential()
base_model = VGG16(include_top = False, input_shape=(32, 32, 3))
base_model.layers.pop()
model.add(base_model)
model.add(layers.ZeroPadding2D(padding=(1,1)))
model.add(layers.Conv2D(filters=1024, kernel_size=(3,3),activation='relu'))
model.add(layers.GlobalAveragePooling2D())
model.add(layers.Dense(10,activation='softmax'))