Проверьте, имеет ли слой веса для керас CNN - PullRequest
0 голосов
/ 22 мая 2019

У меня есть CNN, который сделан в керасе.

Я могу посмотреть вес определенного слоя, используя:

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

Но я хочу просмотреть веса во всех соответствующих слоях, поэтому я попробовал:

for layer in model.layers:
    weights,biases = layer.get_weights()

Но это выдает ошибку для слоев, которые не имеют веса (например, слой max pool).

Итак, можно ли проверить, имеет ли слой веса, например:

if layer.weights != None:

Редактировать: добавлена ​​модель кераса, которую я использую

model = keras.models.Sequential()
model.add(keras.layers.Conv2D(1, kernel_size=(3,3),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'))

1 Ответ

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

Холодно попробуйте это:

for layer in model.layers: 
    if len(layer.get_weights()) > 0: 
        print(layer.name, layer.get_weights()) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...