From c4bd4b9956609c3b6d5a2d9e66e1764a1c3e9ab3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 22:09:49 +0000 Subject: [PATCH 1/3] Bump torchfix from 0.1.1 to 0.5.0 Bumps [torchfix](https://github.com/pytorch-labs/torchfix) from 0.1.1 to 0.5.0. - [Release notes](https://github.com/pytorch-labs/torchfix/releases) - [Commits](https://github.com/pytorch-labs/torchfix/commits/v0.5.0) --- updated-dependencies: - dependency-name: torchfix dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- requirements-lintrunner.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements-lintrunner.txt b/requirements-lintrunner.txt index c72ec10f35e..da10dd53cab 100644 --- a/requirements-lintrunner.txt +++ b/requirements-lintrunner.txt @@ -10,7 +10,7 @@ flake8-comprehensions==3.12.0 flake8-pyi==23.5.0 mccabe==0.7.0 pycodestyle==2.10.0 -torchfix==0.1.1 +torchfix==0.5.0 # UFMT black==24.2.0 From 1a3e1f5117d6ac34432efe2dd66e425401ac4b4a Mon Sep 17 00:00:00 2001 From: Huy Do Date: Mon, 22 Apr 2024 17:25:43 -0700 Subject: [PATCH 2/3] Fix lint issues from torchfix upgrade --- backends/arm/test/models/test_mobilenet_v2_arm.py | 2 +- backends/xnnpack/test/models/inception_v3.py | 2 +- backends/xnnpack/test/models/mobilenet_v2.py | 2 +- backends/xnnpack/test/models/mobilenet_v3.py | 2 +- backends/xnnpack/test/models/torchvision_vit.py | 2 +- examples/qualcomm/oss_scripts/ssd300_vgg16.py | 4 +++- examples/qualcomm/scripts/mobilebert_fine_tune.py | 1 + exir/serde/export_serialize.py | 2 +- 8 files changed, 10 insertions(+), 7 deletions(-) diff --git a/backends/arm/test/models/test_mobilenet_v2_arm.py b/backends/arm/test/models/test_mobilenet_v2_arm.py index ee136d1b480..6c247ac10e9 100644 --- a/backends/arm/test/models/test_mobilenet_v2_arm.py +++ b/backends/arm/test/models/test_mobilenet_v2_arm.py @@ -9,11 +9,11 @@ import unittest import torch -import torchvision.models as models from executorch.backends.arm.test import common from executorch.backends.arm.test.tester.arm_tester import ArmTester from executorch.backends.xnnpack.test.tester.tester import Quantize +from torchvision import models from torchvision.models.mobilenetv2 import MobileNet_V2_Weights diff --git a/backends/xnnpack/test/models/inception_v3.py b/backends/xnnpack/test/models/inception_v3.py index b861afc5cd5..ddadbdd2f81 100644 --- a/backends/xnnpack/test/models/inception_v3.py +++ b/backends/xnnpack/test/models/inception_v3.py @@ -7,9 +7,9 @@ import unittest import torch -import torchvision.models as models from executorch.backends.xnnpack.test.tester import Tester from executorch.backends.xnnpack.test.tester.tester import Quantize +from torchvision import models class TestInceptionV3(unittest.TestCase): diff --git a/backends/xnnpack/test/models/mobilenet_v2.py b/backends/xnnpack/test/models/mobilenet_v2.py index 53bcedd0a90..c2bc364b9c4 100644 --- a/backends/xnnpack/test/models/mobilenet_v2.py +++ b/backends/xnnpack/test/models/mobilenet_v2.py @@ -7,9 +7,9 @@ import unittest import torch -import torchvision.models as models from executorch.backends.xnnpack.test.tester import Tester from executorch.backends.xnnpack.test.tester.tester import Quantize +from torchvision import models from torchvision.models.mobilenetv2 import MobileNet_V2_Weights diff --git a/backends/xnnpack/test/models/mobilenet_v3.py b/backends/xnnpack/test/models/mobilenet_v3.py index 3da2e3bf42c..d990fa0e3bf 100644 --- a/backends/xnnpack/test/models/mobilenet_v3.py +++ b/backends/xnnpack/test/models/mobilenet_v3.py @@ -7,9 +7,9 @@ import unittest import torch -import torchvision.models as models from executorch.backends.xnnpack.test.tester import Tester from executorch.backends.xnnpack.test.tester.tester import Quantize +from torchvision import models class TestMobileNetV3(unittest.TestCase): diff --git a/backends/xnnpack/test/models/torchvision_vit.py b/backends/xnnpack/test/models/torchvision_vit.py index e4b387e0f79..836a9056857 100644 --- a/backends/xnnpack/test/models/torchvision_vit.py +++ b/backends/xnnpack/test/models/torchvision_vit.py @@ -7,8 +7,8 @@ import unittest import torch -import torchvision.models as models from executorch.backends.xnnpack.test.tester import Tester +from torchvision import models class TestViT(unittest.TestCase): diff --git a/examples/qualcomm/oss_scripts/ssd300_vgg16.py b/examples/qualcomm/oss_scripts/ssd300_vgg16.py index 6457b68f7d6..60dbb9ecaaa 100644 --- a/examples/qualcomm/oss_scripts/ssd300_vgg16.py +++ b/examples/qualcomm/oss_scripts/ssd300_vgg16.py @@ -109,7 +109,9 @@ def SSD300VGG16(pretrained_weight_model): from model import SSD300 model = SSD300(n_classes=21) - checkpoint = torch.load(pretrained_weight_model, map_location="cpu") + checkpoint = torch.load( + pretrained_weight_model, map_location="cpu", weights_only=False + ) model.load_state_dict(checkpoint["model"].state_dict()) return model.eval() diff --git a/examples/qualcomm/scripts/mobilebert_fine_tune.py b/examples/qualcomm/scripts/mobilebert_fine_tune.py index 84d130d4244..95cf6453cfd 100755 --- a/examples/qualcomm/scripts/mobilebert_fine_tune.py +++ b/examples/qualcomm/scripts/mobilebert_fine_tune.py @@ -211,6 +211,7 @@ def get_fine_tuned_mobilebert(artifacts_dir, pretrained_weight, batch_size): else pretrained_weight ), map_location=torch.device("cpu"), + weights_only=False, ), ) diff --git a/exir/serde/export_serialize.py b/exir/serde/export_serialize.py index fef2b2411fa..a9c0fd83e14 100644 --- a/exir/serde/export_serialize.py +++ b/exir/serde/export_serialize.py @@ -242,7 +242,7 @@ def deserialize_torch_artifact(serialized: bytes): return {} buffer = io.BytesIO(serialized) buffer.seek(0) - return torch.load(buffer) + return torch.load(buffer, weights_only=False) def _sympy_int_to_int(val: sympy.Expr): From 9b0874bf4695030c88460200ff37c68732d348f7 Mon Sep 17 00:00:00 2001 From: Huy Do Date: Mon, 22 Apr 2024 18:31:11 -0700 Subject: [PATCH 3/3] Add TODO for setting weights_only to True https://pytorch.org/docs/stable/generated/torch.load.html --- examples/qualcomm/oss_scripts/ssd300_vgg16.py | 2 ++ examples/qualcomm/scripts/mobilebert_fine_tune.py | 2 ++ exir/serde/export_serialize.py | 2 ++ 3 files changed, 6 insertions(+) diff --git a/examples/qualcomm/oss_scripts/ssd300_vgg16.py b/examples/qualcomm/oss_scripts/ssd300_vgg16.py index 60dbb9ecaaa..936db49d0a1 100644 --- a/examples/qualcomm/oss_scripts/ssd300_vgg16.py +++ b/examples/qualcomm/oss_scripts/ssd300_vgg16.py @@ -109,6 +109,8 @@ def SSD300VGG16(pretrained_weight_model): from model import SSD300 model = SSD300(n_classes=21) + # TODO: If possible, it's better to set weights_only to True + # https://pytorch.org/docs/stable/generated/torch.load.html checkpoint = torch.load( pretrained_weight_model, map_location="cpu", weights_only=False ) diff --git a/examples/qualcomm/scripts/mobilebert_fine_tune.py b/examples/qualcomm/scripts/mobilebert_fine_tune.py index 95cf6453cfd..cb067690f94 100755 --- a/examples/qualcomm/scripts/mobilebert_fine_tune.py +++ b/examples/qualcomm/scripts/mobilebert_fine_tune.py @@ -204,6 +204,8 @@ def get_fine_tuned_mobilebert(artifacts_dir, pretrained_weight, batch_size): ) model.load_state_dict( + # TODO: If possible, it's better to set weights_only to True + # https://pytorch.org/docs/stable/generated/torch.load.html torch.load( ( f"{artifacts_dir}/finetuned_mobilebert_epoch_{epochs}.model" diff --git a/exir/serde/export_serialize.py b/exir/serde/export_serialize.py index a9c0fd83e14..87691dfbee2 100644 --- a/exir/serde/export_serialize.py +++ b/exir/serde/export_serialize.py @@ -242,6 +242,8 @@ def deserialize_torch_artifact(serialized: bytes): return {} buffer = io.BytesIO(serialized) buffer.seek(0) + # TODO: If possible, it's better to set weights_only to True + # https://pytorch.org/docs/stable/generated/torch.load.html return torch.load(buffer, weights_only=False)