| import torch |
| import numpy as np |
| from mpact.models.resnet import resnet_20 |
| from mpact_benchmark.utils.benchmark_utils import benchmark, Backends |
| |
| |
| @benchmark( |
| [ |
| { |
| "name": f"{fmt}_{shape}_{dtype.__name__}", |
| "shape": shape, |
| "formats": fmt, |
| "dtype": dtype, |
| "drange": (1, 100), |
| "sparsity": [0.5, 0.9], |
| # TODO: Torch inductor requires lower precision with larger input size, |
| # such as [8, 3, 32, 32]. |
| "precision": 1e-3, |
| "backends": [b for b in Backends], |
| } |
| for shape in [ |
| [[1, 3, 16, 16]], |
| ] |
| for fmt in [["dense"]] |
| for dtype in [np.float32] |
| ] |
| ) |
| def resnet() -> torch.nn.Module: |
| """Restnet20 model.""" |
| resnet_model = resnet_20() |
| resnet_model.train(False) |
| return resnet_model |
| |
| |
| if __name__ == "__main__": |
| resnet() |