Parameters, FLOPs and memory access profiler
This release adds a module crawler to pick up relevant inference information.
Note: torchscan 0.1.0 requires PyTorch 1.1 or newer.
Highlights
Modules
In-hook information extraction for supported torch.nn.Module
New
- Add FLOPs, MACs and DMAs estimation support for the following
torch.nn.Module
:Identity
,Linear
,Identity
,ReLU
,ELU
,LeakyReLU
,ReLU6
,Tanh
,Sigmoid
,_ConvTransposeMixin
,_ConvNd
,_BatchNorm
,_MaxPoolNd
,_AvgPoolNd
,_AdaptiveMaxPoolNd
,_AdaptiveAvgPoolNd
,Dropout
(#1, #6, #7).
Process
Python process information related
New
- Add
get_process_gpu_ram
to retrieve GPU RAM usage of the current Python process (#1).
## Crawler
Module hooking agent
New
- Add
crawl_module
to store all module information in a pythondict
(#1, #6) - Add
summary
for high-level console-printed information (#1)
Test
Verifications of the package well-being before release
New
- Add test for
torchscan.modules
(#1 , #6, #7) - Add test for
torschscan.process
(#1, #6) - Add test for
torschscan.crawler
(#6) - Add test for
torschscan.utils
(#1, #6)
Documentation
Online resources for potential users
New
- Add sphinx automatic documentation build for existing features (#1)
- Add contribution guidelines (#1)
- Add installation, usage, and benchmark in readme (#1, #2, #8)
Others
Other tools and implementations
- Add ̀format_info
to generate a string output from the
crawl_module` returned dictionary (#1). - Add
aggregate_info
to aggregatecrawl_module
output to a specific depth (#1). - Add
scripts/benchmark.py
to displaycrawl_module
information on alltorchvision
classification models (#1 )
Notes: upon the next torch
release, _ConvTransposeMixin
will be renamed to _ConvTransposeNd