Как получить доступ и визуализировать веса в предварительно обученной модели TensorFlow 2?

Итак, я повторно обучил предварительно обученную модель ResNet50 V2 в TensorFlow 2, используя фреймворк tf.keras с двумя добавленными сверху слоями Dense. Теперь я хочу визуализировать веса в слоях в базовой модели ResNet. Однако перезагрузка сохраненной модели с

model = tf.keras.models.load_model(path/to/model.hdf5)
model.summary()

приводит к

введите здесь описание изображения

Как видите, слои модели ResNet не перечислены отдельно, что означает, что вызов

model.layers[0].get_weights()[1]

приведет только к

[7 7 3 64]

Таким образом, как мне получить доступ к весам внутри каждого из уровней в базовой модели ResNet50 V2?


person kelkka    schedule 12.01.2020    source источник


Ответы (1)


Правильный ответ здесь - написать

model.layers[0].summary()

вместо того

model.summary()

Это позволит мне затем увидеть, что все слои находятся в предварительно обученной модели. Таким образом, написание

model.layers[0].layers[0].get_weights(name='input_1')

даст мне веса входных данных базовой модели ResNet.

person kelkka    schedule 12.01.2020