• Nate Cibik's avatar
    Add PvT-v2 Model (#26812) · 1fc505b8
    Nate Cibik authored
    
    
    * Added pytests for pvt-v2, all passed
    
    * Added pvt_v2 to docs/source/end/model_doc
    
    * Ran fix-copies and fixup. All checks passed
    
    * Added additional ReLU for linear attention mode
    
    * pvt_v2_b2_linear converted and working
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * PvT-v2 now works in AutoModel
    
    * Reverted batch eval changes for PR
    
    * Expanded type support for Pvt-v2 config
    
    * Fixed config docstring. Added channels property
    
    * Fixed model names in tests
    
    * Fixed config backbone compat. Added additional type support for image size in config
    
    * Fixed config backbone compat
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * Set key and value layers to use separate linear modules. Fixed pruning function
    
    * Set AvgPool to 7
    
    * Fixed issue in init
    
    * PvT-v2 now works in AutoModel
    
    * Successful conversion of pretrained weights for PVT-v2
    
    * Successful conversion of pretrained weights for PVT-v2 models
    
    * Added pytests for pvt-v2, all passed
    
    * Ran fix-copies and fixup. All checks passed
    
    * Added additional ReLU for linear attention mode
    
    * pvt_v2_b2_linear converted and working
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * Set key and value layers to use separate linear modules. Fixed pruning function
    
    * Set AvgPool to 7
    
    * Fixed issue in init
    
    * PvT-v2 now works in AutoModel
    
    * Successful conversion of pretrained weights for PVT-v2
    
    * Successful conversion of pretrained weights for PVT-v2 models
    
    * Added pytests for pvt-v2, all passed
    
    * Ran fix-copies and fixup. All checks passed
    
    * Added additional ReLU for linear attention mode
    
    * pvt_v2_b2_linear converted and working
    
    * Reverted batch eval changes for PR
    
    * Updated index.md
    
    * Expanded type support for Pvt-v2 config
    
    * Fixed config docstring. Added channels property
    
    * Fixed model names in tests
    
    * Fixed config backbone compat
    
    * Ran fix-copies
    
    * Fixed PvtV2Backbone tests
    
    * Added TFRegNet to OBJECTS_TO_IGNORE in check_docstrings.py
    
    * Fixed backbone stuff and fixed tests: all passing
    
    * Ran make fixup
    
    * Made modifications for code checks
    
    * Remove ONNX config from configuration_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Use explicit image size dict in test_modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Make image_size optional in test_modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Remove _ntuple use in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Remove reference to fp16_enabled
    
    * Model modules now take config as first argument even when not used
    
    * Replaced abbreviations for "SR" and "AP" with explicit "spatialreduction" and "averagepooling"
    
    * All LayerNorm now instantiates with config.layer_norm_eps
    
    * Added docstring for depth-wise conv layer
    
    * PvtV2Config now only takes Union[int, Tuple[int, int]] for image size
    
    * Refactored PVTv2 in prep for gradient checkpointing
    
    * Gradient checkpointing ready to test
    
    * Removed override of _set_gradient_checkpointing
    
    * Cleaned out old code
    
    * Applied code fixup
    
    * Applied code fixup
    
    * Began debug of pvt_v2 tests
    
    * Leave handling of num_labels to base pretrained config class
    
    * Deactivated gradient checkpointing tests until it is fixed
    
    * Removed PvtV2ImageProcessor which duped PvtImageProcessor
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * Set key and value layers to use separate linear modules. Fixed pruning function
    
    * Set AvgPool to 7
    
    * Fixed issue in init
    
    * PvT-v2 now works in AutoModel
    
    * Successful conversion of pretrained weights for PVT-v2
    
    * Successful conversion of pretrained weights for PVT-v2 models
    
    * Added pytests for pvt-v2, all passed
    
    * Added pvt_v2 to docs/source/end/model_doc
    
    * Ran fix-copies and fixup. All checks passed
    
    * Added additional ReLU for linear attention mode
    
    * pvt_v2_b2_linear converted and working
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * PvT-v2 now works in AutoModel
    
    * Reverted batch eval changes for PR
    
    * Expanded type support for Pvt-v2 config
    
    * Fixed config docstring. Added channels property
    
    * Fixed model names in tests
    
    * Fixed config backbone compat. Added additional type support for image size in config
    
    * Fixed config backbone compat
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * Set key and value layers to use separate linear modules. Fixed pruning function
    
    * Set AvgPool to 7
    
    * Fixed issue in init
    
    * PvT-v2 now works in AutoModel
    
    * Successful conversion of pretrained weights for PVT-v2
    
    * Successful conversion of pretrained weights for PVT-v2 models
    
    * Added pytests for pvt-v2, all passed
    
    * Ran fix-copies and fixup. All checks passed
    
    * Added additional ReLU for linear attention mode
    
    * pvt_v2_b2_linear converted and working
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * Set key and value layers to use separate linear modules. Fixed pruning function
    
    * Set AvgPool to 7
    
    * Fixed issue in init
    
    * PvT-v2 now works in AutoModel
    
    * Successful conversion of pretrained weights for PVT-v2
    
    * Successful conversion of pretrained weights for PVT-v2 models
    
    * Added pytests for pvt-v2, all passed
    
    * Ran fix-copies and fixup. All checks passed
    
    * Added additional ReLU for linear attention mode
    
    * pvt_v2_b2_linear converted and working
    
    * Reverted batch eval changes for PR
    
    * Expanded type support for Pvt-v2 config
    
    * Fixed config docstring. Added channels property
    
    * Fixed model names in tests
    
    * Fixed config backbone compat
    
    * Ran fix-copies
    
    * Fixed PvtV2Backbone tests
    
    * Added TFRegNet to OBJECTS_TO_IGNORE in check_docstrings.py
    
    * Fixed backbone stuff and fixed tests: all passing
    
    * Ran make fixup
    
    * Made modifications for code checks
    
    * Remove ONNX config from configuration_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Use explicit image size dict in test_modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Make image_size optional in test_modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Remove _ntuple use in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Remove reference to fp16_enabled
    
    * Model modules now take config as first argument even when not used
    
    * Replaced abbreviations for "SR" and "AP" with explicit "spatialreduction" and "averagepooling"
    
    * All LayerNorm now instantiates with config.layer_norm_eps
    
    * Added docstring for depth-wise conv layer
    
    * PvtV2Config now only takes Union[int, Tuple[int, int]] for image size
    
    * Refactored PVTv2 in prep for gradient checkpointing
    
    * Gradient checkpointing ready to test
    
    * Removed override of _set_gradient_checkpointing
    
    * Cleaned out old code
    
    * Applied code fixup
    
    * Applied code fixup
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * PvT-v2 now works in AutoModel
    
    * Ran fix-copies and fixup. All checks passed
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * PvT-v2 now works in AutoModel
    
    * Reverted batch eval changes for PR
    
    * Fixed config docstring. Added channels property
    
    * Fixed config backbone compat
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * PvT-v2 now works in AutoModel
    
    * Ran fix-copies and fixup. All checks passed
    
    * Allowed for batching of eval metrics
    
    * copied models/pvt to adapt to pvt_v2
    
    * First commit of pvt_v2
    
    * PvT-v2 now works in AutoModel
    
    * Fixed config backbone compat
    
    * Ran fix-copies
    
    * Began debug of pvt_v2 tests
    
    * Leave handling of num_labels to base pretrained config class
    
    * Deactivated gradient checkpointing tests until it is fixed
    
    * Removed PvtV2ImageProcessor which duped PvtImageProcessor
    
    * Fixed issue from rebase
    
    * Fixed issue from rebase
    
    * Set tests for gradient checkpointing to skip those using reentrant since it isn't supported
    
    * Fixed issue from rebase
    
    * Fixed issue from rebase
    
    * Changed model name in docs
    
    * Removed duplicate PvtV2Backbone
    
    * Work around type switching issue in tests
    
    * Fix model name in config comments
    
    * Update docs/source/en/model_doc/pvt_v2.md
    
    Co-authored-by: default avatarArthur <48595927+ArthurZucker@users.noreply.github.com>
    
    * Changed name of variable from 'attn_reduce' to 'sr_type'
    
    * Changed name of variable from 'attn_reduce' to 'sr_type'
    
    * Changed from using 'sr_type' to 'linear_attention' for clarity
    
    * Update src/transformers/models/pvt_v2/modeling_pvt_v2.py
    
    Removed old code
    
    * Changed from using 'sr_type' to 'linear_attention' for clarity
    
    * Fixed Class names to be more descriptive
    
    * Update src/transformers/models/pvt_v2/modeling_pvt_v2.py
    
    Removed outdated code
    
    * Moved paper abstract to single line in pvt_v2.md
    
    * Added usage tips to pvt_v2.md
    
    * Simplified module inits by passing layer_idx
    
    * Fixed typing for hidden_act in PvtV2Config
    
    * Removed unusued import
    
    * Add pvt_v2 to docs/source/en/_toctree.yml
    
    * Updated documentation in docs/source/en/model_doc/pvt_v2.md to be more comprehensive.
    
    * Updated documentation in docs/source/en/model_doc/pvt_v2.md to be more comprehensive.
    
    * Update src/transformers/models/pvt_v2/modeling_pvt_v2.py
    
    Move function parameters to single line
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update src/transformers/models/pvt_v2/modeling_pvt_v2.py
    
    Update year of copyright to 2024
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update src/transformers/models/pvt_v2/modeling_pvt_v2.py
    
    Make code more explicit
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Updated sr_ratio to be more explicit spatial_reduction_ratio
    
    * Removed excess type hints in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Move params to single line in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Removed needless comment in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Update copyright date in pvt_v2.md
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Moved params to single line in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Updated copyright date in configuration_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Cleaned comments in modeling_pvt_v2.py
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    
    * Renamed spatial_reduction Conv2D operation
    
    * Revert "Update src/transformers/models/pvt_v2/modeling_pvt_v2.py
    "
    
    This reverts commit c4a04416dde8f3475ab405d1feb368600e0f8538.
    
    * Updated conversion script to reflect module name change
    
    * Deprecated reshape_last_stage option in config
    
    * Removed unused imports
    
    * Code formatting
    
    * Fixed outdated decorators on test_inference_fp16
    
    * Added "Copied from" comments in test_modeling_pvt_v2.py
    
    * Fixed import listing
    
    * Updated model name
    
    * Force empty commit for PR refresh
    
    * Fixed linting issue
    
    * Removed # Copied from comments
    
    * Added PVTv2 to README_fr.md
    
    * Ran make fix-copies
    
    * Replace all FoamoftheSea hub references with OpenGVLab
    
    * Fixed out_indices and out_features logic in configuration_pvt_v2.py
    
    * Made ImageNet weight conversion verification optional in convert_pvt_v2_to_pytorch.py
    
    * Ran code fixup
    
    * Fixed order of parent classes in PvtV2Config to fix the to_dict method override
    
    ---------
    
    Co-authored-by: default avataramyeroberts <22614925+amyeroberts@users.noreply.github.com>
    Co-authored-by: default avatarArthur <48595927+ArthurZucker@users.noreply.github.com>
    1fc505b8