有什么办法,我可以在PyTorch中打印一个模型的摘要,就像下面的Keras中的 model.summary()
方法一样吗?
Model Summary:
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
input_1 (InputLayer) (None, 1, 15, 27) 0
____________________________________________________________________________________________________
convolution2d_1 (Convolution2D) (None, 8, 15, 27) 872 input_1[0][0]
____________________________________________________________________________________________________
maxpooling2d_1 (MaxPooling2D) (None, 8, 7, 27) 0 convolution2d_1[0][0]
____________________________________________________________________________________________________
flatten_1 (Flatten) (None, 1512) 0 maxpooling2d_1[0][0]
____________________________________________________________________________________________________
dense_1 (Dense) (None, 1) 1513 flatten_1[0][0]
====================================================================================================
Total params: 2,385
Trainable params: 2,385
Non-trainable params: 0
5 回答
虽然您不会像Keras的model.summary那样获得有关模型的详细信息,但只需打印模型即可让您了解所涉及的不同层及其规格 .
例如:
这种情况下的输出如下:
现在,如Kashyap所述,您可以使用
state_dict
方法获取不同图层的权重 . 但是使用这个图层列表可能会提供更多方向,就是创建一个帮助函数来获得Keras之类的模型摘要!希望这可以帮助!最容易记住(不像Keras那样漂亮):
这也有效:
如果你只想要参数的数量:
来自:Is there similar pytorch function as model.summary() as keras? (forum.PyTorch.org)
AFAK没有model.summary()在pytorch中等效
同时你可以参考szagoruyko的script,它提供了一个很好的可视化,如resnet18-example
干杯
是的,您可以使用pytorch-summary包获得精确的Keras表示 .
VGG16的示例
这将显示模型的权重和参数(但不显示输出形状) .
编辑:isaykatsman有一个pytorch PR添加
model.summary()
,就像keras https://github.com/pytorch/pytorch/pull/3043/files