From dd37e03229d9e2d0877b2f4b0b6dfd95c9a01ae8 Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 22:04:18 +0530 Subject: [PATCH 1/7] initial commit --- docs/source/models/resnext.rst | 22 ++++++++++++++++++++ docs/source/models_new.rst | 1 + torchvision/models/resnet.py | 38 +++++++++++++++++++++++++++------- 3 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 docs/source/models/resnext.rst diff --git a/docs/source/models/resnext.rst b/docs/source/models/resnext.rst new file mode 100644 index 00000000000..bf0e10f4d0f --- /dev/null +++ b/docs/source/models/resnext.rst @@ -0,0 +1,22 @@ +ResNext +======= + +.. currentmodule:: torchvision.models + + The ResNext model is based on the `Aggregated Residual Transformations for Deep Neural Networks `__ + paper. + +Model builders +-------------- + +The following model builders can be used to instantiate a ResNext model, with or +without pre-trained weights. All the model builders internally rely on the +``torchvision.models.resnet.ResNet`` base class. Please refer to `source code `_ +for more details about this class. + +.. autosummary:: + :toctree: generated/ + :template: function.rst + + resnext50_32x4d + resnext101_32x8d diff --git a/docs/source/models_new.rst b/docs/source/models_new.rst index d512d917d65..2159e44e5fe 100644 --- a/docs/source/models_new.rst +++ b/docs/source/models_new.rst @@ -38,6 +38,7 @@ weights: models/regnet models/resnet + models/resnext models/squeezenet models/vgg models/vision_transformer diff --git a/torchvision/models/resnet.py b/torchvision/models/resnet.py index 25990e0d4d4..8e39c740e74 100644 --- a/torchvision/models/resnet.py +++ b/torchvision/models/resnet.py @@ -648,12 +648,23 @@ def resnet152(*, weights: Optional[ResNet152_Weights] = None, progress: bool = T def resnext50_32x4d( *, weights: Optional[ResNeXt50_32X4D_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: - r"""ResNeXt-50 32x4d model from - `"Aggregated Residual Transformation for Deep Neural Networks" `_. + """ResNeXt-50 32x4d model from + `Aggregated Residual Transformation for Deep Neural Networks `_. Args: - weights (ResNeXt50_32X4D_Weights, optional): The pretrained weights for the model - progress (bool): If True, displays a progress bar of the download to stderr + weights (:class:`~torchvision.models.ResNeXt50_32X4D_Weights`, optional): The + pretrained weights to use. See + :class:`~torchvision.models.ResNext50_32X4D_Weights` below for + more details, and possible values. By default, no pre-trained + weights are used. + progress (bool, optional): If True, displays a progress bar of the + download to stderr. Default is True. + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + .. autoclass:: torchvision.models.ResNeXt50_32X4D_Weights + :members: """ weights = ResNeXt50_32X4D_Weights.verify(weights) @@ -666,12 +677,23 @@ def resnext50_32x4d( def resnext101_32x8d( *, weights: Optional[ResNeXt101_32X8D_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: - r"""ResNeXt-101 32x8d model from - `"Aggregated Residual Transformation for Deep Neural Networks" `_. + """ResNeXt-101 32x8d model from + `Aggregated Residual Transformation for Deep Neural Networks `_. Args: - weights (ResNeXt101_32X8D_Weights, optional): The pretrained weights for the model - progress (bool): If True, displays a progress bar of the download to stderr + weights (:class:`~torchvision.models.ResNeXt101_32X8D_Weights`, optional): The + pretrained weights to use. See + :class:`~torchvision.models.ResNeXt101_32X8D_Weights` below for + more details, and possible values. By default, no pre-trained + weights are used. + progress (bool, optional): If True, displays a progress bar of the + download to stderr. Default is True. + **kwargs: parameters passed to the ``torchvision.models.resnet.ResNet`` + base class. Please refer to the `source code + `_ + for more details about this class. + .. autoclass:: torchvision.models.ResNeXt101_32X8D_Weights + :members: """ weights = ResNeXt101_32X8D_Weights.verify(weights) From 08dfb193833d274dc023bff2b854350a834f73e3 Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 22:54:57 +0530 Subject: [PATCH 2/7] formatting --- docs/source/models/resnext.rst | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/docs/source/models/resnext.rst b/docs/source/models/resnext.rst index bf0e10f4d0f..453650f5abc 100644 --- a/docs/source/models/resnext.rst +++ b/docs/source/models/resnext.rst @@ -1,18 +1,21 @@ -ResNext +ResNeXt ======= - + .. currentmodule:: torchvision.models - - The ResNext model is based on the `Aggregated Residual Transformations for Deep Neural Networks `__ - paper. - + +The ResNext model is based on the `Aggregated Residual Transformations for Deep Neural Networks `__ +paper. + + Model builders -------------- - -The following model builders can be used to instantiate a ResNext model, with or + +The following model builders can be used to instanciate an ResNext model, with or without pre-trained weights. All the model builders internally rely on the -``torchvision.models.resnet.ResNet`` base class. Please refer to `source code `_ -for more details about this class. +``torchvision.models.resnet.ResNet`` base class. Please refer to the `source +code +`_ for +more details about this class. .. autosummary:: :toctree: generated/ From 2b2463eb9274243bd54dd51e7533631bb1a6204a Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 23:02:43 +0530 Subject: [PATCH 3/7] minor change --- docs/source/models/resnext.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/source/models/resnext.rst b/docs/source/models/resnext.rst index 453650f5abc..b2b0eb8694f 100644 --- a/docs/source/models/resnext.rst +++ b/docs/source/models/resnext.rst @@ -10,7 +10,7 @@ paper. Model builders -------------- -The following model builders can be used to instanciate an ResNext model, with or +The following model builders can be used to instantiate an ResNext model, with or without pre-trained weights. All the model builders internally rely on the ``torchvision.models.resnet.ResNet`` base class. Please refer to the `source code From 29a72c429745cf786e457e813496e816e0f080d8 Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 23:04:21 +0530 Subject: [PATCH 4/7] replaced pdf link with webpage link --- torchvision/models/resnet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/models/resnet.py b/torchvision/models/resnet.py index 8e39c740e74..1c233bf425f 100644 --- a/torchvision/models/resnet.py +++ b/torchvision/models/resnet.py @@ -678,7 +678,7 @@ def resnext101_32x8d( *, weights: Optional[ResNeXt101_32X8D_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: """ResNeXt-101 32x8d model from - `Aggregated Residual Transformation for Deep Neural Networks `_. + `Aggregated Residual Transformation for Deep Neural Networks `_. Args: weights (:class:`~torchvision.models.ResNeXt101_32X8D_Weights`, optional): The @@ -707,7 +707,7 @@ def wide_resnet50_2( *, weights: Optional[Wide_ResNet50_2_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: r"""Wide ResNet-50-2 model from - `"Wide Residual Networks" `_. + `"Wide Residual Networks" `_. The model is the same as ResNet except for the bottleneck number of channels which is twice larger in every block. The number of channels in outer 1x1 From ec7ea9e76c0ee714f53dc7db3145d82e99eae23d Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 23:07:25 +0530 Subject: [PATCH 5/7] replaced pdf link with webpage link --- torchvision/models/resnet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/models/resnet.py b/torchvision/models/resnet.py index e42b6230f7c..8252b2c09e8 100644 --- a/torchvision/models/resnet.py +++ b/torchvision/models/resnet.py @@ -653,7 +653,7 @@ def resnet101(*, weights: Optional[ResNet101_Weights] = None, progress: bool = T @handle_legacy_interface(weights=("pretrained", ResNet152_Weights.IMAGENET1K_V1)) def resnet152(*, weights: Optional[ResNet152_Weights] = None, progress: bool = True, **kwargs: Any) -> ResNet: - """ResNet-152 from `Deep Residual Learning for Image Recognition `__. + """ResNet-152 from `Deep Residual Learning for Image Recognition `__. Args: weights (:class:`~torchvision.models.ResNet152_Weights`, optional): The @@ -681,7 +681,7 @@ def resnext50_32x4d( *, weights: Optional[ResNeXt50_32X4D_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: """ResNeXt-50 32x4d model from - `Aggregated Residual Transformation for Deep Neural Networks `_. + `Aggregated Residual Transformation for Deep Neural Networks `_. Args: weights (:class:`~torchvision.models.ResNeXt50_32X4D_Weights`, optional): The From dcf725c837b3cb2032b139ffc9ca1ef317992b96 Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 23:09:06 +0530 Subject: [PATCH 6/7] minor --- torchvision/models/resnet.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/torchvision/models/resnet.py b/torchvision/models/resnet.py index 8252b2c09e8..0f607e20a3c 100644 --- a/torchvision/models/resnet.py +++ b/torchvision/models/resnet.py @@ -653,7 +653,7 @@ def resnet101(*, weights: Optional[ResNet101_Weights] = None, progress: bool = T @handle_legacy_interface(weights=("pretrained", ResNet152_Weights.IMAGENET1K_V1)) def resnet152(*, weights: Optional[ResNet152_Weights] = None, progress: bool = True, **kwargs: Any) -> ResNet: - """ResNet-152 from `Deep Residual Learning for Image Recognition `__. + """ResNet-152 from `Deep Residual Learning for Image Recognition `__. Args: weights (:class:`~torchvision.models.ResNet152_Weights`, optional): The @@ -739,7 +739,7 @@ def wide_resnet50_2( *, weights: Optional[Wide_ResNet50_2_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: r"""Wide ResNet-50-2 model from - `"Wide Residual Networks" `_. + `"Wide Residual Networks" `_. The model is the same as ResNet except for the bottleneck number of channels which is twice larger in every block. The number of channels in outer 1x1 From f54bf54823c113fc434106ad74f10bf01f614e77 Mon Sep 17 00:00:00 2001 From: abhijit_linux Date: Sun, 24 Apr 2022 23:09:34 +0530 Subject: [PATCH 7/7] minor --- torchvision/models/resnet.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/models/resnet.py b/torchvision/models/resnet.py index 0f607e20a3c..3c71938fa1d 100644 --- a/torchvision/models/resnet.py +++ b/torchvision/models/resnet.py @@ -739,7 +739,7 @@ def wide_resnet50_2( *, weights: Optional[Wide_ResNet50_2_Weights] = None, progress: bool = True, **kwargs: Any ) -> ResNet: r"""Wide ResNet-50-2 model from - `"Wide Residual Networks" `_. + `"Wide Residual Networks" `_. The model is the same as ResNet except for the bottleneck number of channels which is twice larger in every block. The number of channels in outer 1x1