Skip to content

Commit f3dd694

Browse files
authored
Add rules for datasets and transforms imports (#61)
## Context * There is a linter rule that recommends changing `import torchvision.models as models` to `from torchvision import models` * The same behavior is expected for `torchvision.datasets` and `torchvision.transforms` ## Changes * Extend the `models` rule to also address the first instance of the `datasets` and `transforms` imports * Rename the models import checker and related fixtures to be more generic since more imports are checked now ## Testing * Updated existing unit test and fixture * No lint errors for modified files
1 parent fdad986 commit f3dd694

File tree

11 files changed

+87
-57
lines changed

11 files changed

+87
-57
lines changed

tests/fixtures/vision/checker/models_import.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

tests/fixtures/vision/checker/models_import.py renamed to tests/fixtures/vision/checker/singleton_import.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,5 @@
44
import torchvision.models
55
from torchvision.models import *
66
import torchvision.models as models, torch
7+
import torchvision.datasets as datasets
8+
import torchvision.transforms as transforms
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
1:1 TOR203 Consider replacing 'import torchvision.models as models' with 'from torchvision import models'.
2+
6:1 TOR203 Consider replacing 'import torchvision.models as models' with 'from torchvision import models'.
3+
7:1 TOR203 Consider replacing 'import torchvision.datasets as datasets' with 'from torchvision import datasets'.
4+
8:1 TOR203 Consider replacing 'import torchvision.transforms as transforms' with 'from torchvision import transforms'.

tests/fixtures/vision/codemod/models_import.py

Lines changed: 0 additions & 5 deletions
This file was deleted.

tests/fixtures/vision/codemod/models_import.py.out

Lines changed: 0 additions & 5 deletions
This file was deleted.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import torchvision.models as models
2+
import torchvision.models as cnn
3+
import torchvision.datasets as datasets
4+
import torchvision.datasets as datasets_alt
5+
import torchvision.transforms as transforms
6+
import torchvision.transforms as transforms_alt
7+
8+
# don't touch if more than one name imported
9+
import torchvision.models as models, torch
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
from torchvision import models
2+
import torchvision.models as cnn
3+
from torchvision import datasets
4+
import torchvision.datasets as datasets_alt
5+
from torchvision import transforms
6+
import torchvision.transforms as transforms_alt
7+
8+
# don't touch if more than one name imported
9+
import torchvision.models as models, torch

torchfix/torchfix.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from .visitors.vision import (
1717
TorchVisionDeprecatedPretrainedVisitor,
1818
TorchVisionDeprecatedToTensorVisitor,
19-
TorchVisionModelsImportVisitor,
19+
TorchVisionSingletonImportVisitor,
2020
)
2121
from .visitors.security import TorchUnsafeLoadVisitor
2222

@@ -33,7 +33,7 @@
3333
TorchSynchronizedDataLoaderVisitor,
3434
TorchVisionDeprecatedPretrainedVisitor,
3535
TorchVisionDeprecatedToTensorVisitor,
36-
TorchVisionModelsImportVisitor,
36+
TorchVisionSingletonImportVisitor,
3737
TorchUnsafeLoadVisitor,
3838
TorchReentrantCheckpointVisitor,
3939
TorchNonPublicAliasVisitor,

torchfix/visitors/vision/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from .pretrained import TorchVisionDeprecatedPretrainedVisitor # noqa: F401
22
from .to_tensor import TorchVisionDeprecatedToTensorVisitor # noqa: F401
3-
from .models_import import TorchVisionModelsImportVisitor # noqa: F401
3+
from .singleton_import import TorchVisionSingletonImportVisitor # noqa: F401

torchfix/visitors/vision/models_import.py

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)