Giter Site home page Giter Site logo

torchscope's Introduction

torchscope

This is a neat plugin for scoping model in PyTorch. It is mainly based on the pytorch-summary and torchstat.

Installation

  • Install via pip
$ pip install torchscope
  • Install from source
$ pip install --upgrade git+https://github.com/Tramac/torchscope.git

Usage

from torchvision.models import resnet18
from torchscope import scope

model = resnet18()
scope(model, input_size=(3, 224, 224))
------------------------------------------------------------------------------------------------------
        Layer (type)               Output Shape          Params           FLOPs           Madds
======================================================================================================
            Conv2d-1          [1, 64, 112, 112]           9,408     118,013,952     235,225,088
       BatchNorm2d-2          [1, 64, 112, 112]             128       1,605,632       3,211,264
              ReLU-3          [1, 64, 112, 112]               0         802,816         802,816
         MaxPool2d-4            [1, 64, 56, 56]               0         802,816       1,605,632
            Conv2d-5            [1, 64, 56, 56]          36,864     115,605,504     231,010,304
       BatchNorm2d-6            [1, 64, 56, 56]             128         401,408         802,816
              ReLU-7            [1, 64, 56, 56]               0         200,704         200,704
            Conv2d-8            [1, 64, 56, 56]          36,864     115,605,504     231,010,304
       BatchNorm2d-9            [1, 64, 56, 56]             128         401,408         802,816
             ReLU-10            [1, 64, 56, 56]               0         200,704         200,704
           Conv2d-11            [1, 64, 56, 56]          36,864     115,605,504     231,010,304
      BatchNorm2d-12            [1, 64, 56, 56]             128         401,408         802,816
             ReLU-13            [1, 64, 56, 56]               0         200,704         200,704
           Conv2d-14            [1, 64, 56, 56]          36,864     115,605,504     231,010,304
      BatchNorm2d-15            [1, 64, 56, 56]             128         401,408         802,816
             ReLU-16            [1, 64, 56, 56]               0         200,704         200,704
           Conv2d-17           [1, 128, 28, 28]          73,728      57,802,752     115,505,152
      BatchNorm2d-18           [1, 128, 28, 28]             256         200,704         401,408
             ReLU-19           [1, 128, 28, 28]               0         100,352         100,352
           Conv2d-20           [1, 128, 28, 28]         147,456     115,605,504     231,110,656
      BatchNorm2d-21           [1, 128, 28, 28]             256         200,704         401,408
           Conv2d-22           [1, 128, 28, 28]           8,192       6,422,528      12,744,704
      BatchNorm2d-23           [1, 128, 28, 28]             256         200,704         401,408
             ReLU-24           [1, 128, 28, 28]               0         100,352         100,352
           Conv2d-25           [1, 128, 28, 28]         147,456     115,605,504     231,110,656
      BatchNorm2d-26           [1, 128, 28, 28]             256         200,704         401,408
             ReLU-27           [1, 128, 28, 28]               0         100,352         100,352
           Conv2d-28           [1, 128, 28, 28]         147,456     115,605,504     231,110,656
      BatchNorm2d-29           [1, 128, 28, 28]             256         200,704         401,408
             ReLU-30           [1, 128, 28, 28]               0         100,352         100,352
           Conv2d-31           [1, 256, 14, 14]         294,912      57,802,752     115,555,328
      BatchNorm2d-32           [1, 256, 14, 14]             512         100,352         200,704
             ReLU-33           [1, 256, 14, 14]               0          50,176          50,176
           Conv2d-34           [1, 256, 14, 14]         589,824     115,605,504     231,160,832
      BatchNorm2d-35           [1, 256, 14, 14]             512         100,352         200,704
           Conv2d-36           [1, 256, 14, 14]          32,768       6,422,528      12,794,880
      BatchNorm2d-37           [1, 256, 14, 14]             512         100,352         200,704
             ReLU-38           [1, 256, 14, 14]               0          50,176          50,176
           Conv2d-39           [1, 256, 14, 14]         589,824     115,605,504     231,160,832
      BatchNorm2d-40           [1, 256, 14, 14]             512         100,352         200,704
             ReLU-41           [1, 256, 14, 14]               0          50,176          50,176
           Conv2d-42           [1, 256, 14, 14]         589,824     115,605,504     231,160,832
      BatchNorm2d-43           [1, 256, 14, 14]             512         100,352         200,704
             ReLU-44           [1, 256, 14, 14]               0          50,176          50,176
           Conv2d-45             [1, 512, 7, 7]       1,179,648      57,802,752     115,580,416
      BatchNorm2d-46             [1, 512, 7, 7]           1,024          50,176         100,352
             ReLU-47             [1, 512, 7, 7]               0          25,088          25,088
           Conv2d-48             [1, 512, 7, 7]       2,359,296     115,605,504     231,185,920
      BatchNorm2d-49             [1, 512, 7, 7]           1,024          50,176         100,352
           Conv2d-50             [1, 512, 7, 7]         131,072       6,422,528      12,819,968
      BatchNorm2d-51             [1, 512, 7, 7]           1,024          50,176         100,352
             ReLU-52             [1, 512, 7, 7]               0          25,088          25,088
           Conv2d-53             [1, 512, 7, 7]       2,359,296     115,605,504     231,185,920
      BatchNorm2d-54             [1, 512, 7, 7]           1,024          50,176         100,352
             ReLU-55             [1, 512, 7, 7]               0          25,088          25,088
           Conv2d-56             [1, 512, 7, 7]       2,359,296     115,605,504     231,185,920
      BatchNorm2d-57             [1, 512, 7, 7]           1,024          50,176         100,352
             ReLU-58             [1, 512, 7, 7]               0          25,088          25,088
        AvgPool2d-59             [1, 512, 1, 1]               0          25,088          25,088
           Linear-60                  [1, 1000]         513,000         512,000       1,023,000
======================================================================================================
Total params: 11,689,512
Trainable params: 11,689,512
Non-trainable params: 0
Total FLOPs: 1,822,176,768
Total Madds: 3,639,535,640
----------------------------------------------------------------
Input size (MB): 0.14
Forward/backward pass size (MB): 14.26
Params size (MB): 11.15
Estimated Total Size (MB): 25.55
FLOPs size (GB): 1.82
Madds size (GB): 3.64
----------------------------------------------------------------

Note

This plugin only supports the following operations:

  • Conv2d
  • BatchNorm2d
  • Pool2d
  • ReLU
  • Upsample

Reference

torchscope's People

Contributors

tramac avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.