From 6ccdf7db6cdcc2f1644855dbd4868c359889a8ff Mon Sep 17 00:00:00 2001 From: Nick Fraser Date: Wed, 6 Dec 2023 17:47:13 +0000 Subject: [PATCH] Feat: Added compile arg to BNN-PYNQ examples --- src/brevitas_examples/bnn_pynq/bnn_pynq_train.py | 1 + src/brevitas_examples/bnn_pynq/trainer.py | 3 +++ 2 files changed, 4 insertions(+) diff --git a/src/brevitas_examples/bnn_pynq/bnn_pynq_train.py b/src/brevitas_examples/bnn_pynq/bnn_pynq_train.py index 5aa316aea..213b004e7 100644 --- a/src/brevitas_examples/bnn_pynq/bnn_pynq_train.py +++ b/src/brevitas_examples/bnn_pynq/bnn_pynq_train.py @@ -69,6 +69,7 @@ def parse_args(args): parser.add_argument("--network", default="LFC_1W1A", type=str, help="neural network") parser.add_argument("--pretrained", action='store_true', help="Load pretrained model") parser.add_argument("--strict", action='store_true', help="Strict state dictionary loading") + parser.add_argument("--compile", action='store_true', help="Compile model with `torch.compile` (PyTorch version >=2 only)") parser.add_argument( "--state_dict_to_pth", action='store_true', diff --git a/src/brevitas_examples/bnn_pynq/trainer.py b/src/brevitas_examples/bnn_pynq/trainer.py index 78c1db97e..6ab701f1e 100644 --- a/src/brevitas_examples/bnn_pynq/trainer.py +++ b/src/brevitas_examples/bnn_pynq/trainer.py @@ -24,6 +24,7 @@ from .models import model_with_cfg from .models.losses import SqrHingeLoss +TORCH_GEQ_200 = parse(torch.__version__) >= parse("2.0.0") class MirrorMNIST(MNIST): @@ -64,6 +65,8 @@ class Trainer(object): def __init__(self, args): model, cfg = model_with_cfg(args.network, args.pretrained) + if args.compile and TORCH_GEQ_200: + model = torch.compile(model) # Init arguments self.args = args