При работе с глубокими нейронными сетями (DNNS) часто полезно осмотреть активации отдельных слоев. Это может помочь вам понять поведение модели и выявить потенциальные проблемы. Керас, популярная библиотека DNN для Python, предоставляет простой способ достижения этого.
модели Keras созданы как последовательность слоев, каждая из которых выполняет определенную операцию на входе. Чтобы получить вывод конкретного уровня, вы можете использовать следующий синтаксис:
model.layers[index].output
, где индекс является индексом слоя, который вы хотите извлечь из вывода. Например, чтобы получить вывод второго сверточного слоя в предоставленном фрагменте кода:
conv_output = model.layers[2].output
, чтобы извлечь вывод из всех слоев в модели. в model.layers]
outputs = [layer.output for layer in model.layers]
, где INP является входным тензором, k.learning_phase () - это флаг, чтобы указать, является ли модель в режиме тренировок или вывода, и вывод слоя. &&] Выходы
] Теперь вы можете оценить выходы слоя, передавая входные данные в соответствующую функцию оценки:
from keras import backend as K functors = [K.function([inp, K.learning_phase()], [out]) for out in outputs]
не забудьте установить k.learning_phase () на 1, если какой -либо из слоев в вашей модели включает в себя отсечение или нормализацию пакетов для имитации режима обучения.
более эффективного подхода к оценке выходов слоев - это использование отдельной функции, которая возвращает списки выходов для всех выходов для всех выходов для всех выходов для всех выходов для всех выходов для всех выходов для всех слои:
test = np.random.random(input_shape)[np.newaxis,...] layer_outs = [func([test, 1.]) for func in functors] print layer_outs
это уменьшает передачу данных и вычисления, связанные с индивидуальными оценками функции.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3