Как извлечь элементы из слоя предварительно обученной модели ResNet Keras - PullRequest
0 голосов
/ 19 мая 2019

Я тренировал модель с помощью Resnet3D и хочу извлечь нейроны слоя. Я планирую использовать их с классификатором SVM. Как я могу извлечь эти веса и поместить их в массив NumPy?

Загрузить веса по керасу

model = Resnet3DBuilder.build_resnet_18((128, 96, 96, 3), nClass[0])
model.load_weights('drive/app/models/3d_resnet_modelq.hdf5')

Извлеките слой

dns = model.layers[-1].output

что мне теперь делать?

1 Ответ

1 голос
/ 19 мая 2019

Если вы просто хотите визуализировать объекты, в чистом Keras вы можете определить Model с желаемым слоем в качестве вывода:

from keras.models import Model

model_cut = Model(inputs=model.inputs, output=model.layers[-1].output)
features = model_cut.predict(x)  # Assuming you have your images in x

Обратите внимание, что для того, чтобы это работало, modelдолжно быть скомпилировано хотя бы один раз.

...