Dies ist ein leichter Analysator für neuronales Netzwerk, das auf Pytorch basiert. Es ist so konzipiert, dass es schnell und einfach das Aufbau Ihrer Netzwerke macht, um sie zu debuggen. Hinweis : Dieses Repository befindet sich derzeit in der Entwicklung. Daher können einige APIs geändert werden.
Diese Tools können zeigen
Es gibt zwei Möglichkeiten, Torchstat in Ihre Umgebung zu installieren.
$ pip install torchstat$ python3 setup.py installWenn Sie den Torchstat so schnell wie möglich ausführen möchten, können Sie ihn als CLI -Tool aufrufen, wenn Ihr Netzwerk in einem Skript vorhanden ist. Andernfalls müssen Sie Torchstat als Modul importieren.
$ torchstat masato$ torchstat -f example.py -m Net
[MAdd]: Dropout2d is not supported !
[Flops]: Dropout2d is not supported !
[Memory]: Dropout2d is not supported !
module name input shape output shape params memory(MB) MAdd Flops MemRead(B) MemWrite(B) duration[%] MemR+W(B)
0 conv1 3 224 224 10 220 220 760.0 1.85 72,600,000.0 36,784,000.0 605152.0 1936000.0 57.49% 2541152.0
1 conv2 10 110 110 20 106 106 5020.0 0.86 112,360,000.0 56,404,720.0 504080.0 898880.0 26.62% 1402960.0
2 conv2_drop 20 106 106 20 106 106 0.0 0.86 0.0 0.0 0.0 0.0 4.09% 0.0
3 fc1 56180 50 2809050.0 0.00 5,617,950.0 2,809,000.0 11460920.0 200.0 11.58% 11461120.0
4 fc2 50 10 510.0 0.00 990.0 500.0 2240.0 40.0 0.22% 2280.0
total 2815340.0 3.56 190,578,940.0 95,998,220.0 2240.0 40.0 100.00% 15407512.0
===============================================================================================================================================
Total params: 2,815,340
-----------------------------------------------------------------------------------------------------------------------------------------------
Total memory: 3.56MB
Total MAdd: 190.58MMAdd
Total Flops: 96.0MFlops
Total MemR+W: 14.69MBWenn Sie sich nicht sicher sind, wie Sie einen bestimmten Befehl verwenden, führen Sie den Befehl mit den Switches -H- oder -Help -Schalter aus. Sie sehen Nutzungsinformationen und eine Liste der Optionen, die Sie mit dem Befehl verwenden können.
from torchstat import stat
import torchvision . models as models
model = models . resnet18 ()
stat ( model , ( 3 , 224 , 224 ))Hinweis : Diese Funktionen funktionieren nur nn.module. Module in Torch.nn.Funktional werden noch nicht unterstützt.
Für die unterstützten Schichten lesen Sie die Details.
Vielen Dank an @Sovrasov für die erste Version von Flops Computation, @CEYKMC für das Backbone von Skripten.