В CNN, как просмотреть веса нескольких фильтров? - PullRequest
1 голос
/ 16 мая 2019

Я пытаюсь лучше понять CNN и поэтому использую керас для создания небольшого CNN и хочу выполнить расчеты вручную.

Я загрузил изображения из базы данных GTSRB,затем с помощью пакета библиотеки PIL преобразовал изображение, настроенное в оттенки серого, и изменило размер до (6 x 6).

Код ниже показывает созданный мной CNN.Он включает в себя 1 слой свертки (с 2 фильтрами размера 2x2), 1 слой максимального пула (2x2), уплощающий слой и плотный слой в конце.

model = keras.models.Sequential()
model.add(keras.layers.Conv2D(2, kernel_size=(2,2),activation='relu', input_shape=(6,6,1)))
model.add(keras.layers.MaxPool2D(pool_size=(2,2)))
model.add(keras.layers.Flatten())
model.add(keras.layers.Dense(len(sign_label_list),activation='relu'))

Затем я обучил сеть и сохранилмодель и веса.

Я читал в Интернете, что для проверки весов (h5 тип файла) мне нужен инструмент для просмотра весов.Итак, я скачал HDFView инструмент.

Теперь я пытаюсь просмотреть весовые коэффициенты для каждого из фильтров, но вижу только вес 1 из фильтров.

Веса фильтров

Как узнать вес обоих фильтров?

Кто-нибудь знает, есть ли способ просмотра весов через python?

ПервоначальноЯ хотел протестировать только с 1 фильтром, но при просмотре весов я получаю nan.

1 Ответ

0 голосов
/ 17 мая 2019

Просмотр документации и часто задаваемых вопросов по Keras , найденных здесь .

Предлагаемый способ просмотра весов для определенного слоя заключается в следующем:

weights,biases = model.layers[0].get_weights()

Iзатем распечатал веса на консоль, используя print(weights), и при этом отобразились значения всех фильтров.

Однако у меня все еще были проблемы с просмотром весов нескольких фильтров с помощью инструмента HDFView.

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