【发布时间】:2021-10-29 06:06:06
【问题描述】:
如何打印自定义层的层的 summary()?
model.summary() 打印了整个模型的漂亮摘要图,但是这里称为“magic_layer”的子类层,其中有很多层,是聚合的......
Model: "transformer"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
positioning (PositionalEncod (None, 504, 6) 0
_________________________________________________________________
magic_layer (CustomLayer) (None, 6, 504) 3088040
_________________________________________________________________
g_pooling (GlobalAveragePool (None, 504) 0
_________________________________________________________________
dropout_2 (Dropout) (None, 504) 0
_________________________________________________________________
dense_2 (Dense) (None, 32) 16160
_________________________________________________________________
dropout_3 (Dropout) (None, 32) 0
_________________________________________________________________
dense_3 (Dense) (None, 5) 165
=================================================================
Total params: 3,104,365
Trainable params: 3,104,365
Non-trainable params: 0
_________________________________________________________________
如果您有自定义的 Tensorflow/Keras 层(在此处了解更多信息:Making new layers and models via subclassing - Francis Chollet),那么摘要调用不会分解该子层中的所有层。本例中的“magic_layer”是我感兴趣的子类层。
在本例中,您如何为名为“magic_layer”的层获得相同的子层打印输出?
model.layers[1].summary() 不幸的是不起作用...也许我需要在自定义层类中包含摘要定义,但我希望有一种方法可以从模型类继承此功能。
【问题讨论】:
标签: tensorflow keras