редактировать вектор объектов и применять классификацию с помощью сети Conv - PullRequest
0 голосов
/ 11 июля 2019

Я использую виртуальную сеть для классификации изображений, и я хотел бы попытаться:

  • классифицировать изображение;
  • получить ОДИН вектор характеристик из последнего полностью подключенного слоя;
  • изменить этот вектор объектов;
  • применить классификацию конвертов к измененному вектору объектов.

Мне удалось получить вектор объектов из последних полностью подключенных слоев:


img_tensor=cnn_mat.reshape(-1,96,96,1)
from keras import models
layer_outputs = [layer.output for layer in model.layers[:13]]
activation_model = models.Model(inputs=model.input, outputs=layer_outputs)

activations = activation_model.predict(img_tensor)[12]
first_layer_activation = activations 


Затем я выбрал значение активации моего целевого изображения и изменил его:

data_retrieval = pd.DataFrame(np.copy( first_layer_activation) )
feature_vector=data_retrieval.iloc[0,:]
feature_vector=feature_vector/2


Теперь, как применить классификацию к вектору объектов?

Позвольтея знаю, если это не ясно / нужно больше информации.

Редактировать:

Я получаю последний слой весом с

for layer in model.layers: print(layer.get_config(), layer.get_weights())
weights=layer.get_weights()[0]


weights shape is (256,12) Как умножить его на feature_vector shape 256, чтобы получить вектор размером 12?

Можно ли использовать

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