Keras VGGFace извлекает особенности - PullRequest
0 голосов
/ 14 июня 2019

Я пытаюсь извлечь объекты из слоя свертки модели VGGFace, используя TensorFlow & Keras.

Это мой код:

# Layer Features
layer_name = 'conv1_2' # Edit this line
vgg_model = VGGFace() # Pooling: None, avg or max
out = vgg_model.get_layer(layer_name).output
vgg_model_new = Model(vgg_model.input, out)

def main():
    img = image.load_img('myimage.jpg', target_size=(224, 224))
    x = image.img_to_array(img)
    x = np.expand_dims(x, axis=0)
    x = utils.preprocess_input(x, version=1)
    preds = vgg_model_new.predict(x)
    print('Predicted:', utils.decode_predictions(preds))
    exit(0)

Однако на print('Predicted:', utils.decode_predictions(preds))строка Я получаю следующую ошибку:

Сообщение = decode_predictions ожидает пакет предсказаний (то есть двумерный массив формы (сэмплы, 2622)) для V1 или (сэмплы, 8631) для V2Массив массивов с формой: (1, 224, 224, 64)

Я просто хочу извлечь объекты, мне не нужно классифицировать мои изображения на данном этапе.Этот код основан на https://github.com/rcmalli/keras-vggface

1 Ответ

1 голос
/ 14 июня 2019

Вы не должны использовать utils.decode_predictions(preds) там, потому что это только для классификации. Вы можете увидеть определение функции здесь https://github.com/rcmalli/keras-vggface/blob/master/keras_vggface/utils.py#L66

Если вы хотите распечатать функции, используйте print('Predicted:',preds)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...