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_ramto retrieve GPU RAM usage of the current Python process (#1).
## Crawler
Module hooking agent
New
- Add
crawl_moduleto store all module information in a pythondict(#1, #6) - Add
summaryfor 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 thecrawl_module` returned dictionary (#1). - Add
aggregate_infoto aggregatecrawl_moduleoutput to a specific depth (#1). - Add
scripts/benchmark.pyto displaycrawl_moduleinformation on alltorchvisionclassification models (#1 )
Notes: upon the next torch release, _ConvTransposeMixin will be renamed to _ConvTransposeNd