Y a-t-il un moyen, je peux imprimer le résumé d'un modèle dans PyTorch comme la model.summary()
méthode le fait dans Keras comme suit?
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
torchsummary
c'est la meilleure solution.Réponses:
Bien que vous n'obtiendrez pas des informations aussi détaillées sur le modèle que dans le model.summary de Keras, le simple fait d'imprimer le modèle vous donnera une idée des différentes couches impliquées et de leurs spécifications.
Par exemple:
La sortie dans ce cas serait quelque chose comme suit:
Vous pouvez maintenant, comme mentionné par Kashyap , utiliser la
state_dict
méthode pour obtenir les poids des différentes couches. Mais utiliser cette liste des couches fournirait peut-être plus de direction, c'est créer une fonction d'aide pour obtenir ce Keras comme le résumé du modèle! J'espère que cela t'aides!la source
Oui, vous pouvez obtenir une représentation Keras exacte à l'aide du package pytorch-summary .
Exemple pour VGG16
la source
Expected object of backend CPU but got backend CUDA for argument #4 'mat1'
et il semble qu'il n'y ait pas de documentation.summary(model.cuda(), (INPUT_SHAPE))
travaux.Pour utiliser le type de résumé de la torche:
Installez-le d'abord si vous ne l'avez pas.
Et puis vous pouvez l'essayer, mais notez pour une raison quelconque que cela ne fonctionne pas à moins que je ne règle le modèle sur cuda
alexnet.cuda
:Le
summary
doit prendre la taille d'entrée et la taille du lot est définie sur -1, ce qui signifie toute taille de lot que nous fournissons.Si nous définissons
summary(alexnet, (3, 224, 224), 32)
cela signifie utiliser lebs=32
.En dehors:
la source
Cela affichera les poids et les paramètres d'un modèle (mais pas la forme de sortie).
Edit: isaykatsman a un pytorch PR pour ajouter un
model.summary()
qui est exactement comme keras https://github.com/pytorch/pytorch/pull/3043/filesla source
Le plus simple à retenir (pas aussi joli que Keras):
Cela fonctionne également:
Si vous voulez juste le nombre de paramètres:
De: Existe - t-il une fonction de pytorch similaire à model.summary () à keras? (forum.PyTorch.org)
la source
Vous pouvez utiliser
Vous pouvez spécifier un appareil
Vous pouvez créer un réseau, et si vous utilisez des ensembles de données MNIST, les commandes suivantes fonctionneront et vous montreront un résumé
la source
AFAK il n'y a pas de model.summary () comme équivalent dans pytorch
En attendant, vous pouvez faire référence au script de szagoruyko, ce qui donne une belle visualisation comme dans resnet18-example
À votre santé
la source
Imprimez simplement le modèle après avoir défini un objet pour la classe de modèle
la source
Vous pouvez simplement utiliser
x.shape
, afin de mesurer lesx
dimensions du tenseurla source
Pour la visualisation et le résumé des
PyTorch
modèles, tensorboardX peut également être utilisé.la source
Keras comme résumé du modèle en utilisant torchsummary:
la source