From 0f26e078fd4a66772ecba9e422b5d3ce01133f8a Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Tue, 7 Mar 2023 01:36:59 -0800 Subject: [PATCH 01/70] add boilerplate for ICT --- docs/source/en/model_doc/ict.mdx | 69 ++ src/transformers/__init__.py | 28 + src/transformers/models/__init__.py | 1 + .../models/auto/configuration_auto.py | 3 + .../models/auto/feature_extraction_auto.py | 1 + .../models/auto/image_processing_auto.py | 1 + src/transformers/models/auto/modeling_auto.py | 2 + .../models/auto/modeling_flax_auto.py | 1 + .../models/auto/modeling_tf_auto.py | 2 + src/transformers/models/ict/__init__.py | 102 +++ .../models/ict/configuration_ict.py | 142 +++ .../models/ict/convert_dino_to_pytorch.py | 219 +++++ .../models/ict/convert_ict_timm_to_pytorch.py | 250 ++++++ .../models/ict/modeling_flax_ict.py | 688 ++++++++++++++ src/transformers/models/ict/modeling_ict.py | 847 ++++++++++++++++++ .../models/ict/modeling_tf_ict.py | 827 +++++++++++++++++ tests/models/ict/__init__.py | 0 tests/models/ict/test_modeling_flax_ict.py | 187 ++++ tests/models/ict/test_modeling_ict.py | 333 +++++++ tests/models/ict/test_modeling_tf_ict.py | 249 +++++ 20 files changed, 3952 insertions(+) create mode 100644 docs/source/en/model_doc/ict.mdx create mode 100644 src/transformers/models/ict/__init__.py create mode 100644 src/transformers/models/ict/configuration_ict.py create mode 100644 src/transformers/models/ict/convert_dino_to_pytorch.py create mode 100644 src/transformers/models/ict/convert_ict_timm_to_pytorch.py create mode 100644 src/transformers/models/ict/modeling_flax_ict.py create mode 100644 src/transformers/models/ict/modeling_ict.py create mode 100644 src/transformers/models/ict/modeling_tf_ict.py create mode 100644 tests/models/ict/__init__.py create mode 100644 tests/models/ict/test_modeling_flax_ict.py create mode 100644 tests/models/ict/test_modeling_ict.py create mode 100644 tests/models/ict/test_modeling_tf_ict.py diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx new file mode 100644 index 000000000000..a7d80c4ac37e --- /dev/null +++ b/docs/source/en/model_doc/ict.mdx @@ -0,0 +1,69 @@ + + +# ICT + +## Overview + +The ICT model was proposed in []() by . + + +The abstract from the paper is the following: + +** + +Tips: + + + +This model was contributed by [INSERT YOUR HF USERNAME HERE](https://huggingface.co/). +The original code can be found [here](). + + +## ICTConfig + +[[autodoc]] ICTConfig + +## ICTModel + +[[autodoc]] ICTModel + - forward + +## ICTForMaskedImageModeling + +[[autodoc]] ICTForMaskedImageModeling + - forward + +## ICTForImageClassification + +[[autodoc]] ICTForImageClassification + - forward + +## TFICTModel + +[[autodoc]] TFICTModel + - call + +## TFICTForImageClassification + +[[autodoc]] TFICTForImageClassification + - call + +## FlaxVitModel + +[[autodoc]] FlaxICTModel + - __call__ + +## FlaxICTForImageClassification + +[[autodoc]] FlaxICTForImageClassification + - __call__ diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index 99683306d6b4..a705279f5f63 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -330,6 +330,7 @@ "models.herbert": ["HerbertTokenizer"], "models.hubert": ["HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "HubertConfig"], "models.ibert": ["IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "IBertConfig"], + "models.ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ICTConfig"], "models.imagegpt": ["IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ImageGPTConfig"], "models.informer": ["INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "InformerConfig"], "models.instructblip": [ @@ -2742,6 +2743,15 @@ "ViTPreTrainedModel", ] ) + _import_structure["models.ict"].extend( + [ + "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", + "ICTForImageClassification", + "ICTForMaskedImageModeling", + "ICTModel", + "ICTPreTrainedModel", + ] + ) _import_structure["models.vit_hybrid"].extend( [ "VIT_HYBRID_PRETRAINED_MODEL_ARCHIVE_LIST", @@ -3569,6 +3579,13 @@ "TFViTPreTrainedModel", ] ) + _import_structure["models.ict"].extend( + [ + "TFICTForImageClassification", + "TFICTModel", + "TFICTPreTrainedModel", + ] + ) _import_structure["models.vit_mae"].extend( [ "TFViTMAEForPreTraining", @@ -3898,6 +3915,7 @@ _import_structure["models.vision_encoder_decoder"].append("FlaxVisionEncoderDecoderModel") _import_structure["models.vision_text_dual_encoder"].extend(["FlaxVisionTextDualEncoderModel"]) _import_structure["models.vit"].extend(["FlaxViTForImageClassification", "FlaxViTModel", "FlaxViTPreTrainedModel"]) + _import_structure["models.ict"].extend(["FlaxICTForImageClassification", "FlaxICTModel", "FlaxICTPreTrainedModel"]) _import_structure["models.wav2vec2"].extend( ["FlaxWav2Vec2ForCTC", "FlaxWav2Vec2ForPreTraining", "FlaxWav2Vec2Model", "FlaxWav2Vec2PreTrainedModel"] ) @@ -4393,6 +4411,7 @@ from .models.vision_text_dual_encoder import VisionTextDualEncoderConfig, VisionTextDualEncoderProcessor from .models.visual_bert import VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, VisualBertConfig from .models.vit import VIT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTConfig + from .models.ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig from .models.vit_hybrid import VIT_HYBRID_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTHybridConfig from .models.vit_mae import VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMAEConfig from .models.vit_msn import VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMSNConfig @@ -6220,6 +6239,13 @@ ViTModel, ViTPreTrainedModel, ) + from .models.ict import ( + ICT_PRETRAINED_MODEL_ARCHIVE_LIST, + ICTForImageClassification, + ICTForMaskedImageModeling, + ICTModel, + ICTPreTrainedModel, + ) from .models.vit_hybrid import ( VIT_HYBRID_PRETRAINED_MODEL_ARCHIVE_LIST, ViTHybridForImageClassification, @@ -6891,6 +6917,7 @@ from .models.vision_encoder_decoder import TFVisionEncoderDecoderModel from .models.vision_text_dual_encoder import TFVisionTextDualEncoderModel from .models.vit import TFViTForImageClassification, TFViTModel, TFViTPreTrainedModel + from .models.ict import TFICTForImageClassification, TFICTModel, TFICTPreTrainedModel from .models.vit_mae import TFViTMAEForPreTraining, TFViTMAEModel, TFViTMAEPreTrainedModel from .models.wav2vec2 import ( TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST, @@ -7141,6 +7168,7 @@ from .models.vision_encoder_decoder import FlaxVisionEncoderDecoderModel from .models.vision_text_dual_encoder import FlaxVisionTextDualEncoderModel from .models.vit import FlaxViTForImageClassification, FlaxViTModel, FlaxViTPreTrainedModel + from .models.ict import FlaxICTForImageClassification, FlaxICTModel, FlaxICTPreTrainedModel from .models.wav2vec2 import ( FlaxWav2Vec2ForCTC, FlaxWav2Vec2ForPreTraining, diff --git a/src/transformers/models/__init__.py b/src/transformers/models/__init__.py index d8345c9ef8c0..be6e3caa2caf 100644 --- a/src/transformers/models/__init__.py +++ b/src/transformers/models/__init__.py @@ -98,6 +98,7 @@ herbert, hubert, ibert, + ict, imagegpt, informer, instructblip, diff --git a/src/transformers/models/auto/configuration_auto.py b/src/transformers/models/auto/configuration_auto.py index 5cbaa0705afb..f3f111d3db33 100755 --- a/src/transformers/models/auto/configuration_auto.py +++ b/src/transformers/models/auto/configuration_auto.py @@ -105,6 +105,7 @@ ("groupvit", "GroupViTConfig"), ("hubert", "HubertConfig"), ("ibert", "IBertConfig"), + ("ict", "ICTConfig"), ("imagegpt", "ImageGPTConfig"), ("informer", "InformerConfig"), ("instructblip", "InstructBlipConfig"), @@ -299,6 +300,7 @@ ("groupvit", "GROUPVIT_PRETRAINED_CONFIG_ARCHIVE_MAP"), ("hubert", "HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP"), ("ibert", "IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP"), + ("ict", "ICT_PRETRAINED_CONFIG_ARCHIVE_MAP"), ("imagegpt", "IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP"), ("informer", "INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP"), ("instructblip", "INSTRUCTBLIP_PRETRAINED_CONFIG_ARCHIVE_MAP"), @@ -495,6 +497,7 @@ ("herbert", "HerBERT"), ("hubert", "Hubert"), ("ibert", "I-BERT"), + ("ict", "ICT"), ("imagegpt", "ImageGPT"), ("informer", "Informer"), ("instructblip", "InstructBLIP"), diff --git a/src/transformers/models/auto/feature_extraction_auto.py b/src/transformers/models/auto/feature_extraction_auto.py index b100b62ac024..3d80322e9978 100644 --- a/src/transformers/models/auto/feature_extraction_auto.py +++ b/src/transformers/models/auto/feature_extraction_auto.py @@ -59,6 +59,7 @@ ("glpn", "GLPNFeatureExtractor"), ("groupvit", "CLIPFeatureExtractor"), ("hubert", "Wav2Vec2FeatureExtractor"), + ("ict", "ICTFeatureExtractor"), ("imagegpt", "ImageGPTFeatureExtractor"), ("layoutlmv2", "LayoutLMv2FeatureExtractor"), ("layoutlmv3", "LayoutLMv3FeatureExtractor"), diff --git a/src/transformers/models/auto/image_processing_auto.py b/src/transformers/models/auto/image_processing_auto.py index 7d7502670126..e73946d782d7 100644 --- a/src/transformers/models/auto/image_processing_auto.py +++ b/src/transformers/models/auto/image_processing_auto.py @@ -65,6 +65,7 @@ ("git", "CLIPImageProcessor"), ("glpn", "GLPNImageProcessor"), ("groupvit", "CLIPImageProcessor"), + ("ict", "ICTImageProcessor"), ("imagegpt", "ImageGPTImageProcessor"), ("instructblip", "BlipImageProcessor"), ("layoutlmv2", "LayoutLMv2ImageProcessor"), diff --git a/src/transformers/models/auto/modeling_auto.py b/src/transformers/models/auto/modeling_auto.py index 8bb6ea37aab2..42ad1215d159 100755 --- a/src/transformers/models/auto/modeling_auto.py +++ b/src/transformers/models/auto/modeling_auto.py @@ -103,6 +103,7 @@ ("groupvit", "GroupViTModel"), ("hubert", "HubertModel"), ("ibert", "IBertModel"), + ("ict", "ICTModel"), ("imagegpt", "ImageGPTModel"), ("informer", "InformerModel"), ("jukebox", "JukeboxModel"), @@ -422,6 +423,7 @@ [ ("deit", "DeiTForMaskedImageModeling"), ("focalnet", "FocalNetForMaskedImageModeling"), + ("ict", "ICTForMaskedImageModeling"), ("swin", "SwinForMaskedImageModeling"), ("swinv2", "Swinv2ForMaskedImageModeling"), ("vit", "ViTForMaskedImageModeling"), diff --git a/src/transformers/models/auto/modeling_flax_auto.py b/src/transformers/models/auto/modeling_flax_auto.py index 44ef84448119..248a93ec9f64 100644 --- a/src/transformers/models/auto/modeling_flax_auto.py +++ b/src/transformers/models/auto/modeling_flax_auto.py @@ -42,6 +42,7 @@ ("gpt2", "FlaxGPT2Model"), ("gpt_neo", "FlaxGPTNeoModel"), ("gptj", "FlaxGPTJModel"), + ("ict", "FlaxICTModel"), ("longt5", "FlaxLongT5Model"), ("marian", "FlaxMarianModel"), ("mbart", "FlaxMBartModel"), diff --git a/src/transformers/models/auto/modeling_tf_auto.py b/src/transformers/models/auto/modeling_tf_auto.py index ecf9b06da5c6..666eaf4028ef 100644 --- a/src/transformers/models/auto/modeling_tf_auto.py +++ b/src/transformers/models/auto/modeling_tf_auto.py @@ -57,6 +57,7 @@ ("gptj", "TFGPTJModel"), ("groupvit", "TFGroupViTModel"), ("hubert", "TFHubertModel"), + ("ict", "TFICTModel"), ("layoutlm", "TFLayoutLMModel"), ("layoutlmv3", "TFLayoutLMv3Model"), ("led", "TFLEDModel"), @@ -213,6 +214,7 @@ ("segformer", "TFSegformerForImageClassification"), ("swin", "TFSwinForImageClassification"), ("vit", "TFViTForImageClassification"), + ("ict", "TFICTForImageClassification"), ] ) diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py new file mode 100644 index 000000000000..9360dfd26319 --- /dev/null +++ b/src/transformers/models/ict/__init__.py @@ -0,0 +1,102 @@ +# Copyright 2023 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from typing import TYPE_CHECKING + +from ...utils import ( + OptionalDependencyNotAvailable, + _LazyModule, + is_flax_available, + is_tf_available, + is_torch_available, +) + + +_import_structure = {"configuration_ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ICTConfig", "ICTOnnxConfig"]} + +try: + if not is_torch_available(): + raise OptionalDependencyNotAvailable() +except OptionalDependencyNotAvailable: + pass +else: + _import_structure["modeling_ict"] = [ + "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", + "ICTForImageClassification", + "ICTForMaskedImageModeling", + "ICTModel", + "ICTPreTrainedModel", + ] + +try: + if not is_tf_available(): + raise OptionalDependencyNotAvailable() +except OptionalDependencyNotAvailable: + pass +else: + _import_structure["modeling_tf_ict"] = [ + "TFICTForImageClassification", + "TFICTModel", + "TFICTPreTrainedModel", + ] + +try: + if not is_flax_available(): + raise OptionalDependencyNotAvailable() +except OptionalDependencyNotAvailable: + pass +else: + _import_structure["modeling_flax_ict"] = [ + "FlaxICTForImageClassification", + "FlaxICTModel", + "FlaxICTPreTrainedModel", + ] + +if TYPE_CHECKING: + from .configuration_ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig, ICTOnnxConfig + + try: + if not is_torch_available(): + raise OptionalDependencyNotAvailable() + except OptionalDependencyNotAvailable: + pass + else: + from .modeling_ict import ( + ICT_PRETRAINED_MODEL_ARCHIVE_LIST, + ICTForImageClassification, + ICTForMaskedImageModeling, + ICTModel, + ICTPreTrainedModel, + ) + + try: + if not is_tf_available(): + raise OptionalDependencyNotAvailable() + except OptionalDependencyNotAvailable: + pass + else: + from .modeling_tf_ict import TFICTForImageClassification, TFICTModel, TFICTPreTrainedModel + + try: + if not is_flax_available(): + raise OptionalDependencyNotAvailable() + except OptionalDependencyNotAvailable: + pass + else: + from .modeling_flax_ict import FlaxICTForImageClassification, FlaxICTModel, FlaxICTPreTrainedModel + + +else: + import sys + + sys.modules[__name__] = _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py new file mode 100644 index 000000000000..3f87f2c8e31a --- /dev/null +++ b/src/transformers/models/ict/configuration_ict.py @@ -0,0 +1,142 @@ +# coding=utf-8 +# Copyright 2023 Google AI and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" ICT model configuration""" + +from collections import OrderedDict +from typing import Mapping + +from packaging import version + +from ...configuration_utils import PretrainedConfig +from ...onnx import OnnxConfig +from ...utils import logging + + +logger = logging.get_logger(__name__) + +ICT_PRETRAINED_CONFIG_ARCHIVE_MAP = { + "sheonhan/image-completion-transformer": "https://huggingface.co/sheonhan/image-completion-transformer/resolve/main/config.json", +} + + + +class ICTConfig(PretrainedConfig): + r""" + This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT + model according to the specified arguments, defining the model architecture. Instantiating a configuration with the + defaults will yield a similar configuration to that of the ICT + [google/ict-base-patch16-224](https://huggingface.co/google/ict-base-patch16-224) architecture. + + Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PretrainedConfig`] for more information. + + + Args: + hidden_size (`int`, *optional*, defaults to 768): + Dimensionality of the encoder layers and the pooler layer. + num_hidden_layers (`int`, *optional*, defaults to 12): + Number of hidden layers in the Transformer encoder. + num_attention_heads (`int`, *optional*, defaults to 12): + Number of attention heads for each attention layer in the Transformer encoder. + intermediate_size (`int`, *optional*, defaults to 3072): + Dimensionality of the "intermediate" (i.e., feed-forward) layer in the Transformer encoder. + hidden_act (`str` or `function`, *optional*, defaults to `"gelu"`): + The non-linear activation function (function or string) in the encoder and pooler. If string, `"gelu"`, + `"relu"`, `"selu"` and `"gelu_new"` are supported. + hidden_dropout_prob (`float`, *optional*, defaults to 0.1): + The dropout probability for all fully connected layers in the embeddings, encoder, and pooler. + attention_probs_dropout_prob (`float`, *optional*, defaults to 0.1): + The dropout ratio for the attention probabilities. + initializer_range (`float`, *optional*, defaults to 0.02): + The standard deviation of the truncated_normal_initializer for initializing all weight matrices. + layer_norm_eps (`float`, *optional*, defaults to 1e-12): + The epsilon used by the layer normalization layers. + image_size (`int`, *optional*, defaults to `224`): + The size (resolution) of each image. + patch_size (`int`, *optional*, defaults to `16`): + The size (resolution) of each patch. + num_channels (`int`, *optional*, defaults to `3`): + The number of input channels. + qkv_bias (`bool`, *optional*, defaults to `True`): + Whether to add a bias to the queries, keys and values. + encoder_stride (`int`, `optional`, defaults to 16): + Factor to increase the spatial resolution by in the decoder head for masked image modeling. + + Example: + + ```python + >>> from transformers import ICTConfig, ICTModel + + >>> # Initializing a ICT ict-base-patch16-224 style configuration + >>> configuration = ICTConfig() + + >>> # Initializing a model (with random weights) from the ict-base-patch16-224 style configuration + >>> model = ICTModel(configuration) + + >>> # Accessing the model configuration + >>> configuration = model.config + ```""" + model_type = "ict" + + def __init__( + self, + hidden_size=768, + num_hidden_layers=12, + num_attention_heads=12, + intermediate_size=3072, + hidden_act="gelu", + hidden_dropout_prob=0.0, + attention_probs_dropout_prob=0.0, + initializer_range=0.02, + layer_norm_eps=1e-12, + image_size=224, + patch_size=16, + num_channels=3, + qkv_bias=True, + encoder_stride=16, + **kwargs, + ): + super().__init__(**kwargs) + + self.hidden_size = hidden_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.intermediate_size = intermediate_size + self.hidden_act = hidden_act + self.hidden_dropout_prob = hidden_dropout_prob + self.attention_probs_dropout_prob = attention_probs_dropout_prob + self.initializer_range = initializer_range + self.layer_norm_eps = layer_norm_eps + self.image_size = image_size + self.patch_size = patch_size + self.num_channels = num_channels + self.qkv_bias = qkv_bias + self.encoder_stride = encoder_stride + + +class ICTOnnxConfig(OnnxConfig): + torch_onnx_minimum_version = version.parse("1.11") + + @property + def inputs(self) -> Mapping[str, Mapping[int, str]]: + return OrderedDict( + [ + ("pixel_values", {0: "batch", 1: "num_channels", 2: "height", 3: "width"}), + ] + ) + + @property + def atol_for_validation(self) -> float: + return 1e-4 diff --git a/src/transformers/models/ict/convert_dino_to_pytorch.py b/src/transformers/models/ict/convert_dino_to_pytorch.py new file mode 100644 index 000000000000..bb6a20d35fe0 --- /dev/null +++ b/src/transformers/models/ict/convert_dino_to_pytorch.py @@ -0,0 +1,219 @@ +# coding=utf-8 +# Copyright 2023 The HuggingFace Inc. team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Convert ICT checkpoints trained with the DINO method.""" + + +import argparse +import json +from pathlib import Path + +import requests +import torch +from huggingface_hub import hf_hub_download +from PIL import Image + +from transformers import ICTConfig, ViTFeatureExtractor, ICTForImageClassification, ICTModel +from transformers.utils import logging + + +logging.set_verbosity_info() +logger = logging.get_logger(__name__) + + +# here we list all keys to be renamed (original name on the left, our name on the right) +def create_rename_keys(config, base_model=False): + rename_keys = [] + for i in range(config.num_hidden_layers): + # encoder layers: output projection, 2 feedforward neural networks and 2 layernorms + rename_keys.append((f"blocks.{i}.norm1.weight", f"ict.encoder.layer.{i}.layernorm_before.weight")) + rename_keys.append((f"blocks.{i}.norm1.bias", f"ict.encoder.layer.{i}.layernorm_before.bias")) + rename_keys.append((f"blocks.{i}.attn.proj.weight", f"ict.encoder.layer.{i}.attention.output.dense.weight")) + rename_keys.append((f"blocks.{i}.attn.proj.bias", f"ict.encoder.layer.{i}.attention.output.dense.bias")) + rename_keys.append((f"blocks.{i}.norm2.weight", f"ict.encoder.layer.{i}.layernorm_after.weight")) + rename_keys.append((f"blocks.{i}.norm2.bias", f"ict.encoder.layer.{i}.layernorm_after.bias")) + rename_keys.append((f"blocks.{i}.mlp.fc1.weight", f"ict.encoder.layer.{i}.intermediate.dense.weight")) + rename_keys.append((f"blocks.{i}.mlp.fc1.bias", f"ict.encoder.layer.{i}.intermediate.dense.bias")) + rename_keys.append((f"blocks.{i}.mlp.fc2.weight", f"ict.encoder.layer.{i}.output.dense.weight")) + rename_keys.append((f"blocks.{i}.mlp.fc2.bias", f"ict.encoder.layer.{i}.output.dense.bias")) + + # projection layer + position embeddings + rename_keys.extend( + [ + ("cls_token", "ict.embeddings.cls_token"), + ("patch_embed.proj.weight", "ict.embeddings.patch_embeddings.projection.weight"), + ("patch_embed.proj.bias", "ict.embeddings.patch_embeddings.projection.bias"), + ("pos_embed", "ict.embeddings.position_embeddings"), + ] + ) + + if base_model: + # layernorm + pooler + rename_keys.extend( + [ + ("norm.weight", "layernorm.weight"), + ("norm.bias", "layernorm.bias"), + ] + ) + + # if just the base model, we should remove "ict" from all keys that start with "ict" + rename_keys = [(pair[0], pair[1][4:]) if pair[1].startswith("ict") else pair for pair in rename_keys] + else: + # layernorm + classification head + rename_keys.extend( + [ + ("norm.weight", "ict.layernorm.weight"), + ("norm.bias", "ict.layernorm.bias"), + ("head.weight", "classifier.weight"), + ("head.bias", "classifier.bias"), + ] + ) + + return rename_keys + + +# we split up the matrix of each encoder layer into queries, keys and values +def read_in_q_k_v(state_dict, config, base_model=False): + for i in range(config.num_hidden_layers): + if base_model: + prefix = "" + else: + prefix = "ict." + # read in weights + bias of input projection layer (in timm, this is a single matrix + bias) + in_proj_weight = state_dict.pop(f"blocks.{i}.attn.qkv.weight") + in_proj_bias = state_dict.pop(f"blocks.{i}.attn.qkv.bias") + # next, add query, keys and values (in that order) to the state dict + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.weight"] = in_proj_weight[ + : config.hidden_size, : + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.bias"] = in_proj_bias[: config.hidden_size] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.weight"] = in_proj_weight[ + config.hidden_size : config.hidden_size * 2, : + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.bias"] = in_proj_bias[ + config.hidden_size : config.hidden_size * 2 + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.weight"] = in_proj_weight[ + -config.hidden_size :, : + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.bias"] = in_proj_bias[-config.hidden_size :] + + +def remove_classification_head_(state_dict): + ignore_keys = ["head.weight", "head.bias"] + for k in ignore_keys: + state_dict.pop(k, None) + + +def rename_key(dct, old, new): + val = dct.pop(old) + dct[new] = val + + +# We will verify our results on an image of cute cats +def prepare_img(): + url = "http://images.cocodataset.org/val2017/000000039769.jpg" + im = Image.open(requests.get(url, stream=True).raw) + return im + + +@torch.no_grad() +def convert_ict_checkpoint(model_name, pytorch_dump_folder_path, base_model=True): + """ + Copy/paste/tweak model's weights to our ICT structure. + """ + + # define default ICT configuration + config = ICTConfig() + # patch_size + if model_name[-1] == "8": + config.patch_size = 8 + # set labels if required + if not base_model: + config.num_labels = 1000 + repo_id = "huggingface/label-files" + filename = "imagenet-1k-id2label.json" + id2label = json.load(open(hf_hub_download(repo_id, filename, repo_type="dataset"), "r")) + id2label = {int(k): v for k, v in id2label.items()} + config.id2label = id2label + config.label2id = {v: k for k, v in id2label.items()} + # size of the architecture + if model_name in ["dino_icts8", "dino_icts16"]: + config.hidden_size = 384 + config.intermediate_size = 1536 + config.num_hidden_layers = 12 + config.num_attention_heads = 6 + + # load original model from torch hub + original_model = torch.hub.load("facebookresearch/dino:main", model_name) + original_model.eval() + + # load state_dict of original model, remove and rename some keys + state_dict = original_model.state_dict() + if base_model: + remove_classification_head_(state_dict) + rename_keys = create_rename_keys(config, base_model=base_model) + for src, dest in rename_keys: + rename_key(state_dict, src, dest) + read_in_q_k_v(state_dict, config, base_model) + + # load HuggingFace model + if base_model: + model = ICTModel(config, add_pooling_layer=False).eval() + else: + model = ICTForImageClassification(config).eval() + model.load_state_dict(state_dict) + + # Check outputs on an image, prepared by ViTFeatureExtractor + feature_extractor = ViTFeatureExtractor() + encoding = feature_extractor(images=prepare_img(), return_tensors="pt") + pixel_values = encoding["pixel_values"] + outputs = model(pixel_values) + + if base_model: + final_hidden_state_cls_token = original_model(pixel_values) + assert torch.allclose(final_hidden_state_cls_token, outputs.last_hidden_state[:, 0, :], atol=1e-1) + else: + logits = original_model(pixel_values) + assert logits.shape == outputs.logits.shape + assert torch.allclose(logits, outputs.logits, atol=1e-3) + + Path(pytorch_dump_folder_path).mkdir(exist_ok=True) + print(f"Saving model {model_name} to {pytorch_dump_folder_path}") + model.save_pretrained(pytorch_dump_folder_path) + print(f"Saving feature extractor to {pytorch_dump_folder_path}") + feature_extractor.save_pretrained(pytorch_dump_folder_path) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + # Required parameters + parser.add_argument( + "--model_name", + default="dino_ictb16", + type=str, + help="Name of the model trained with DINO you'd like to convert.", + ) + parser.add_argument( + "--pytorch_dump_folder_path", default=None, type=str, help="Path to the output PyTorch model directory." + ) + parser.add_argument( + "--base_model", + action="store_true", + help="Whether to only convert the base model (no projection head weights).", + ) + + parser.set_defaults(base_model=True) + args = parser.parse_args() + convert_ict_checkpoint(args.model_name, args.pytorch_dump_folder_path, args.base_model) diff --git a/src/transformers/models/ict/convert_ict_timm_to_pytorch.py b/src/transformers/models/ict/convert_ict_timm_to_pytorch.py new file mode 100644 index 000000000000..98fde2f9e312 --- /dev/null +++ b/src/transformers/models/ict/convert_ict_timm_to_pytorch.py @@ -0,0 +1,250 @@ +# coding=utf-8 +# Copyright 2023 The HuggingFace Inc. team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Convert ICT and non-distilled DeiT checkpoints from the timm library.""" + + +import argparse +import json +from pathlib import Path + +import requests +import timm +import torch +from huggingface_hub import hf_hub_download +from PIL import Image + +from transformers import DeiTFeatureExtractor, ICTConfig, ViTFeatureExtractor, ICTForImageClassification, ICTModel +from transformers.utils import logging + + +logging.set_verbosity_info() +logger = logging.get_logger(__name__) + + +# here we list all keys to be renamed (original name on the left, our name on the right) +def create_rename_keys(config, base_model=False): + rename_keys = [] + for i in range(config.num_hidden_layers): + # encoder layers: output projection, 2 feedforward neural networks and 2 layernorms + rename_keys.append((f"blocks.{i}.norm1.weight", f"ict.encoder.layer.{i}.layernorm_before.weight")) + rename_keys.append((f"blocks.{i}.norm1.bias", f"ict.encoder.layer.{i}.layernorm_before.bias")) + rename_keys.append((f"blocks.{i}.attn.proj.weight", f"ict.encoder.layer.{i}.attention.output.dense.weight")) + rename_keys.append((f"blocks.{i}.attn.proj.bias", f"ict.encoder.layer.{i}.attention.output.dense.bias")) + rename_keys.append((f"blocks.{i}.norm2.weight", f"ict.encoder.layer.{i}.layernorm_after.weight")) + rename_keys.append((f"blocks.{i}.norm2.bias", f"ict.encoder.layer.{i}.layernorm_after.bias")) + rename_keys.append((f"blocks.{i}.mlp.fc1.weight", f"ict.encoder.layer.{i}.intermediate.dense.weight")) + rename_keys.append((f"blocks.{i}.mlp.fc1.bias", f"ict.encoder.layer.{i}.intermediate.dense.bias")) + rename_keys.append((f"blocks.{i}.mlp.fc2.weight", f"ict.encoder.layer.{i}.output.dense.weight")) + rename_keys.append((f"blocks.{i}.mlp.fc2.bias", f"ict.encoder.layer.{i}.output.dense.bias")) + + # projection layer + position embeddings + rename_keys.extend( + [ + ("cls_token", "ict.embeddings.cls_token"), + ("patch_embed.proj.weight", "ict.embeddings.patch_embeddings.projection.weight"), + ("patch_embed.proj.bias", "ict.embeddings.patch_embeddings.projection.bias"), + ("pos_embed", "ict.embeddings.position_embeddings"), + ] + ) + + if base_model: + # layernorm + pooler + rename_keys.extend( + [ + ("norm.weight", "layernorm.weight"), + ("norm.bias", "layernorm.bias"), + ("pre_logits.fc.weight", "pooler.dense.weight"), + ("pre_logits.fc.bias", "pooler.dense.bias"), + ] + ) + + # if just the base model, we should remove "ict" from all keys that start with "ict" + rename_keys = [(pair[0], pair[1][4:]) if pair[1].startswith("ict") else pair for pair in rename_keys] + else: + # layernorm + classification head + rename_keys.extend( + [ + ("norm.weight", "ict.layernorm.weight"), + ("norm.bias", "ict.layernorm.bias"), + ("head.weight", "classifier.weight"), + ("head.bias", "classifier.bias"), + ] + ) + + return rename_keys + + +# we split up the matrix of each encoder layer into queries, keys and values +def read_in_q_k_v(state_dict, config, base_model=False): + for i in range(config.num_hidden_layers): + if base_model: + prefix = "" + else: + prefix = "ict." + # read in weights + bias of input projection layer (in timm, this is a single matrix + bias) + in_proj_weight = state_dict.pop(f"blocks.{i}.attn.qkv.weight") + in_proj_bias = state_dict.pop(f"blocks.{i}.attn.qkv.bias") + # next, add query, keys and values (in that order) to the state dict + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.weight"] = in_proj_weight[ + : config.hidden_size, : + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.bias"] = in_proj_bias[: config.hidden_size] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.weight"] = in_proj_weight[ + config.hidden_size : config.hidden_size * 2, : + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.bias"] = in_proj_bias[ + config.hidden_size : config.hidden_size * 2 + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.weight"] = in_proj_weight[ + -config.hidden_size :, : + ] + state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.bias"] = in_proj_bias[-config.hidden_size :] + + +def remove_classification_head_(state_dict): + ignore_keys = ["head.weight", "head.bias"] + for k in ignore_keys: + state_dict.pop(k, None) + + +def rename_key(dct, old, new): + val = dct.pop(old) + dct[new] = val + + +# We will verify our results on an image of cute cats +def prepare_img(): + url = "http://images.cocodataset.org/val2017/000000039769.jpg" + im = Image.open(requests.get(url, stream=True).raw) + return im + + +@torch.no_grad() +def convert_ict_checkpoint(ict_name, pytorch_dump_folder_path): + """ + Copy/paste/tweak model's weights to our ICT structure. + """ + + # define default ICT configuration + config = ICTConfig() + base_model = False + # dataset (ImageNet-21k only or also fine-tuned on ImageNet 2012), patch_size and image_size + if ict_name[-5:] == "in21k": + base_model = True + config.patch_size = int(ict_name[-12:-10]) + config.image_size = int(ict_name[-9:-6]) + else: + config.num_labels = 1000 + repo_id = "huggingface/label-files" + filename = "imagenet-1k-id2label.json" + id2label = json.load(open(hf_hub_download(repo_id, filename, repo_type="dataset"), "r")) + id2label = {int(k): v for k, v in id2label.items()} + config.id2label = id2label + config.label2id = {v: k for k, v in id2label.items()} + config.patch_size = int(ict_name[-6:-4]) + config.image_size = int(ict_name[-3:]) + # size of the architecture + if "deit" in ict_name: + if ict_name[9:].startswith("tiny"): + config.hidden_size = 192 + config.intermediate_size = 768 + config.num_hidden_layers = 12 + config.num_attention_heads = 3 + elif ict_name[9:].startswith("small"): + config.hidden_size = 384 + config.intermediate_size = 1536 + config.num_hidden_layers = 12 + config.num_attention_heads = 6 + else: + pass + else: + if ict_name[4:].startswith("small"): + config.hidden_size = 768 + config.intermediate_size = 2304 + config.num_hidden_layers = 8 + config.num_attention_heads = 8 + elif ict_name[4:].startswith("base"): + pass + elif ict_name[4:].startswith("large"): + config.hidden_size = 1024 + config.intermediate_size = 4096 + config.num_hidden_layers = 24 + config.num_attention_heads = 16 + elif ict_name[4:].startswith("huge"): + config.hidden_size = 1280 + config.intermediate_size = 5120 + config.num_hidden_layers = 32 + config.num_attention_heads = 16 + + # load original model from timm + timm_model = timm.create_model(ict_name, pretrained=True) + timm_model.eval() + + # load state_dict of original model, remove and rename some keys + state_dict = timm_model.state_dict() + if base_model: + remove_classification_head_(state_dict) + rename_keys = create_rename_keys(config, base_model) + for src, dest in rename_keys: + rename_key(state_dict, src, dest) + read_in_q_k_v(state_dict, config, base_model) + + # load HuggingFace model + if ict_name[-5:] == "in21k": + model = ICTModel(config).eval() + else: + model = ICTForImageClassification(config).eval() + model.load_state_dict(state_dict) + + # Check outputs on an image, prepared by ViTFeatureExtractor/DeiTFeatureExtractor + if "deit" in ict_name: + feature_extractor = DeiTFeatureExtractor(size=config.image_size) + else: + feature_extractor = ViTFeatureExtractor(size=config.image_size) + encoding = feature_extractor(images=prepare_img(), return_tensors="pt") + pixel_values = encoding["pixel_values"] + outputs = model(pixel_values) + + if base_model: + timm_pooled_output = timm_model.forward_features(pixel_values) + assert timm_pooled_output.shape == outputs.pooler_output.shape + assert torch.allclose(timm_pooled_output, outputs.pooler_output, atol=1e-3) + else: + timm_logits = timm_model(pixel_values) + assert timm_logits.shape == outputs.logits.shape + assert torch.allclose(timm_logits, outputs.logits, atol=1e-3) + + Path(pytorch_dump_folder_path).mkdir(exist_ok=True) + print(f"Saving model {ict_name} to {pytorch_dump_folder_path}") + model.save_pretrained(pytorch_dump_folder_path) + print(f"Saving feature extractor to {pytorch_dump_folder_path}") + feature_extractor.save_pretrained(pytorch_dump_folder_path) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + # Required parameters + parser.add_argument( + "--ict_name", + default="ict_base_patch16_224", + type=str, + help="Name of the ICT timm model you'd like to convert.", + ) + parser.add_argument( + "--pytorch_dump_folder_path", default=None, type=str, help="Path to the output PyTorch model directory." + ) + + args = parser.parse_args() + convert_ict_checkpoint(args.ict_name, args.pytorch_dump_folder_path) diff --git a/src/transformers/models/ict/modeling_flax_ict.py b/src/transformers/models/ict/modeling_flax_ict.py new file mode 100644 index 000000000000..e3cbf5050551 --- /dev/null +++ b/src/transformers/models/ict/modeling_flax_ict.py @@ -0,0 +1,688 @@ +# coding=utf-8 +# Copyright 2023 The Google Flax Team Authors and The HuggingFace Inc. team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import Optional, Tuple + +import flax.linen as nn +import jax +import jax.numpy as jnp +from flax.core.frozen_dict import FrozenDict, freeze, unfreeze +from flax.linen.attention import dot_product_attention_weights +from flax.traverse_util import flatten_dict, unflatten_dict + +from ...modeling_flax_outputs import FlaxBaseModelOutput, FlaxBaseModelOutputWithPooling, FlaxSequenceClassifierOutput +from ...modeling_flax_utils import ( + ACT2FN, + FlaxPreTrainedModel, + append_replace_return_docstrings, + overwrite_call_docstring, +) +from ...utils import add_start_docstrings, add_start_docstrings_to_model_forward +from .configuration_ict import ICTConfig + + +ICT_START_DOCSTRING = r""" + + This model inherits from [`FlaxPreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading, saving and converting weights from PyTorch models) + + This model is also a Flax Linen [flax.linen.Module](https://flax.readthedocs.io/en/latest/flax.linen.html#module) + subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to + general usage and behavior. + + Finally, this model supports inherent JAX features such as: + + - [Just-In-Time (JIT) compilation](https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit) + - [Automatic Differentiation](https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation) + - [Vectorization](https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap) + - [Parallelization](https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap) + + Parameters: + config ([`ICTConfig`]): Model configuration class with all the parameters of the model. + Initializing with a config file does not load the weights associated with the model, only the + configuration. Check out the [`~FlaxPreTrainedModel.from_pretrained`] method to load the model weights. + dtype (`jax.numpy.dtype`, *optional*, defaults to `jax.numpy.float32`): + The data type of the computation. Can be one of `jax.numpy.float32`, `jax.numpy.float16` (on GPUs) and + `jax.numpy.bfloat16` (on TPUs). + + This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If + specified all the computation will be performed with the given `dtype`. + + **Note that this only specifies the dtype of the computation and does not influence the dtype of model + parameters.** + + If you wish to change the dtype of the model parameters, see [`~FlaxPreTrainedModel.to_fp16`] and + [`~FlaxPreTrainedModel.to_bf16`]. +""" + +ICT_INPUTS_DOCSTRING = r""" + Args: + pixel_values (`numpy.ndarray` of shape `(batch_size, num_channels, height, width)`): + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ViTImageProcessor.__call__`] + for details. + + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. +""" + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTPatchEmbeddings with ViT->ICT +class FlaxICTPatchEmbeddings(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + image_size = self.config.image_size + patch_size = self.config.patch_size + num_patches = (image_size // patch_size) * (image_size // patch_size) + self.num_patches = num_patches + self.num_channels = self.config.num_channels + self.projection = nn.Conv( + self.config.hidden_size, + kernel_size=(patch_size, patch_size), + strides=(patch_size, patch_size), + padding="VALID", + dtype=self.dtype, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, "fan_in", "truncated_normal" + ), + ) + + def __call__(self, pixel_values): + num_channels = pixel_values.shape[-1] + if num_channels != self.num_channels: + raise ValueError( + "Make sure that the channel dimension of the pixel values match with the one set in the configuration." + ) + embeddings = self.projection(pixel_values) + batch_size, _, _, channels = embeddings.shape + return jnp.reshape(embeddings, (batch_size, -1, channels)) + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTEmbeddings with ViT->ICT +class FlaxICTEmbeddings(nn.Module): + """Construct the CLS token, position and patch embeddings.""" + + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.cls_token = self.param( + "cls_token", + jax.nn.initializers.variance_scaling(self.config.initializer_range**2, "fan_in", "truncated_normal"), + (1, 1, self.config.hidden_size), + ) + self.patch_embeddings = FlaxICTPatchEmbeddings(self.config, dtype=self.dtype) + num_patches = self.patch_embeddings.num_patches + self.position_embeddings = self.param( + "position_embeddings", + jax.nn.initializers.variance_scaling(self.config.initializer_range**2, "fan_in", "truncated_normal"), + (1, num_patches + 1, self.config.hidden_size), + ) + self.dropout = nn.Dropout(rate=self.config.hidden_dropout_prob) + + def __call__(self, pixel_values, deterministic=True): + batch_size = pixel_values.shape[0] + + embeddings = self.patch_embeddings(pixel_values) + + cls_tokens = jnp.broadcast_to(self.cls_token, (batch_size, 1, self.config.hidden_size)) + embeddings = jnp.concatenate((cls_tokens, embeddings), axis=1) + embeddings = embeddings + self.position_embeddings + embeddings = self.dropout(embeddings, deterministic=deterministic) + return embeddings + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTSelfAttention with ViT->ICT +class FlaxICTSelfAttention(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + if self.config.hidden_size % self.config.num_attention_heads != 0: + raise ValueError( + "`config.hidden_size`: {self.config.hidden_size} has to be a multiple of `config.num_attention_heads`:" + " {self.config.num_attention_heads}" + ) + + self.query = nn.Dense( + self.config.hidden_size, + dtype=self.dtype, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, mode="fan_in", distribution="truncated_normal" + ), + use_bias=self.config.qkv_bias, + ) + self.key = nn.Dense( + self.config.hidden_size, + dtype=self.dtype, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, mode="fan_in", distribution="truncated_normal" + ), + use_bias=self.config.qkv_bias, + ) + self.value = nn.Dense( + self.config.hidden_size, + dtype=self.dtype, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, mode="fan_in", distribution="truncated_normal" + ), + use_bias=self.config.qkv_bias, + ) + + def __call__(self, hidden_states, deterministic: bool = True, output_attentions: bool = False): + head_dim = self.config.hidden_size // self.config.num_attention_heads + + query_states = self.query(hidden_states).reshape( + hidden_states.shape[:2] + (self.config.num_attention_heads, head_dim) + ) + value_states = self.value(hidden_states).reshape( + hidden_states.shape[:2] + (self.config.num_attention_heads, head_dim) + ) + key_states = self.key(hidden_states).reshape( + hidden_states.shape[:2] + (self.config.num_attention_heads, head_dim) + ) + + dropout_rng = None + if not deterministic and self.config.attention_probs_dropout_prob > 0.0: + dropout_rng = self.make_rng("dropout") + + attn_weights = dot_product_attention_weights( + query_states, + key_states, + dropout_rng=dropout_rng, + dropout_rate=self.config.attention_probs_dropout_prob, + broadcast_dropout=True, + deterministic=deterministic, + dtype=self.dtype, + precision=None, + ) + + attn_output = jnp.einsum("...hqk,...khd->...qhd", attn_weights, value_states) + attn_output = attn_output.reshape(attn_output.shape[:2] + (-1,)) + + outputs = (attn_output, attn_weights) if output_attentions else (attn_output,) + return outputs + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTSelfOutput with ViT->ICT +class FlaxICTSelfOutput(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.dense = nn.Dense( + self.config.hidden_size, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, "fan_in", "truncated_normal" + ), + dtype=self.dtype, + ) + self.dropout = nn.Dropout(rate=self.config.hidden_dropout_prob) + + def __call__(self, hidden_states, input_tensor, deterministic: bool = True): + hidden_states = self.dense(hidden_states) + hidden_states = self.dropout(hidden_states, deterministic=deterministic) + return hidden_states + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTAttention with ViT->ICT +class FlaxICTAttention(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 + + def setup(self): + self.attention = FlaxICTSelfAttention(self.config, dtype=self.dtype) + self.output = FlaxICTSelfOutput(self.config, dtype=self.dtype) + + def __call__(self, hidden_states, deterministic=True, output_attentions: bool = False): + attn_outputs = self.attention(hidden_states, deterministic=deterministic, output_attentions=output_attentions) + attn_output = attn_outputs[0] + hidden_states = self.output(attn_output, hidden_states, deterministic=deterministic) + + outputs = (hidden_states,) + + if output_attentions: + outputs += (attn_outputs[1],) + + return outputs + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTIntermediate with ViT->ICT +class FlaxICTIntermediate(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.dense = nn.Dense( + self.config.intermediate_size, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, "fan_in", "truncated_normal" + ), + dtype=self.dtype, + ) + self.activation = ACT2FN[self.config.hidden_act] + + def __call__(self, hidden_states): + hidden_states = self.dense(hidden_states) + hidden_states = self.activation(hidden_states) + return hidden_states + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTOutput with ViT->ICT +class FlaxICTOutput(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.dense = nn.Dense( + self.config.hidden_size, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, "fan_in", "truncated_normal" + ), + dtype=self.dtype, + ) + self.dropout = nn.Dropout(rate=self.config.hidden_dropout_prob) + + def __call__(self, hidden_states, attention_output, deterministic: bool = True): + hidden_states = self.dense(hidden_states) + hidden_states = self.dropout(hidden_states, deterministic=deterministic) + hidden_states = hidden_states + attention_output + return hidden_states + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTLayer with ViT->ICT +class FlaxICTLayer(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.attention = FlaxICTAttention(self.config, dtype=self.dtype) + self.intermediate = FlaxICTIntermediate(self.config, dtype=self.dtype) + self.output = FlaxICTOutput(self.config, dtype=self.dtype) + self.layernorm_before = nn.LayerNorm(epsilon=self.config.layer_norm_eps, dtype=self.dtype) + self.layernorm_after = nn.LayerNorm(epsilon=self.config.layer_norm_eps, dtype=self.dtype) + + def __call__(self, hidden_states, deterministic: bool = True, output_attentions: bool = False): + attention_outputs = self.attention( + self.layernorm_before(hidden_states), # in ICT, layernorm is applied before self-attention + deterministic=deterministic, + output_attentions=output_attentions, + ) + + attention_output = attention_outputs[0] + + # first residual connection + attention_output = attention_output + hidden_states + + # in ICT, layernorm is also applied after self-attention + layer_output = self.layernorm_after(attention_output) + + hidden_states = self.intermediate(layer_output) + hidden_states = self.output(hidden_states, attention_output, deterministic=deterministic) + + outputs = (hidden_states,) + + if output_attentions: + outputs += (attention_outputs[1],) + return outputs + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTLayerCollection with ViT->ICT +class FlaxICTLayerCollection(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.layers = [ + FlaxICTLayer(self.config, name=str(i), dtype=self.dtype) for i in range(self.config.num_hidden_layers) + ] + + def __call__( + self, + hidden_states, + deterministic: bool = True, + output_attentions: bool = False, + output_hidden_states: bool = False, + return_dict: bool = True, + ): + all_attentions = () if output_attentions else None + all_hidden_states = () if output_hidden_states else None + + for i, layer in enumerate(self.layers): + if output_hidden_states: + all_hidden_states += (hidden_states,) + + layer_outputs = layer(hidden_states, deterministic=deterministic, output_attentions=output_attentions) + + hidden_states = layer_outputs[0] + + if output_attentions: + all_attentions += (layer_outputs[1],) + + if output_hidden_states: + all_hidden_states += (hidden_states,) + + outputs = (hidden_states,) + if not return_dict: + return tuple(v for v in outputs if v is not None) + + return FlaxBaseModelOutput( + last_hidden_state=hidden_states, hidden_states=all_hidden_states, attentions=all_attentions + ) + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTEncoder with ViT->ICT +class FlaxICTEncoder(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.layer = FlaxICTLayerCollection(self.config, dtype=self.dtype) + + def __call__( + self, + hidden_states, + deterministic: bool = True, + output_attentions: bool = False, + output_hidden_states: bool = False, + return_dict: bool = True, + ): + return self.layer( + hidden_states, + deterministic=deterministic, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTPooler with ViT->ICT +class FlaxICTPooler(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + + def setup(self): + self.dense = nn.Dense( + self.config.hidden_size, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, "fan_in", "truncated_normal" + ), + dtype=self.dtype, + ) + + def __call__(self, hidden_states): + cls_hidden_state = hidden_states[:, 0] + cls_hidden_state = self.dense(cls_hidden_state) + return nn.tanh(cls_hidden_state) + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTPreTrainedModel with VIT->ICT,ViT->ICT,vit->ict +class FlaxICTPreTrainedModel(FlaxPreTrainedModel): + """ + An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained + models. + """ + + config_class = ICTConfig + base_model_prefix = "ict" + main_input_name = "pixel_values" + module_class: nn.Module = None + + def __init__( + self, + config: ICTConfig, + input_shape=None, + seed: int = 0, + dtype: jnp.dtype = jnp.float32, + _do_init: bool = True, + **kwargs, + ): + module = self.module_class(config=config, dtype=dtype, **kwargs) + if input_shape is None: + input_shape = (1, config.image_size, config.image_size, config.num_channels) + super().__init__(config, module, input_shape=input_shape, seed=seed, dtype=dtype, _do_init=_do_init) + + def init_weights(self, rng: jax.random.PRNGKey, input_shape: Tuple, params: FrozenDict = None) -> FrozenDict: + # init input tensors + pixel_values = jnp.zeros(input_shape, dtype=self.dtype) + + params_rng, dropout_rng = jax.random.split(rng) + rngs = {"params": params_rng, "dropout": dropout_rng} + + random_params = self.module.init(rngs, pixel_values, return_dict=False)["params"] + + if params is not None: + random_params = flatten_dict(unfreeze(random_params)) + params = flatten_dict(unfreeze(params)) + for missing_key in self._missing_keys: + params[missing_key] = random_params[missing_key] + self._missing_keys = set() + return freeze(unflatten_dict(params)) + else: + return random_params + + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING.format("batch_size, sequence_length")) + def __call__( + self, + pixel_values, + params: dict = None, + dropout_rng: jax.random.PRNGKey = None, + train: bool = False, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ): + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + return_dict = return_dict if return_dict is not None else self.config.return_dict + + pixel_values = jnp.transpose(pixel_values, (0, 2, 3, 1)) + # Handle any PRNG if needed + rngs = {} + if dropout_rng is not None: + rngs["dropout"] = dropout_rng + + return self.module.apply( + {"params": params or self.params}, + jnp.array(pixel_values, dtype=jnp.float32), + not train, + output_attentions, + output_hidden_states, + return_dict, + rngs=rngs, + ) + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTModule with ViT->ICT +class FlaxICTModule(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 # the dtype of the computation + add_pooling_layer: bool = True + + def setup(self): + self.embeddings = FlaxICTEmbeddings(self.config, dtype=self.dtype) + self.encoder = FlaxICTEncoder(self.config, dtype=self.dtype) + self.layernorm = nn.LayerNorm(epsilon=self.config.layer_norm_eps, dtype=self.dtype) + self.pooler = FlaxICTPooler(self.config, dtype=self.dtype) if self.add_pooling_layer else None + + def __call__( + self, + pixel_values, + deterministic: bool = True, + output_attentions: bool = False, + output_hidden_states: bool = False, + return_dict: bool = True, + ): + hidden_states = self.embeddings(pixel_values, deterministic=deterministic) + + outputs = self.encoder( + hidden_states, + deterministic=deterministic, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + hidden_states = outputs[0] + hidden_states = self.layernorm(hidden_states) + pooled = self.pooler(hidden_states) if self.add_pooling_layer else None + + if not return_dict: + # if pooled is None, don't return it + if pooled is None: + return (hidden_states,) + outputs[1:] + return (hidden_states, pooled) + outputs[1:] + + return FlaxBaseModelOutputWithPooling( + last_hidden_state=hidden_states, + pooler_output=pooled, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + +@add_start_docstrings( + "The bare ICT Model transformer outputting raw hidden-states without any specific head on top.", + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTModel with ViT->ICT +class FlaxICTModel(FlaxICTPreTrainedModel): + module_class = FlaxICTModule + + +FLAX_VISION_MODEL_DOCSTRING = """ + Returns: + + Examples: + + ```python + >>> from transformers import AutoImageProcessor, FlaxICTModel + >>> from PIL import Image + >>> import requests + + >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" + >>> image = Image.open(requests.get(url, stream=True).raw) + + >>> image_processor = AutoImageProcessor.from_pretrained("sheonhan/image-completion-transformer") + >>> model = FlaxICTModel.from_pretrained("sheonhan/image-completion-transformer") + + >>> inputs = image_processor(images=image, return_tensors="np") + >>> outputs = model(**inputs) + >>> last_hidden_states = outputs.last_hidden_state + ``` +""" + +overwrite_call_docstring(FlaxICTModel, FLAX_VISION_MODEL_DOCSTRING) +append_replace_return_docstrings(FlaxICTModel, output_type=FlaxBaseModelOutputWithPooling, config_class=ICTConfig) + + +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTForImageClassificationModule with ViT->ICT,vit->ict +class FlaxICTForImageClassificationModule(nn.Module): + config: ICTConfig + dtype: jnp.dtype = jnp.float32 + + def setup(self): + self.ict = FlaxICTModule(config=self.config, dtype=self.dtype, add_pooling_layer=False) + self.classifier = nn.Dense( + self.config.num_labels, + dtype=self.dtype, + kernel_init=jax.nn.initializers.variance_scaling( + self.config.initializer_range**2, "fan_in", "truncated_normal" + ), + ) + + def __call__( + self, + pixel_values=None, + deterministic: bool = True, + output_attentions=None, + output_hidden_states=None, + return_dict=None, + ): + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + outputs = self.ict( + pixel_values, + deterministic=deterministic, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + + hidden_states = outputs[0] + logits = self.classifier(hidden_states[:, 0, :]) + + if not return_dict: + output = (logits,) + outputs[2:] + return output + + return FlaxSequenceClassifierOutput( + logits=logits, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + +@add_start_docstrings( + """ + ICT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of + the [CLS] token) e.g. for ImageNet. + """, + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTForImageClassification with ViT->ICT +class FlaxICTForImageClassification(FlaxICTPreTrainedModel): + module_class = FlaxICTForImageClassificationModule + + +FLAX_VISION_CLASSIF_DOCSTRING = """ + Returns: + + Example: + + ```python + >>> from transformers import AutoImageProcessor, FlaxICTForImageClassification + >>> from PIL import Image + >>> import jax + >>> import requests + + >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" + >>> image = Image.open(requests.get(url, stream=True).raw) + + >>> image_processor = AutoImageProcessor.from_pretrained("google/ict-base-patch16-224") + >>> model = FlaxICTForImageClassification.from_pretrained("google/ict-base-patch16-224") + + >>> inputs = image_processor(images=image, return_tensors="np") + >>> outputs = model(**inputs) + >>> logits = outputs.logits + + >>> # model predicts one of the 1000 ImageNet classes + >>> predicted_class_idx = jax.numpy.argmax(logits, axis=-1) + >>> print("Predicted class:", model.config.id2label[predicted_class_idx.item()]) + ``` +""" + +overwrite_call_docstring(FlaxICTForImageClassification, FLAX_VISION_CLASSIF_DOCSTRING) +append_replace_return_docstrings( + FlaxICTForImageClassification, output_type=FlaxSequenceClassifierOutput, config_class=ICTConfig +) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py new file mode 100644 index 000000000000..d37b2534f53c --- /dev/null +++ b/src/transformers/models/ict/modeling_ict.py @@ -0,0 +1,847 @@ +# coding=utf-8 +# Copyright 2023 Google AI, Ross Wightman, The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" PyTorch ICT model.""" + + +import collections.abc +import math +from typing import Dict, List, Optional, Set, Tuple, Union + +import torch +import torch.utils.checkpoint +from torch import nn +from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss + +from ...activations import ACT2FN +from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, ImageClassifierOutput, MaskedLMOutput +from ...modeling_utils import PreTrainedModel +from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer +from ...utils import ( + add_code_sample_docstrings, + add_start_docstrings, + add_start_docstrings_to_model_forward, + logging, + replace_return_docstrings, +) +from .configuration_ict import ICTConfig + + +logger = logging.get_logger(__name__) + +# General docstring +_CONFIG_FOR_DOC = "ICTConfig" + +# Base docstring +_CHECKPOINT_FOR_DOC = "sheonhan/image-completion-transformer" +_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] + +# Image classification docstring +_IMAGE_CLASS_CHECKPOINT = "google/ict-base-patch16-224" +_IMAGE_CLASS_EXPECTED_OUTPUT = "Egyptian cat" + + +ICT_PRETRAINED_MODEL_ARCHIVE_LIST = [ + "sheonhan/image-completion-transformer", + # See all ICT models at https://huggingface.co/models?filter=ict +] + + + +# Copied from transformers.models.vit.modeling_vit.ViTEmbeddings with ViT->ICT +class ICTEmbeddings(nn.Module): + """ + Construct the CLS token, position and patch embeddings. Optionally, also the mask token. + """ + + def __init__(self, config: ICTConfig, use_mask_token: bool = False) -> None: + super().__init__() + + self.cls_token = nn.Parameter(torch.randn(1, 1, config.hidden_size)) + self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None + self.patch_embeddings = ICTPatchEmbeddings(config) + num_patches = self.patch_embeddings.num_patches + self.position_embeddings = nn.Parameter(torch.randn(1, num_patches + 1, config.hidden_size)) + self.dropout = nn.Dropout(config.hidden_dropout_prob) + self.config = config + + def interpolate_pos_encoding(self, embeddings: torch.Tensor, height: int, width: int) -> torch.Tensor: + """ + This method allows to interpolate the pre-trained position encodings, to be able to use the model on higher + resolution images. + + Source: + https://github.com/facebookresearch/dino/blob/de9ee3df6cf39fac952ab558447af1fa1365362a/vision_transformer.py#L174 + """ + + num_patches = embeddings.shape[1] - 1 + num_positions = self.position_embeddings.shape[1] - 1 + if num_patches == num_positions and height == width: + return self.position_embeddings + class_pos_embed = self.position_embeddings[:, 0] + patch_pos_embed = self.position_embeddings[:, 1:] + dim = embeddings.shape[-1] + h0 = height // self.config.patch_size + w0 = width // self.config.patch_size + # we add a small number to avoid floating point error in the interpolation + # see discussion at https://github.com/facebookresearch/dino/issues/8 + h0, w0 = h0 + 0.1, w0 + 0.1 + patch_pos_embed = patch_pos_embed.reshape(1, int(math.sqrt(num_positions)), int(math.sqrt(num_positions)), dim) + patch_pos_embed = patch_pos_embed.permute(0, 3, 1, 2) + patch_pos_embed = nn.functional.interpolate( + patch_pos_embed, + scale_factor=(h0 / math.sqrt(num_positions), w0 / math.sqrt(num_positions)), + mode="bicubic", + align_corners=False, + ) + assert int(h0) == patch_pos_embed.shape[-2] and int(w0) == patch_pos_embed.shape[-1] + patch_pos_embed = patch_pos_embed.permute(0, 2, 3, 1).view(1, -1, dim) + return torch.cat((class_pos_embed.unsqueeze(0), patch_pos_embed), dim=1) + + def forward( + self, + pixel_values: torch.Tensor, + bool_masked_pos: Optional[torch.BoolTensor] = None, + interpolate_pos_encoding: bool = False, + ) -> torch.Tensor: + batch_size, num_channels, height, width = pixel_values.shape + embeddings = self.patch_embeddings(pixel_values, interpolate_pos_encoding=interpolate_pos_encoding) + + if bool_masked_pos is not None: + seq_length = embeddings.shape[1] + mask_tokens = self.mask_token.expand(batch_size, seq_length, -1) + # replace the masked visual tokens by mask_tokens + mask = bool_masked_pos.unsqueeze(-1).type_as(mask_tokens) + embeddings = embeddings * (1.0 - mask) + mask_tokens * mask + + # add the [CLS] token to the embedded patch tokens + cls_tokens = self.cls_token.expand(batch_size, -1, -1) + embeddings = torch.cat((cls_tokens, embeddings), dim=1) + + # add positional encoding to each token + if interpolate_pos_encoding: + embeddings = embeddings + self.interpolate_pos_encoding(embeddings, height, width) + else: + embeddings = embeddings + self.position_embeddings + + embeddings = self.dropout(embeddings) + + return embeddings + + +# Copied from transformers.models.vit.modeling_vit.ViTPatchEmbeddings with ViT->ICT +class ICTPatchEmbeddings(nn.Module): + """ + This class turns `pixel_values` of shape `(batch_size, num_channels, height, width)` into the initial + `hidden_states` (patch embeddings) of shape `(batch_size, seq_length, hidden_size)` to be consumed by a + Transformer. + """ + + def __init__(self, config): + super().__init__() + image_size, patch_size = config.image_size, config.patch_size + num_channels, hidden_size = config.num_channels, config.hidden_size + + image_size = image_size if isinstance(image_size, collections.abc.Iterable) else (image_size, image_size) + patch_size = patch_size if isinstance(patch_size, collections.abc.Iterable) else (patch_size, patch_size) + num_patches = (image_size[1] // patch_size[1]) * (image_size[0] // patch_size[0]) + self.image_size = image_size + self.patch_size = patch_size + self.num_channels = num_channels + self.num_patches = num_patches + + self.projection = nn.Conv2d(num_channels, hidden_size, kernel_size=patch_size, stride=patch_size) + + def forward(self, pixel_values: torch.Tensor, interpolate_pos_encoding: bool = False) -> torch.Tensor: + batch_size, num_channels, height, width = pixel_values.shape + if num_channels != self.num_channels: + raise ValueError( + "Make sure that the channel dimension of the pixel values match with the one set in the configuration." + ) + if not interpolate_pos_encoding: + if height != self.image_size[0] or width != self.image_size[1]: + raise ValueError( + f"Input image size ({height}*{width}) doesn't match model" + f" ({self.image_size[0]}*{self.image_size[1]})." + ) + embeddings = self.projection(pixel_values).flatten(2).transpose(1, 2) + return embeddings + + +# Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT +class ICTSelfAttention(nn.Module): + def __init__(self, config: ICTConfig) -> None: + super().__init__() + if config.hidden_size % config.num_attention_heads != 0 and not hasattr(config, "embedding_size"): + raise ValueError( + f"The hidden size {config.hidden_size,} is not a multiple of the number of attention " + f"heads {config.num_attention_heads}." + ) + + self.num_attention_heads = config.num_attention_heads + self.attention_head_size = int(config.hidden_size / config.num_attention_heads) + self.all_head_size = self.num_attention_heads * self.attention_head_size + + self.query = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) + self.key = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) + self.value = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) + + self.dropout = nn.Dropout(config.attention_probs_dropout_prob) + + def transpose_for_scores(self, x: torch.Tensor) -> torch.Tensor: + new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size) + x = x.view(new_x_shape) + return x.permute(0, 2, 1, 3) + + def forward( + self, hidden_states, head_mask: Optional[torch.Tensor] = None, output_attentions: bool = False + ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: + mixed_query_layer = self.query(hidden_states) + + key_layer = self.transpose_for_scores(self.key(hidden_states)) + value_layer = self.transpose_for_scores(self.value(hidden_states)) + query_layer = self.transpose_for_scores(mixed_query_layer) + + # Take the dot product between "query" and "key" to get the raw attention scores. + attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2)) + + attention_scores = attention_scores / math.sqrt(self.attention_head_size) + + # Normalize the attention scores to probabilities. + attention_probs = nn.functional.softmax(attention_scores, dim=-1) + + # This is actually dropping out entire tokens to attend to, which might + # seem a bit unusual, but is taken from the original Transformer paper. + attention_probs = self.dropout(attention_probs) + + # Mask heads if we want to + if head_mask is not None: + attention_probs = attention_probs * head_mask + + context_layer = torch.matmul(attention_probs, value_layer) + + context_layer = context_layer.permute(0, 2, 1, 3).contiguous() + new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) + context_layer = context_layer.view(new_context_layer_shape) + + outputs = (context_layer, attention_probs) if output_attentions else (context_layer,) + + return outputs + + +# Copied from transformers.models.vit.modeling_vit.ViTSelfOutput with ViT->ICT +class ICTSelfOutput(nn.Module): + """ + The residual connection is defined in ICTLayer instead of here (as is the case with other models), due to the + layernorm applied before each block. + """ + + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.hidden_size) + self.dropout = nn.Dropout(config.hidden_dropout_prob) + + def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor: + hidden_states = self.dense(hidden_states) + hidden_states = self.dropout(hidden_states) + + return hidden_states + + +# Copied from transformers.models.vit.modeling_vit.ViTAttention with ViT->ICT +class ICTAttention(nn.Module): + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.attention = ICTSelfAttention(config) + self.output = ICTSelfOutput(config) + self.pruned_heads = set() + + def prune_heads(self, heads: Set[int]) -> None: + if len(heads) == 0: + return + heads, index = find_pruneable_heads_and_indices( + heads, self.attention.num_attention_heads, self.attention.attention_head_size, self.pruned_heads + ) + + # Prune linear layers + self.attention.query = prune_linear_layer(self.attention.query, index) + self.attention.key = prune_linear_layer(self.attention.key, index) + self.attention.value = prune_linear_layer(self.attention.value, index) + self.output.dense = prune_linear_layer(self.output.dense, index, dim=1) + + # Update hyper params and store pruned heads + self.attention.num_attention_heads = self.attention.num_attention_heads - len(heads) + self.attention.all_head_size = self.attention.attention_head_size * self.attention.num_attention_heads + self.pruned_heads = self.pruned_heads.union(heads) + + def forward( + self, + hidden_states: torch.Tensor, + head_mask: Optional[torch.Tensor] = None, + output_attentions: bool = False, + ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: + self_outputs = self.attention(hidden_states, head_mask, output_attentions) + + attention_output = self.output(self_outputs[0], hidden_states) + + outputs = (attention_output,) + self_outputs[1:] # add attentions if we output them + return outputs + + +# Copied from transformers.models.vit.modeling_vit.ViTIntermediate with ViT->ICT +class ICTIntermediate(nn.Module): + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.intermediate_size) + if isinstance(config.hidden_act, str): + self.intermediate_act_fn = ACT2FN[config.hidden_act] + else: + self.intermediate_act_fn = config.hidden_act + + def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: + hidden_states = self.dense(hidden_states) + hidden_states = self.intermediate_act_fn(hidden_states) + + return hidden_states + + +# Copied from transformers.models.vit.modeling_vit.ViTOutput with ViT->ICT +class ICTOutput(nn.Module): + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.dense = nn.Linear(config.intermediate_size, config.hidden_size) + self.dropout = nn.Dropout(config.hidden_dropout_prob) + + def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor: + hidden_states = self.dense(hidden_states) + hidden_states = self.dropout(hidden_states) + + hidden_states = hidden_states + input_tensor + + return hidden_states + + +# Copied from transformers.models.vit.modeling_vit.ViTLayer with ViT->ICT +class ICTLayer(nn.Module): + """This corresponds to the Block class in the timm implementation.""" + + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.chunk_size_feed_forward = config.chunk_size_feed_forward + self.seq_len_dim = 1 + self.attention = ICTAttention(config) + self.intermediate = ICTIntermediate(config) + self.output = ICTOutput(config) + self.layernorm_before = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + self.layernorm_after = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + + def forward( + self, + hidden_states: torch.Tensor, + head_mask: Optional[torch.Tensor] = None, + output_attentions: bool = False, + ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: + self_attention_outputs = self.attention( + self.layernorm_before(hidden_states), # in ICT, layernorm is applied before self-attention + head_mask, + output_attentions=output_attentions, + ) + attention_output = self_attention_outputs[0] + outputs = self_attention_outputs[1:] # add self attentions if we output attention weights + + # first residual connection + hidden_states = attention_output + hidden_states + + # in ICT, layernorm is also applied after self-attention + layer_output = self.layernorm_after(hidden_states) + layer_output = self.intermediate(layer_output) + + # second residual connection is done here + layer_output = self.output(layer_output, hidden_states) + + outputs = (layer_output,) + outputs + + return outputs + + +# Copied from transformers.models.vit.modeling_vit.ViTEncoder with ViT->ICT +class ICTEncoder(nn.Module): + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.config = config + self.layer = nn.ModuleList([ICTLayer(config) for _ in range(config.num_hidden_layers)]) + self.gradient_checkpointing = False + + def forward( + self, + hidden_states: torch.Tensor, + head_mask: Optional[torch.Tensor] = None, + output_attentions: bool = False, + output_hidden_states: bool = False, + return_dict: bool = True, + ) -> Union[tuple, BaseModelOutput]: + all_hidden_states = () if output_hidden_states else None + all_self_attentions = () if output_attentions else None + + for i, layer_module in enumerate(self.layer): + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + layer_head_mask = head_mask[i] if head_mask is not None else None + + if self.gradient_checkpointing and self.training: + + def create_custom_forward(module): + def custom_forward(*inputs): + return module(*inputs, output_attentions) + + return custom_forward + + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(layer_module), + hidden_states, + layer_head_mask, + ) + else: + layer_outputs = layer_module(hidden_states, layer_head_mask, output_attentions) + + hidden_states = layer_outputs[0] + + if output_attentions: + all_self_attentions = all_self_attentions + (layer_outputs[1],) + + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + if not return_dict: + return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) + return BaseModelOutput( + last_hidden_state=hidden_states, + hidden_states=all_hidden_states, + attentions=all_self_attentions, + ) + + +# Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict +class ICTPreTrainedModel(PreTrainedModel): + """ + An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained + models. + """ + + config_class = ICTConfig + base_model_prefix = "ict" + main_input_name = "pixel_values" + supports_gradient_checkpointing = True + _no_split_modules = [] + + def _init_weights(self, module: Union[nn.Linear, nn.Conv2d, nn.LayerNorm]) -> None: + """Initialize the weights""" + if isinstance(module, (nn.Linear, nn.Conv2d)): + # Upcast the input in `fp32` and cast it back to desired `dtype` to avoid + # `trunc_normal_cpu` not implemented in `half` issues + module.weight.data = nn.init.trunc_normal_( + module.weight.data.to(torch.float32), mean=0.0, std=self.config.initializer_range + ).to(module.weight.dtype) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.LayerNorm): + module.bias.data.zero_() + module.weight.data.fill_(1.0) + elif isinstance(module, ICTEmbeddings): + module.position_embeddings.data = nn.init.trunc_normal_( + module.position_embeddings.data.to(torch.float32), + mean=0.0, + std=self.config.initializer_range, + ).to(module.position_embeddings.dtype) + + module.cls_token.data = nn.init.trunc_normal_( + module.cls_token.data.to(torch.float32), + mean=0.0, + std=self.config.initializer_range, + ).to(module.cls_token.dtype) + + def _set_gradient_checkpointing(self, module: ICTEncoder, value: bool = False) -> None: + if isinstance(module, ICTEncoder): + module.gradient_checkpointing = value + + +ICT_START_DOCSTRING = r""" + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it + as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and + behavior. + + Parameters: + config ([`ICTConfig`]): Model configuration class with all the parameters of the model. + Initializing with a config file does not load the weights associated with the model, only the + configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" + +ICT_INPUTS_DOCSTRING = r""" + Args: + pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ViTImageProcessor.__call__`] + for details. + + head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): + Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + interpolate_pos_encoding (`bool`, *optional*): + Whether to interpolate the pre-trained position encodings. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. +""" + + +@add_start_docstrings( + "The bare ICT Model transformer outputting raw hidden-states without any specific head on top.", + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT +class ICTModel(ICTPreTrainedModel): + def __init__(self, config: ICTConfig, add_pooling_layer: bool = True, use_mask_token: bool = False): + super().__init__(config) + self.config = config + + self.embeddings = ICTEmbeddings(config, use_mask_token=use_mask_token) + self.encoder = ICTEncoder(config) + + self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) + self.pooler = ICTPooler(config) if add_pooling_layer else None + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self) -> ICTPatchEmbeddings: + return self.embeddings.patch_embeddings + + def _prune_heads(self, heads_to_prune: Dict[int, List[int]]) -> None: + """ + Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base + class PreTrainedModel + """ + for layer, heads in heads_to_prune.items(): + self.encoder.layer[layer].attention.prune_heads(heads) + + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @add_code_sample_docstrings( + checkpoint=_CHECKPOINT_FOR_DOC, + output_type=BaseModelOutputWithPooling, + config_class=_CONFIG_FOR_DOC, + modality="vision", + expected_output=_EXPECTED_OUTPUT_SHAPE, + ) + def forward( + self, + pixel_values: Optional[torch.Tensor] = None, + bool_masked_pos: Optional[torch.BoolTensor] = None, + head_mask: Optional[torch.Tensor] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + interpolate_pos_encoding: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, BaseModelOutputWithPooling]: + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + if pixel_values is None: + raise ValueError("You have to specify pixel_values") + + # Prepare head mask if needed + # 1.0 in head_mask indicate we keep the head + # attention_probs has shape bsz x n_heads x N x N + # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads] + # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length] + head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers) + + # TODO: maybe have a cleaner way to cast the input (from `ImageProcessor` side?) + expected_dtype = self.embeddings.patch_embeddings.projection.weight.dtype + if pixel_values.dtype != expected_dtype: + pixel_values = pixel_values.to(expected_dtype) + + embedding_output = self.embeddings( + pixel_values, bool_masked_pos=bool_masked_pos, interpolate_pos_encoding=interpolate_pos_encoding + ) + + encoder_outputs = self.encoder( + embedding_output, + head_mask=head_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + sequence_output = encoder_outputs[0] + sequence_output = self.layernorm(sequence_output) + pooled_output = self.pooler(sequence_output) if self.pooler is not None else None + + if not return_dict: + head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) + return head_outputs + encoder_outputs[1:] + + return BaseModelOutputWithPooling( + last_hidden_state=sequence_output, + pooler_output=pooled_output, + hidden_states=encoder_outputs.hidden_states, + attentions=encoder_outputs.attentions, + ) + + +# Copied from transformers.models.vit.modeling_vit.ViTPooler with ViT->ICT +class ICTPooler(nn.Module): + def __init__(self, config: ICTConfig): + super().__init__() + self.dense = nn.Linear(config.hidden_size, config.hidden_size) + self.activation = nn.Tanh() + + def forward(self, hidden_states): + # We "pool" the model by simply taking the hidden state corresponding + # to the first token. + first_token_tensor = hidden_states[:, 0] + pooled_output = self.dense(first_token_tensor) + pooled_output = self.activation(pooled_output) + return pooled_output + + +@add_start_docstrings( + """ICT Model with a decoder on top for masked image modeling, as proposed in [SimMIM](https://arxiv.org/abs/2111.09886). + + + + Note that we provide a script to pre-train this model on custom data in our [examples + directory](https://github.com/huggingface/transformers/tree/main/examples/pytorch/image-pretraining). + + + """, + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_vit.ViTForMaskedImageModeling with VIT->ICT,ViT->ICT,vit->ict,google/vit-base-patch16-224-in21k->sheonhan/image-completion-transformer +class ICTForMaskedImageModeling(ICTPreTrainedModel): + def __init__(self, config: ICTConfig) -> None: + super().__init__(config) + + self.ict = ICTModel(config, add_pooling_layer=False, use_mask_token=True) + + self.decoder = nn.Sequential( + nn.Conv2d( + in_channels=config.hidden_size, + out_channels=config.encoder_stride**2 * config.num_channels, + kernel_size=1, + ), + nn.PixelShuffle(config.encoder_stride), + ) + + # Initialize weights and apply final processing + self.post_init() + + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @replace_return_docstrings(output_type=MaskedLMOutput, config_class=_CONFIG_FOR_DOC) + def forward( + self, + pixel_values: Optional[torch.Tensor] = None, + bool_masked_pos: Optional[torch.BoolTensor] = None, + head_mask: Optional[torch.Tensor] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + interpolate_pos_encoding: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[tuple, MaskedLMOutput]: + r""" + bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, num_patches)`): + Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). + + Returns: + + Examples: + ```python + >>> from transformers import AutoImageProcessor, ICTForMaskedImageModeling + >>> import torch + >>> from PIL import Image + >>> import requests + + >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" + >>> image = Image.open(requests.get(url, stream=True).raw) + + >>> image_processor = AutoImageProcessor.from_pretrained("sheonhan/image-completion-transformer") + >>> model = ICTForMaskedImageModeling.from_pretrained("sheonhan/image-completion-transformer") + + >>> num_patches = (model.config.image_size // model.config.patch_size) ** 2 + >>> pixel_values = image_processor(images=image, return_tensors="pt").pixel_values + >>> # create random boolean mask of shape (batch_size, num_patches) + >>> bool_masked_pos = torch.randint(low=0, high=2, size=(1, num_patches)).bool() + + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) + >>> loss, reconstructed_pixel_values = outputs.loss, outputs.logits + >>> list(reconstructed_pixel_values.shape) + [1, 3, 224, 224] + ```""" + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + outputs = self.ict( + pixel_values, + bool_masked_pos=bool_masked_pos, + head_mask=head_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + interpolate_pos_encoding=interpolate_pos_encoding, + return_dict=return_dict, + ) + + sequence_output = outputs[0] + + # Reshape to (batch_size, num_channels, height, width) + sequence_output = sequence_output[:, 1:] + batch_size, sequence_length, num_channels = sequence_output.shape + height = width = math.floor(sequence_length**0.5) + sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) + + # Reconstruct pixel values + reconstructed_pixel_values = self.decoder(sequence_output) + + masked_im_loss = None + if bool_masked_pos is not None: + size = self.config.image_size // self.config.patch_size + bool_masked_pos = bool_masked_pos.reshape(-1, size, size) + mask = ( + bool_masked_pos.repeat_interleave(self.config.patch_size, 1) + .repeat_interleave(self.config.patch_size, 2) + .unsqueeze(1) + .contiguous() + ) + reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") + masked_im_loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels + + if not return_dict: + output = (reconstructed_pixel_values,) + outputs[1:] + return ((masked_im_loss,) + output) if masked_im_loss is not None else output + + return MaskedLMOutput( + loss=masked_im_loss, + logits=reconstructed_pixel_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + +@add_start_docstrings( + """ + ICT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of + the [CLS] token) e.g. for ImageNet. + + + + Note that it's possible to fine-tune ICT on higher resolution images than the ones it has been trained on, by + setting `interpolate_pos_encoding` to `True` in the forward of the model. This will interpolate the pre-trained + position embeddings to the higher resolution. + + + """, + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_vit.ViTForImageClassification with VIT->ICT,ViT->ICT,vit->ict +class ICTForImageClassification(ICTPreTrainedModel): + def __init__(self, config: ICTConfig) -> None: + super().__init__(config) + + self.num_labels = config.num_labels + self.ict = ICTModel(config, add_pooling_layer=False) + + # Classifier head + self.classifier = nn.Linear(config.hidden_size, config.num_labels) if config.num_labels > 0 else nn.Identity() + + # Initialize weights and apply final processing + self.post_init() + + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @add_code_sample_docstrings( + checkpoint=_IMAGE_CLASS_CHECKPOINT, + output_type=ImageClassifierOutput, + config_class=_CONFIG_FOR_DOC, + expected_output=_IMAGE_CLASS_EXPECTED_OUTPUT, + ) + def forward( + self, + pixel_values: Optional[torch.Tensor] = None, + head_mask: Optional[torch.Tensor] = None, + labels: Optional[torch.Tensor] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + interpolate_pos_encoding: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[tuple, ImageClassifierOutput]: + r""" + labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*): + Labels for computing the image classification/regression loss. Indices should be in `[0, ..., + config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If + `config.num_labels > 1` a classification loss is computed (Cross-Entropy). + """ + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + + outputs = self.ict( + pixel_values, + head_mask=head_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + interpolate_pos_encoding=interpolate_pos_encoding, + return_dict=return_dict, + ) + + sequence_output = outputs[0] + + logits = self.classifier(sequence_output[:, 0, :]) + + loss = None + if labels is not None: + if self.config.problem_type is None: + if self.num_labels == 1: + self.config.problem_type = "regression" + elif self.num_labels > 1 and (labels.dtype == torch.long or labels.dtype == torch.int): + self.config.problem_type = "single_label_classification" + else: + self.config.problem_type = "multi_label_classification" + + if self.config.problem_type == "regression": + loss_fct = MSELoss() + if self.num_labels == 1: + loss = loss_fct(logits.squeeze(), labels.squeeze()) + else: + loss = loss_fct(logits, labels) + elif self.config.problem_type == "single_label_classification": + loss_fct = CrossEntropyLoss() + loss = loss_fct(logits.view(-1, self.num_labels), labels.view(-1)) + elif self.config.problem_type == "multi_label_classification": + loss_fct = BCEWithLogitsLoss() + loss = loss_fct(logits, labels) + + if not return_dict: + output = (logits,) + outputs[1:] + return ((loss,) + output) if loss is not None else output + + return ImageClassifierOutput( + loss=loss, + logits=logits, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) diff --git a/src/transformers/models/ict/modeling_tf_ict.py b/src/transformers/models/ict/modeling_tf_ict.py new file mode 100644 index 000000000000..bc6acc0487d5 --- /dev/null +++ b/src/transformers/models/ict/modeling_tf_ict.py @@ -0,0 +1,827 @@ +# coding=utf-8 +# Copyright 2023 Google AI, Ross Wightman, The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" TF 2.0 ICT model.""" + + +import collections.abc +import math +from typing import Dict, Optional, Tuple, Union + +import numpy as np +import tensorflow as tf + +from ...activations_tf import get_tf_activation +from ...modeling_tf_outputs import TFBaseModelOutput, TFBaseModelOutputWithPooling, TFSequenceClassifierOutput +from ...modeling_tf_utils import ( + TFModelInputType, + TFPreTrainedModel, + TFSequenceClassificationLoss, + get_initializer, + keras_serializable, + unpack_inputs, +) +from ...tf_utils import shape_list, stable_softmax +from ...utils import add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, logging +from .configuration_ict import ICTConfig + + +logger = logging.get_logger(__name__) + +# General docstring +_CONFIG_FOR_DOC = "ICTConfig" + +# Base docstring +_CHECKPOINT_FOR_DOC = "sheonhan/image-completion-transformer" +_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] + +# Image classification docstring +_IMAGE_CLASS_CHECKPOINT = "google/ict-base-patch16-224" +_IMAGE_CLASS_EXPECTED_OUTPUT = "Egyptian cat" + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTEmbeddings with ViT->ICT +class TFICTEmbeddings(tf.keras.layers.Layer): + """ + Construct the CLS token, position and patch embeddings. + + """ + + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.patch_embeddings = TFICTPatchEmbeddings(config, name="patch_embeddings") + self.dropout = tf.keras.layers.Dropout(rate=config.hidden_dropout_prob) + self.config = config + + def build(self, input_shape: tf.TensorShape): + num_patches = self.patch_embeddings.num_patches + self.cls_token = self.add_weight( + shape=(1, 1, self.config.hidden_size), + initializer=get_initializer(self.config.initializer_range), + trainable=True, + name="cls_token", + ) + self.position_embeddings = self.add_weight( + shape=(1, num_patches + 1, self.config.hidden_size), + initializer=get_initializer(self.config.initializer_range), + trainable=True, + name="position_embeddings", + ) + + super().build(input_shape) + + def interpolate_pos_encoding(self, embeddings, height, width) -> tf.Tensor: + """ + This method allows to interpolate the pre-trained position encodings, to be able to use the model on higher + resolution images. + + Source: + https://github.com/facebookresearch/dino/blob/de9ee3df6cf39fac952ab558447af1fa1365362a/vision_transformer.py#L174 + """ + + batch_size, seq_len, dim = shape_list(embeddings) + num_patches = seq_len - 1 + + _, num_positions, _ = shape_list(self.position_embeddings) + num_positions -= 1 + + if num_patches == num_positions and height == width: + return self.position_embeddings + class_pos_embed = self.position_embeddings[:, :1] + patch_pos_embed = self.position_embeddings[:, 1:] + h0 = height // self.config.patch_size + w0 = width // self.config.patch_size + patch_pos_embed = tf.image.resize( + images=tf.reshape( + patch_pos_embed, shape=(1, int(math.sqrt(num_positions)), int(math.sqrt(num_positions)), dim) + ), + size=(h0, w0), + method="bicubic", + ) + + shape = shape_list(patch_pos_embed) + assert h0 == shape[-3] and w0 == shape[-2] + patch_pos_embed = tf.reshape(tensor=patch_pos_embed, shape=(1, -1, dim)) + return tf.concat(values=(class_pos_embed, patch_pos_embed), axis=1) + + def call( + self, pixel_values: tf.Tensor, interpolate_pos_encoding: bool = False, training: bool = False + ) -> tf.Tensor: + batch_size, num_channels, height, width = shape_list(pixel_values) + embeddings = self.patch_embeddings( + pixel_values, interpolate_pos_encoding=interpolate_pos_encoding, training=training + ) + + # add the [CLS] token to the embedded patch tokens + cls_tokens = tf.repeat(self.cls_token, repeats=batch_size, axis=0) + embeddings = tf.concat((cls_tokens, embeddings), axis=1) + + # add positional encoding to each token + if interpolate_pos_encoding: + embeddings = embeddings + self.interpolate_pos_encoding(embeddings, height, width) + else: + embeddings = embeddings + self.position_embeddings + + embeddings = self.dropout(embeddings, training=training) + + return embeddings + + +# Based on timm implementation, which can be found here: +# https://github.com/rwightman/pytorch-image-models/blob/master/timm/models/vision_transformer.py +# Copied from transformers.models.vit.modeling_tf_vit.TFViTPatchEmbeddings with ViT->ICT +class TFICTPatchEmbeddings(tf.keras.layers.Layer): + """ + This class turns `pixel_values` of shape `(batch_size, num_channels, height, width)` into the initial + `hidden_states` (patch embeddings) of shape `(batch_size, seq_length, hidden_size)` to be consumed by a + Transformer. + """ + + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + image_size, patch_size = config.image_size, config.patch_size + num_channels, hidden_size = config.num_channels, config.hidden_size + + image_size = image_size if isinstance(image_size, collections.abc.Iterable) else (image_size, image_size) + patch_size = patch_size if isinstance(patch_size, collections.abc.Iterable) else (patch_size, patch_size) + num_patches = (image_size[1] // patch_size[1]) * (image_size[0] // patch_size[0]) + self.image_size = image_size + self.patch_size = patch_size + self.num_patches = num_patches + self.num_channels = num_channels + self.config = config + + self.projection = tf.keras.layers.Conv2D( + filters=hidden_size, + kernel_size=patch_size, + strides=patch_size, + padding="valid", + data_format="channels_last", + use_bias=True, + kernel_initializer=get_initializer(self.config.initializer_range), + bias_initializer="zeros", + name="projection", + ) + + def call( + self, pixel_values: tf.Tensor, interpolate_pos_encoding: bool = False, training: bool = False + ) -> tf.Tensor: + batch_size, num_channels, height, width = shape_list(pixel_values) + if tf.executing_eagerly() and num_channels != self.num_channels: + raise ValueError( + "Make sure that the channel dimension of the pixel values match with the one set in the configuration." + ) + if not interpolate_pos_encoding: + if tf.executing_eagerly(): + if height != self.image_size[0] or width != self.image_size[1]: + raise ValueError( + f"Input image size ({height}*{width}) doesn't match model" + f" ({self.image_size[0]}*{self.image_size[1]})." + ) + + # When running on CPU, `tf.keras.layers.Conv2D` doesn't support `NCHW` format. + # So change the input format from `NCHW` to `NHWC`. + # shape = (batch_size, in_height, in_width, in_channels=num_channels) + pixel_values = tf.transpose(pixel_values, perm=(0, 2, 3, 1)) + + projection = self.projection(pixel_values) + + # Change the 2D spatial dimensions to a single temporal dimension. + # shape = (batch_size, num_patches, out_channels=embed_dim) + num_patches = (width // self.patch_size[1]) * (height // self.patch_size[0]) + embeddings = tf.reshape(tensor=projection, shape=(batch_size, num_patches, -1)) + + return embeddings + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTSelfAttention with ViT->ICT +class TFICTSelfAttention(tf.keras.layers.Layer): + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + if config.hidden_size % config.num_attention_heads != 0: + raise ValueError( + f"The hidden size ({config.hidden_size}) is not a multiple of the number " + f"of attention heads ({config.num_attention_heads})" + ) + + self.num_attention_heads = config.num_attention_heads + self.attention_head_size = int(config.hidden_size / config.num_attention_heads) + self.all_head_size = self.num_attention_heads * self.attention_head_size + self.sqrt_att_head_size = math.sqrt(self.attention_head_size) + + self.query = tf.keras.layers.Dense( + units=self.all_head_size, kernel_initializer=get_initializer(config.initializer_range), name="query" + ) + self.key = tf.keras.layers.Dense( + units=self.all_head_size, kernel_initializer=get_initializer(config.initializer_range), name="key" + ) + self.value = tf.keras.layers.Dense( + units=self.all_head_size, kernel_initializer=get_initializer(config.initializer_range), name="value" + ) + self.dropout = tf.keras.layers.Dropout(rate=config.attention_probs_dropout_prob) + + def transpose_for_scores(self, tensor: tf.Tensor, batch_size: int) -> tf.Tensor: + # Reshape from [batch_size, seq_length, all_head_size] to [batch_size, seq_length, num_attention_heads, attention_head_size] + tensor = tf.reshape(tensor=tensor, shape=(batch_size, -1, self.num_attention_heads, self.attention_head_size)) + + # Transpose the tensor from [batch_size, seq_length, num_attention_heads, attention_head_size] to [batch_size, num_attention_heads, seq_length, attention_head_size] + return tf.transpose(tensor, perm=[0, 2, 1, 3]) + + def call( + self, + hidden_states: tf.Tensor, + head_mask: tf.Tensor, + output_attentions: bool, + training: bool = False, + ) -> Tuple[tf.Tensor]: + batch_size = shape_list(hidden_states)[0] + mixed_query_layer = self.query(inputs=hidden_states) + mixed_key_layer = self.key(inputs=hidden_states) + mixed_value_layer = self.value(inputs=hidden_states) + query_layer = self.transpose_for_scores(mixed_query_layer, batch_size) + key_layer = self.transpose_for_scores(mixed_key_layer, batch_size) + value_layer = self.transpose_for_scores(mixed_value_layer, batch_size) + + # Take the dot product between "query" and "key" to get the raw attention scores. + # (batch size, num_heads, seq_len_q, seq_len_k) + attention_scores = tf.matmul(query_layer, key_layer, transpose_b=True) + dk = tf.cast(self.sqrt_att_head_size, dtype=attention_scores.dtype) + attention_scores = tf.divide(attention_scores, dk) + + # Normalize the attention scores to probabilities. + attention_probs = stable_softmax(logits=attention_scores, axis=-1) + + # This is actually dropping out entire tokens to attend to, which might + # seem a bit unusual, but is taken from the original Transformer paper. + attention_probs = self.dropout(inputs=attention_probs, training=training) + + # Mask heads if we want to + if head_mask is not None: + attention_probs = tf.multiply(attention_probs, head_mask) + + attention_output = tf.matmul(attention_probs, value_layer) + attention_output = tf.transpose(attention_output, perm=[0, 2, 1, 3]) + + # (batch_size, seq_len_q, all_head_size) + attention_output = tf.reshape(tensor=attention_output, shape=(batch_size, -1, self.all_head_size)) + outputs = (attention_output, attention_probs) if output_attentions else (attention_output,) + + return outputs + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTSelfOutput with ViT->ICT +class TFICTSelfOutput(tf.keras.layers.Layer): + """ + The residual connection is defined in TFICTLayer instead of here (as is the case with other models), due to the + layernorm applied before each block. + """ + + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.dense = tf.keras.layers.Dense( + units=config.hidden_size, kernel_initializer=get_initializer(config.initializer_range), name="dense" + ) + self.dropout = tf.keras.layers.Dropout(rate=config.hidden_dropout_prob) + + def call(self, hidden_states: tf.Tensor, input_tensor: tf.Tensor, training: bool = False) -> tf.Tensor: + hidden_states = self.dense(inputs=hidden_states) + hidden_states = self.dropout(inputs=hidden_states, training=training) + + return hidden_states + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTAttention with ViT->ICT +class TFICTAttention(tf.keras.layers.Layer): + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.self_attention = TFICTSelfAttention(config, name="attention") + self.dense_output = TFICTSelfOutput(config, name="output") + + def prune_heads(self, heads): + raise NotImplementedError + + def call( + self, + input_tensor: tf.Tensor, + head_mask: tf.Tensor, + output_attentions: bool, + training: bool = False, + ) -> Tuple[tf.Tensor]: + self_outputs = self.self_attention( + hidden_states=input_tensor, head_mask=head_mask, output_attentions=output_attentions, training=training + ) + attention_output = self.dense_output( + hidden_states=self_outputs[0], input_tensor=input_tensor, training=training + ) + outputs = (attention_output,) + self_outputs[1:] # add attentions if we output them + + return outputs + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTIntermediate with ViT->ICT +class TFICTIntermediate(tf.keras.layers.Layer): + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.dense = tf.keras.layers.Dense( + units=config.intermediate_size, kernel_initializer=get_initializer(config.initializer_range), name="dense" + ) + + if isinstance(config.hidden_act, str): + self.intermediate_act_fn = get_tf_activation(config.hidden_act) + else: + self.intermediate_act_fn = config.hidden_act + + def call(self, hidden_states: tf.Tensor) -> tf.Tensor: + hidden_states = self.dense(inputs=hidden_states) + hidden_states = self.intermediate_act_fn(hidden_states) + + return hidden_states + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTOutput with ViT->ICT +class TFICTOutput(tf.keras.layers.Layer): + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.dense = tf.keras.layers.Dense( + units=config.hidden_size, kernel_initializer=get_initializer(config.initializer_range), name="dense" + ) + self.dropout = tf.keras.layers.Dropout(rate=config.hidden_dropout_prob) + + def call(self, hidden_states: tf.Tensor, input_tensor: tf.Tensor, training: bool = False) -> tf.Tensor: + hidden_states = self.dense(inputs=hidden_states) + hidden_states = self.dropout(inputs=hidden_states, training=training) + hidden_states = hidden_states + input_tensor + + return hidden_states + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTLayer with ViT->ICT,vit->ict +class TFICTLayer(tf.keras.layers.Layer): + """This corresponds to the Block class in the timm implementation.""" + + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.attention = TFICTAttention(config, name="attention") + self.intermediate = TFICTIntermediate(config, name="intermediate") + self.ict_output = TFICTOutput(config, name="output") + + self.layernorm_before = tf.keras.layers.LayerNormalization( + epsilon=config.layer_norm_eps, name="layernorm_before" + ) + self.layernorm_after = tf.keras.layers.LayerNormalization( + epsilon=config.layer_norm_eps, name="layernorm_after" + ) + + def call( + self, + hidden_states: tf.Tensor, + head_mask: tf.Tensor, + output_attentions: bool, + training: bool = False, + ) -> Tuple[tf.Tensor]: + attention_outputs = self.attention( + # in ICT, layernorm is applied before self-attention + input_tensor=self.layernorm_before(inputs=hidden_states), + head_mask=head_mask, + output_attentions=output_attentions, + training=training, + ) + attention_output = attention_outputs[0] + + # first residual connection + hidden_states = attention_output + hidden_states + + # in ICT, layernorm is also applied after self-attention + layer_output = self.layernorm_after(inputs=hidden_states) + + intermediate_output = self.intermediate(hidden_states=layer_output) + + # second residual connection is done here + layer_output = self.ict_output( + hidden_states=intermediate_output, input_tensor=hidden_states, training=training + ) + outputs = (layer_output,) + attention_outputs[1:] # add attentions if we output them + + return outputs + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTEncoder with ViT->ICT +class TFICTEncoder(tf.keras.layers.Layer): + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.layer = [TFICTLayer(config, name=f"layer_._{i}") for i in range(config.num_hidden_layers)] + + def call( + self, + hidden_states: tf.Tensor, + head_mask: tf.Tensor, + output_attentions: bool, + output_hidden_states: bool, + return_dict: bool, + training: bool = False, + ) -> Union[TFBaseModelOutput, Tuple[tf.Tensor]]: + all_hidden_states = () if output_hidden_states else None + all_attentions = () if output_attentions else None + + for i, layer_module in enumerate(self.layer): + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + layer_outputs = layer_module( + hidden_states=hidden_states, + head_mask=head_mask[i], + output_attentions=output_attentions, + training=training, + ) + hidden_states = layer_outputs[0] + + if output_attentions: + all_attentions = all_attentions + (layer_outputs[1],) + + # Add last layer + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + if not return_dict: + return tuple(v for v in [hidden_states, all_hidden_states, all_attentions] if v is not None) + + return TFBaseModelOutput( + last_hidden_state=hidden_states, hidden_states=all_hidden_states, attentions=all_attentions + ) + + +@keras_serializable +# Copied from transformers.models.vit.modeling_tf_vit.TFViTMainLayer with ViT->ICT +class TFICTMainLayer(tf.keras.layers.Layer): + config_class = ICTConfig + + def __init__(self, config: ICTConfig, add_pooling_layer: bool = True, **kwargs): + super().__init__(**kwargs) + + self.config = config + + self.embeddings = TFICTEmbeddings(config, name="embeddings") + self.encoder = TFICTEncoder(config, name="encoder") + self.layernorm = tf.keras.layers.LayerNormalization(epsilon=config.layer_norm_eps, name="layernorm") + self.pooler = TFICTPooler(config, name="pooler") if add_pooling_layer else None + + def get_input_embeddings(self) -> tf.keras.layers.Layer: + return self.embeddings.patch_embeddings + + def _prune_heads(self, heads_to_prune): + """ + Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base + class PreTrainedModel + """ + raise NotImplementedError + + @unpack_inputs + def call( + self, + pixel_values: Optional[TFModelInputType] = None, + head_mask: Optional[Union[np.ndarray, tf.Tensor]] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + interpolate_pos_encoding: Optional[bool] = None, + return_dict: Optional[bool] = None, + training: bool = False, + ) -> Union[TFBaseModelOutputWithPooling, Tuple[tf.Tensor]]: + if pixel_values is None: + raise ValueError("You have to specify pixel_values") + + embedding_output = self.embeddings( + pixel_values=pixel_values, + interpolate_pos_encoding=interpolate_pos_encoding, + training=training, + ) + + # Prepare head mask if needed + # 1.0 in head_mask indicate we keep the head + # attention_probs has shape bsz x n_heads x N x N + # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads] + # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length] + if head_mask is not None: + raise NotImplementedError + else: + head_mask = [None] * self.config.num_hidden_layers + + encoder_outputs = self.encoder( + hidden_states=embedding_output, + head_mask=head_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + training=training, + ) + + sequence_output = encoder_outputs[0] + sequence_output = self.layernorm(inputs=sequence_output) + pooled_output = self.pooler(hidden_states=sequence_output) if self.pooler is not None else None + + if not return_dict: + return (sequence_output, pooled_output) + encoder_outputs[1:] + + return TFBaseModelOutputWithPooling( + last_hidden_state=sequence_output, + pooler_output=pooled_output, + hidden_states=encoder_outputs.hidden_states, + attentions=encoder_outputs.attentions, + ) + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTPreTrainedModel with ViT->ICT,vit->ict +class TFICTPreTrainedModel(TFPreTrainedModel): + """ + An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained + models. + """ + + config_class = ICTConfig + base_model_prefix = "ict" + main_input_name = "pixel_values" + + @property + def dummy_inputs(self) -> Dict[str, tf.Tensor]: + """ + Dummy inputs to build the network. + + Returns: + `Dict[str, tf.Tensor]`: The dummy inputs. + """ + VISION_DUMMY_INPUTS = tf.random.uniform( + shape=(3, self.config.num_channels, self.config.image_size, self.config.image_size), dtype=tf.float32 + ) + return {"pixel_values": tf.constant(VISION_DUMMY_INPUTS)} + + @tf.function( + input_signature=[ + { + "pixel_values": tf.TensorSpec((None, None, None, None), tf.float32, name="pixel_values"), + } + ] + ) + def serving(self, inputs): + """ + Method used for serving the model. + + Args: + inputs (`Dict[str, tf.Tensor]`): + The input of the saved model as a dictionary of tensors. + """ + output = self.call(inputs) + + return self.serving_output(output) + + +ICT_START_DOCSTRING = r""" + + This model inherits from [`TFPreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + + This model is also a [tf.keras.Model](https://www.tensorflow.org/api_docs/python/tf/keras/Model) subclass. Use it + as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and + behavior. + + + + TensorFlow models and layers in `transformers` accept two formats as input: + + - having all inputs as keyword arguments (like PyTorch models), or + - having all inputs as a list, tuple or dict in the first positional argument. + + The reason the second format is supported is that Keras methods prefer this format when passing inputs to models + and layers. Because of this support, when using methods like `model.fit()` things should "just work" for you - just + pass your inputs and labels in any format that `model.fit()` supports! If, however, you want to use the second + format outside of Keras methods like `fit()` and `predict()`, such as when creating your own layers or models with + the Keras `Functional` API, there are three possibilities you can use to gather all the input Tensors in the first + positional argument: + + - a single Tensor with `pixel_values` only and nothing else: `model(pixel_values)` + - a list of varying length with one or several input Tensors IN THE ORDER given in the docstring: + `model([pixel_values, attention_mask])` or `model([pixel_values, attention_mask, token_type_ids])` + - a dictionary with one or several input Tensors associated to the input names given in the docstring: + `model({"pixel_values": pixel_values, "token_type_ids": token_type_ids})` + + Note that when creating models and layers with + [subclassing](https://keras.io/guides/making_new_layers_and_models_via_subclassing/) then you don't need to worry + about any of this, as you can just pass inputs like you would to any other Python function! + + + + Args: + config ([`ICTConfig`]): Model configuration class with all the parameters of the model. + Initializing with a config file does not load the weights associated with the model, only the + configuration. Check out the [`~TFPreTrainedModel.from_pretrained`] method to load the model weights. +""" + +ICT_INPUTS_DOCSTRING = r""" + Args: + pixel_values (`np.ndarray`, `tf.Tensor`, `List[tf.Tensor]` ``Dict[str, tf.Tensor]` or `Dict[str, np.ndarray]` and each example must have the shape `(batch_size, num_channels, height, width)`): + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ViTImageProcessor.__call__`] + for details. + + head_mask (`np.ndarray` or `tf.Tensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): + Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the + config will be used instead. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. This argument can be used only in eager mode, in graph mode the value in the config will be + used instead. + interpolate_pos_encoding (`bool`, *optional*): + Whether to interpolate the pre-trained position encodings. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. This argument can be used in + eager mode, in graph mode the value will always be set to True. + training (`bool`, *optional*, defaults to `False``): + Whether or not to use the model in training mode (some modules like dropout modules have different + behaviors between training and evaluation). +""" + + +@add_start_docstrings( + "The bare ICT Model transformer outputting raw hidden-states without any specific head on top.", + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_tf_vit.TFViTModel with VIT->ICT,ViT->ICT,vit->ict +class TFICTModel(TFICTPreTrainedModel): + def __init__(self, config: ICTConfig, *inputs, add_pooling_layer=True, **kwargs): + super().__init__(config, *inputs, **kwargs) + + self.ict = TFICTMainLayer(config, add_pooling_layer=add_pooling_layer, name="ict") + + @unpack_inputs + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @add_code_sample_docstrings( + checkpoint=_CHECKPOINT_FOR_DOC, + output_type=TFBaseModelOutputWithPooling, + config_class=_CONFIG_FOR_DOC, + modality="vision", + expected_output=_EXPECTED_OUTPUT_SHAPE, + ) + def call( + self, + pixel_values: Optional[TFModelInputType] = None, + head_mask: Optional[Union[np.ndarray, tf.Tensor]] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + interpolate_pos_encoding: Optional[bool] = None, + return_dict: Optional[bool] = None, + training: bool = False, + ) -> Union[TFBaseModelOutputWithPooling, Tuple[tf.Tensor]]: + outputs = self.ict( + pixel_values=pixel_values, + head_mask=head_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + interpolate_pos_encoding=interpolate_pos_encoding, + return_dict=return_dict, + training=training, + ) + + return outputs + + def serving_output(self, output: TFBaseModelOutputWithPooling) -> TFBaseModelOutputWithPooling: + hs = tf.convert_to_tensor(output.hidden_states) if self.config.output_hidden_states else None + attns = tf.convert_to_tensor(output.attentions) if self.config.output_attentions else None + + return TFBaseModelOutputWithPooling( + last_hidden_state=output.last_hidden_state, + pooler_output=output.pooler_output, + hidden_states=hs, + attentions=attns, + ) + + +# Copied from transformers.models.vit.modeling_tf_vit.TFViTPooler with ViT->ICT +class TFICTPooler(tf.keras.layers.Layer): + def __init__(self, config: ICTConfig, **kwargs): + super().__init__(**kwargs) + + self.dense = tf.keras.layers.Dense( + units=config.hidden_size, + kernel_initializer=get_initializer(config.initializer_range), + activation="tanh", + name="dense", + ) + + def call(self, hidden_states: tf.Tensor) -> tf.Tensor: + # We "pool" the model by simply taking the hidden state corresponding + # to the first token. + first_token_tensor = hidden_states[:, 0] + pooled_output = self.dense(inputs=first_token_tensor) + + return pooled_output + + +@add_start_docstrings( + """ + ICT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of + the [CLS] token) e.g. for ImageNet. + + + + Note that it's possible to fine-tune ICT on higher resolution images than the ones it has been trained on, by + setting `interpolate_pos_encoding` to `True` in the forward of the model. This will interpolate the pre-trained + position embeddings to the higher resolution. + + + """, + ICT_START_DOCSTRING, +) +# Copied from transformers.models.vit.modeling_tf_vit.TFViTForImageClassification with VIT->ICT,ViT->ICT,vit->ict +class TFICTForImageClassification(TFICTPreTrainedModel, TFSequenceClassificationLoss): + def __init__(self, config: ICTConfig, *inputs, **kwargs): + super().__init__(config, *inputs, **kwargs) + + self.num_labels = config.num_labels + self.ict = TFICTMainLayer(config, add_pooling_layer=False, name="ict") + + # Classifier head + self.classifier = tf.keras.layers.Dense( + units=config.num_labels, + kernel_initializer=get_initializer(config.initializer_range), + name="classifier", + ) + + @unpack_inputs + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @add_code_sample_docstrings( + checkpoint=_IMAGE_CLASS_CHECKPOINT, + output_type=TFSequenceClassifierOutput, + config_class=_CONFIG_FOR_DOC, + expected_output=_IMAGE_CLASS_EXPECTED_OUTPUT, + ) + def call( + self, + pixel_values: Optional[TFModelInputType] = None, + head_mask: Optional[Union[np.ndarray, tf.Tensor]] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + interpolate_pos_encoding: Optional[bool] = None, + return_dict: Optional[bool] = None, + labels: Optional[Union[np.ndarray, tf.Tensor]] = None, + training: Optional[bool] = False, + ) -> Union[TFSequenceClassifierOutput, Tuple[tf.Tensor]]: + r""" + labels (`tf.Tensor` or `np.ndarray` of shape `(batch_size,)`, *optional*): + Labels for computing the image classification/regression loss. Indices should be in `[0, ..., + config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If + `config.num_labels > 1` a classification loss is computed (Cross-Entropy). + """ + + outputs = self.ict( + pixel_values=pixel_values, + head_mask=head_mask, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + interpolate_pos_encoding=interpolate_pos_encoding, + return_dict=return_dict, + training=training, + ) + sequence_output = outputs[0] + logits = self.classifier(inputs=sequence_output[:, 0, :]) + loss = None if labels is None else self.hf_compute_loss(labels=labels, logits=logits) + + if not return_dict: + output = (logits,) + outputs[2:] + return ((loss,) + output) if loss is not None else output + + return TFSequenceClassifierOutput( + loss=loss, + logits=logits, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + def serving_output(self, output: TFSequenceClassifierOutput) -> TFSequenceClassifierOutput: + hs = tf.convert_to_tensor(output.hidden_states) if self.config.output_hidden_states else None + attns = tf.convert_to_tensor(output.attentions) if self.config.output_attentions else None + + return TFSequenceClassifierOutput(logits=output.logits, hidden_states=hs, attentions=attns) diff --git a/tests/models/ict/__init__.py b/tests/models/ict/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/models/ict/test_modeling_flax_ict.py b/tests/models/ict/test_modeling_flax_ict.py new file mode 100644 index 000000000000..8aa6a1254479 --- /dev/null +++ b/tests/models/ict/test_modeling_flax_ict.py @@ -0,0 +1,187 @@ +# Copyright 2023 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import inspect +import unittest + +import numpy as np + +from transformers import ICTConfig, is_flax_available +from transformers.testing_utils import require_flax, slow + +from ...test_configuration_common import ConfigTester +from ...test_modeling_flax_common import FlaxModelTesterMixin, floats_tensor + + +if is_flax_available(): + import jax + + from transformers.models.ict.modeling_flax_ict import FlaxICTForImageClassification, FlaxICTModel + + +class FlaxICTModelTester(unittest.TestCase): + def __init__( + self, + parent, + batch_size=13, + image_size=30, + patch_size=2, + num_channels=3, + is_training=True, + use_labels=True, + hidden_size=32, + num_hidden_layers=5, + num_attention_heads=4, + intermediate_size=37, + hidden_act="gelu", + hidden_dropout_prob=0.1, + attention_probs_dropout_prob=0.1, + type_sequence_label_size=10, + initializer_range=0.02, + ): + self.parent = parent + self.batch_size = batch_size + self.image_size = image_size + self.patch_size = patch_size + self.num_channels = num_channels + self.is_training = is_training + self.use_labels = use_labels + self.hidden_size = hidden_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.intermediate_size = intermediate_size + self.hidden_act = hidden_act + self.hidden_dropout_prob = hidden_dropout_prob + self.attention_probs_dropout_prob = attention_probs_dropout_prob + self.type_sequence_label_size = type_sequence_label_size + self.initializer_range = initializer_range + + # in ICT, the seq length equals the number of patches + 1 (we add 1 for the [CLS] token) + num_patches = (image_size // patch_size) ** 2 + self.seq_length = num_patches + 1 + + def prepare_config_and_inputs(self): + pixel_values = floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]) + + config = ICTConfig( + image_size=self.image_size, + patch_size=self.patch_size, + num_channels=self.num_channels, + hidden_size=self.hidden_size, + num_hidden_layers=self.num_hidden_layers, + num_attention_heads=self.num_attention_heads, + intermediate_size=self.intermediate_size, + hidden_act=self.hidden_act, + hidden_dropout_prob=self.hidden_dropout_prob, + attention_probs_dropout_prob=self.attention_probs_dropout_prob, + is_decoder=False, + initializer_range=self.initializer_range, + ) + + return config, pixel_values + + def create_and_check_model(self, config, pixel_values): + model = FlaxICTModel(config=config) + result = model(pixel_values) + # expected sequence length = num_patches + 1 (we add 1 for the [CLS] token) + image_size = (self.image_size, self.image_size) + patch_size = (self.patch_size, self.patch_size) + num_patches = (image_size[1] // patch_size[1]) * (image_size[0] // patch_size[0]) + self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, num_patches + 1, self.hidden_size)) + + def create_and_check_for_image_classification(self, config, pixel_values): + config.num_labels = self.type_sequence_label_size + model = FlaxICTForImageClassification(config=config) + result = model(pixel_values) + self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) + + # test greyscale images + config.num_channels = 1 + model = FlaxICTForImageClassification(config) + + pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) + result = model(pixel_values) + + def prepare_config_and_inputs_for_common(self): + config_and_inputs = self.prepare_config_and_inputs() + ( + config, + pixel_values, + ) = config_and_inputs + inputs_dict = {"pixel_values": pixel_values} + return config, inputs_dict + + +@require_flax +class FlaxICTModelTest(FlaxModelTesterMixin, unittest.TestCase): + all_model_classes = (FlaxICTModel, FlaxICTForImageClassification) if is_flax_available() else () + + def setUp(self) -> None: + self.model_tester = FlaxICTModelTester(self) + self.config_tester = ConfigTester(self, config_class=ICTConfig, has_text_modality=False, hidden_size=37) + + def test_config(self): + self.config_tester.run_common_tests() + + def test_model(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_model(*config_and_inputs) + + def test_for_image_classification(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_for_image_classification(*config_and_inputs) + + # We need to override this test because ICT's forward signature is different than text models. + def test_forward_signature(self): + config, _ = self.model_tester.prepare_config_and_inputs_for_common() + + for model_class in self.all_model_classes: + model = model_class(config) + signature = inspect.signature(model.__call__) + # signature.parameters is an OrderedDict => so arg_names order is deterministic + arg_names = [*signature.parameters.keys()] + + expected_arg_names = ["pixel_values"] + self.assertListEqual(arg_names[:1], expected_arg_names) + + # We need to override this test because ICT expects pixel_values instead of input_ids + def test_jit_compilation(self): + config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common() + + for model_class in self.all_model_classes: + with self.subTest(model_class.__name__): + prepared_inputs_dict = self._prepare_for_class(inputs_dict, model_class) + model = model_class(config) + + @jax.jit + def model_jitted(pixel_values, **kwargs): + return model(pixel_values=pixel_values, **kwargs) + + with self.subTest("JIT Enabled"): + jitted_outputs = model_jitted(**prepared_inputs_dict).to_tuple() + + with self.subTest("JIT Disabled"): + with jax.disable_jit(): + outputs = model_jitted(**prepared_inputs_dict).to_tuple() + + self.assertEqual(len(outputs), len(jitted_outputs)) + for jitted_output, output in zip(jitted_outputs, outputs): + self.assertEqual(jitted_output.shape, output.shape) + + @slow + def test_model_from_pretrained(self): + for model_class_name in self.all_model_classes: + model = model_class_name.from_pretrained("google/ict-base-patch16-224") + outputs = model(np.ones((1, 3, 224, 224))) + self.assertIsNotNone(outputs) diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py new file mode 100644 index 000000000000..f24ffbf7b212 --- /dev/null +++ b/tests/models/ict/test_modeling_ict.py @@ -0,0 +1,333 @@ +# coding=utf-8 +# Copyright 2023 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" Testing suite for the PyTorch ICT model. """ + + +import inspect +import unittest + +from transformers import ICTConfig +from transformers.testing_utils import ( + require_accelerate, + require_torch, + require_torch_gpu, + require_vision, + slow, + torch_device, +) +from transformers.utils import cached_property, is_torch_available, is_vision_available + +from ...test_configuration_common import ConfigTester +from ...test_modeling_common import ModelTesterMixin, floats_tensor, ids_tensor +from ...test_pipeline_mixin import PipelineTesterMixin + + +if is_torch_available(): + import torch + from torch import nn + + from transformers import ICTForImageClassification, ICTForMaskedImageModeling, ICTModel + from transformers.models.ict.modeling_ict import ICT_PRETRAINED_MODEL_ARCHIVE_LIST + + +if is_vision_available(): + from PIL import Image + + from transformers import ViTFeatureExtractor + + +class ICTModelTester: + def __init__( + self, + parent, + batch_size=13, + image_size=30, + patch_size=2, + num_channels=3, + is_training=True, + use_labels=True, + hidden_size=32, + num_hidden_layers=5, + num_attention_heads=4, + intermediate_size=37, + hidden_act="gelu", + hidden_dropout_prob=0.1, + attention_probs_dropout_prob=0.1, + type_sequence_label_size=10, + initializer_range=0.02, + scope=None, + encoder_stride=2, + ): + self.parent = parent + self.batch_size = batch_size + self.image_size = image_size + self.patch_size = patch_size + self.num_channels = num_channels + self.is_training = is_training + self.use_labels = use_labels + self.hidden_size = hidden_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.intermediate_size = intermediate_size + self.hidden_act = hidden_act + self.hidden_dropout_prob = hidden_dropout_prob + self.attention_probs_dropout_prob = attention_probs_dropout_prob + self.type_sequence_label_size = type_sequence_label_size + self.initializer_range = initializer_range + self.scope = scope + self.encoder_stride = encoder_stride + + # in ICT, the seq length equals the number of patches + 1 (we add 1 for the [CLS] token) + num_patches = (image_size // patch_size) ** 2 + self.seq_length = num_patches + 1 + + def prepare_config_and_inputs(self): + pixel_values = floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]) + + labels = None + if self.use_labels: + labels = ids_tensor([self.batch_size], self.type_sequence_label_size) + + config = self.get_config() + + return config, pixel_values, labels + + def get_config(self): + return ICTConfig( + image_size=self.image_size, + patch_size=self.patch_size, + num_channels=self.num_channels, + hidden_size=self.hidden_size, + num_hidden_layers=self.num_hidden_layers, + num_attention_heads=self.num_attention_heads, + intermediate_size=self.intermediate_size, + hidden_act=self.hidden_act, + hidden_dropout_prob=self.hidden_dropout_prob, + attention_probs_dropout_prob=self.attention_probs_dropout_prob, + is_decoder=False, + initializer_range=self.initializer_range, + encoder_stride=self.encoder_stride, + ) + + def create_and_check_model(self, config, pixel_values, labels): + model = ICTModel(config=config) + model.to(torch_device) + model.eval() + result = model(pixel_values) + self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, self.seq_length, self.hidden_size)) + + def create_and_check_for_masked_image_modeling(self, config, pixel_values, labels): + model = ICTForMaskedImageModeling(config=config) + model.to(torch_device) + model.eval() + result = model(pixel_values) + self.parent.assertEqual( + result.logits.shape, (self.batch_size, self.num_channels, self.image_size, self.image_size) + ) + + # test greyscale images + config.num_channels = 1 + model = ICTForMaskedImageModeling(config) + model.to(torch_device) + model.eval() + + pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) + result = model(pixel_values) + self.parent.assertEqual(result.logits.shape, (self.batch_size, 1, self.image_size, self.image_size)) + + def create_and_check_for_image_classification(self, config, pixel_values, labels): + config.num_labels = self.type_sequence_label_size + model = ICTForImageClassification(config) + model.to(torch_device) + model.eval() + result = model(pixel_values, labels=labels) + self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) + + # test greyscale images + config.num_channels = 1 + model = ICTForImageClassification(config) + model.to(torch_device) + model.eval() + + pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) + result = model(pixel_values) + self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) + + def prepare_config_and_inputs_for_common(self): + config_and_inputs = self.prepare_config_and_inputs() + ( + config, + pixel_values, + labels, + ) = config_and_inputs + inputs_dict = {"pixel_values": pixel_values} + return config, inputs_dict + + +@require_torch +class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): + """ + Here we also overwrite some of the tests of test_modeling_common.py, as ICT does not use input_ids, inputs_embeds, + attention_mask and seq_length. + """ + + all_model_classes = ( + ( + ICTModel, + ICTForImageClassification, + ICTForMaskedImageModeling, + ) + if is_torch_available() + else () + ) + pipeline_model_mapping = ( + {"feature-extraction": ICTModel, "image-classification": ICTForImageClassification} + if is_torch_available() + else {} + ) + fx_compatible = False + + test_pruning = False + test_resize_embeddings = False + test_head_masking = False + + def setUp(self): + self.model_tester = ICTModelTester(self) + self.config_tester = ConfigTester(self, config_class=ICTConfig, has_text_modality=False, hidden_size=37) + + def test_config(self): + self.config_tester.run_common_tests() + + @unittest.skip(reason="ICT does not use inputs_embeds") + def test_inputs_embeds(self): + pass + + def test_model_common_attributes(self): + config, _ = self.model_tester.prepare_config_and_inputs_for_common() + + for model_class in self.all_model_classes: + model = model_class(config) + self.assertIsInstance(model.get_input_embeddings(), (nn.Module)) + x = model.get_output_embeddings() + self.assertTrue(x is None or isinstance(x, nn.Linear)) + + def test_forward_signature(self): + config, _ = self.model_tester.prepare_config_and_inputs_for_common() + + for model_class in self.all_model_classes: + model = model_class(config) + signature = inspect.signature(model.forward) + # signature.parameters is an OrderedDict => so arg_names order is deterministic + arg_names = [*signature.parameters.keys()] + + expected_arg_names = ["pixel_values"] + self.assertListEqual(arg_names[:1], expected_arg_names) + + def test_model(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_model(*config_and_inputs) + + def test_for_masked_image_modeling(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_for_masked_image_modeling(*config_and_inputs) + + def test_for_image_classification(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_for_image_classification(*config_and_inputs) + + @slow + def test_model_from_pretrained(self): + for model_name in ICT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]: + model = ICTModel.from_pretrained(model_name) + self.assertIsNotNone(model) + + +# We will verify our results on an image of cute cats +def prepare_img(): + image = Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png") + return image + + +@require_torch +@require_vision +class ICTModelIntegrationTest(unittest.TestCase): + @cached_property + def default_feature_extractor(self): + return ViTFeatureExtractor.from_pretrained("google/ict-base-patch16-224") if is_vision_available() else None + + @slow + def test_inference_image_classification_head(self): + model = ICTForImageClassification.from_pretrained("google/ict-base-patch16-224").to(torch_device) + + feature_extractor = self.default_feature_extractor + image = prepare_img() + inputs = feature_extractor(images=image, return_tensors="pt").to(torch_device) + + # forward pass + with torch.no_grad(): + outputs = model(**inputs) + + # verify the logits + expected_shape = torch.Size((1, 1000)) + self.assertEqual(outputs.logits.shape, expected_shape) + + expected_slice = torch.tensor([-0.2744, 0.8215, -0.0836]).to(torch_device) + + self.assertTrue(torch.allclose(outputs.logits[0, :3], expected_slice, atol=1e-4)) + + @slow + def test_inference_interpolate_pos_encoding(self): + # ICT models have an `interpolate_pos_encoding` argument in their forward method, + # allowing to interpolate the pre-trained position embeddings in order to use + # the model on higher resolutions. The DINO model by Facebook AI leverages this + # to visualize self-attention on higher resolution images. + model = ICTModel.from_pretrained("facebook/dino-icts8").to(torch_device) + + feature_extractor = ViTFeatureExtractor.from_pretrained("facebook/dino-icts8", size=480) + image = prepare_img() + inputs = feature_extractor(images=image, return_tensors="pt") + pixel_values = inputs.pixel_values.to(torch_device) + + # forward pass + with torch.no_grad(): + outputs = model(pixel_values, interpolate_pos_encoding=True) + + # verify the logits + expected_shape = torch.Size((1, 3601, 384)) + self.assertEqual(outputs.last_hidden_state.shape, expected_shape) + + expected_slice = torch.tensor( + [[4.2340, 4.3906, -6.6692], [4.5463, 1.8928, -6.7257], [4.4429, 0.8496, -5.8585]] + ).to(torch_device) + + self.assertTrue(torch.allclose(outputs.last_hidden_state[0, :3, :3], expected_slice, atol=1e-4)) + + @slow + @require_accelerate + @require_torch_gpu + def test_inference_fp16(self): + r""" + A small test to make sure that inference work in half precision without any problem. + """ + model = ICTModel.from_pretrained("facebook/dino-icts8", torch_dtype=torch.float16, device_map="auto") + feature_extractor = self.default_feature_extractor + + image = prepare_img() + inputs = feature_extractor(images=image, return_tensors="pt") + pixel_values = inputs.pixel_values.to(torch_device) + + # forward pass to make sure inference works in fp16 + with torch.no_grad(): + _ = model(pixel_values) diff --git a/tests/models/ict/test_modeling_tf_ict.py b/tests/models/ict/test_modeling_tf_ict.py new file mode 100644 index 000000000000..9f8baa8a0478 --- /dev/null +++ b/tests/models/ict/test_modeling_tf_ict.py @@ -0,0 +1,249 @@ +# coding=utf-8 +# Copyright 2023 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +""" Testing suite for the TensorFlow ICT model. """ + + +import inspect +import unittest + +from transformers import ICTConfig +from transformers.testing_utils import require_tf, require_vision, slow +from transformers.utils import cached_property, is_tf_available, is_vision_available + +from ...test_configuration_common import ConfigTester +from ...test_modeling_tf_common import TFModelTesterMixin, floats_tensor, ids_tensor +from ...test_pipeline_mixin import PipelineTesterMixin + + +if is_tf_available(): + import tensorflow as tf + + from transformers import TFICTForImageClassification, TFICTModel + + +if is_vision_available(): + from PIL import Image + + from transformers import ViTFeatureExtractor + + +class TFICTModelTester: + def __init__( + self, + parent, + batch_size=13, + image_size=30, + patch_size=2, + num_channels=3, + is_training=True, + use_labels=True, + hidden_size=32, + num_hidden_layers=5, + num_attention_heads=4, + intermediate_size=37, + hidden_act="gelu", + hidden_dropout_prob=0.1, + attention_probs_dropout_prob=0.1, + type_sequence_label_size=10, + initializer_range=0.02, + num_labels=3, + scope=None, + ): + self.parent = parent + self.batch_size = batch_size + self.image_size = image_size + self.patch_size = patch_size + self.num_channels = num_channels + self.is_training = is_training + self.use_labels = use_labels + self.hidden_size = hidden_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + self.intermediate_size = intermediate_size + self.hidden_act = hidden_act + self.hidden_dropout_prob = hidden_dropout_prob + self.attention_probs_dropout_prob = attention_probs_dropout_prob + self.type_sequence_label_size = type_sequence_label_size + self.initializer_range = initializer_range + self.scope = scope + + # in ICT, the seq length equals the number of patches + 1 (we add 1 for the [CLS] token) + num_patches = (image_size // patch_size) ** 2 + self.seq_length = num_patches + 1 + + def prepare_config_and_inputs(self): + pixel_values = floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]) + + labels = None + if self.use_labels: + labels = ids_tensor([self.batch_size], self.type_sequence_label_size) + + config = self.get_config() + + return config, pixel_values, labels + + def get_config(self): + return ICTConfig( + image_size=self.image_size, + patch_size=self.patch_size, + num_channels=self.num_channels, + hidden_size=self.hidden_size, + num_hidden_layers=self.num_hidden_layers, + num_attention_heads=self.num_attention_heads, + intermediate_size=self.intermediate_size, + hidden_act=self.hidden_act, + hidden_dropout_prob=self.hidden_dropout_prob, + attention_probs_dropout_prob=self.attention_probs_dropout_prob, + is_decoder=False, + initializer_range=self.initializer_range, + ) + + def create_and_check_model(self, config, pixel_values, labels): + model = TFICTModel(config=config) + result = model(pixel_values, training=False) + self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, self.seq_length, self.hidden_size)) + + # Test with an image with different size than the one specified in config. + image_size = self.image_size // 2 + pixel_values = pixel_values[:, :, :image_size, :image_size] + result = model(pixel_values, interpolate_pos_encoding=True, training=False) + seq_length = (image_size // self.patch_size) ** 2 + 1 + self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, seq_length, self.hidden_size)) + + def create_and_check_for_image_classification(self, config, pixel_values, labels): + config.num_labels = self.type_sequence_label_size + model = TFICTForImageClassification(config) + result = model(pixel_values, labels=labels, training=False) + self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) + + # Test with an image with different size than the one specified in config. + image_size = self.image_size // 2 + pixel_values = pixel_values[:, :, :image_size, :image_size] + result = model(pixel_values, interpolate_pos_encoding=True, training=False) + self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) + + # test greyscale images + config.num_channels = 1 + model = TFICTForImageClassification(config) + pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) + result = model(pixel_values) + self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) + + def prepare_config_and_inputs_for_common(self): + config_and_inputs = self.prepare_config_and_inputs() + config, pixel_values, labels = config_and_inputs + inputs_dict = {"pixel_values": pixel_values} + return config, inputs_dict + + +@require_tf +class TFICTModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCase): + """ + Here we also overwrite some of the tests of test_modeling_tf_common.py, as ICT does not use input_ids, inputs_embeds, + attention_mask and seq_length. + """ + + all_model_classes = (TFICTModel, TFICTForImageClassification) if is_tf_available() else () + pipeline_model_mapping = ( + {"feature-extraction": TFICTModel, "image-classification": TFICTForImageClassification} + if is_tf_available() + else {} + ) + + test_resize_embeddings = False + test_head_masking = False + test_onnx = False + + def setUp(self): + self.model_tester = TFICTModelTester(self) + self.config_tester = ConfigTester(self, config_class=ICTConfig, has_text_modality=False, hidden_size=37) + + def test_config(self): + self.config_tester.run_common_tests() + + @unittest.skip(reason="ICT does not use inputs_embeds") + def test_inputs_embeds(self): + pass + + @unittest.skip(reason="ICT does not use inputs_embeds") + def test_graph_mode_with_inputs_embeds(self): + pass + + def test_model_common_attributes(self): + config, _ = self.model_tester.prepare_config_and_inputs_for_common() + + for model_class in self.all_model_classes: + model = model_class(config) + self.assertIsInstance(model.get_input_embeddings(), (tf.keras.layers.Layer)) + x = model.get_output_embeddings() + self.assertTrue(x is None or isinstance(x, tf.keras.layers.Layer)) + + def test_forward_signature(self): + config, _ = self.model_tester.prepare_config_and_inputs_for_common() + + for model_class in self.all_model_classes: + model = model_class(config) + signature = inspect.signature(model.call) + # signature.parameters is an OrderedDict => so arg_names order is deterministic + arg_names = [*signature.parameters.keys()] + + expected_arg_names = ["pixel_values"] + self.assertListEqual(arg_names[:1], expected_arg_names) + + def test_model(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_model(*config_and_inputs) + + def test_for_image_classification(self): + config_and_inputs = self.model_tester.prepare_config_and_inputs() + self.model_tester.create_and_check_for_image_classification(*config_and_inputs) + + @slow + def test_model_from_pretrained(self): + model = TFICTModel.from_pretrained("google/ict-base-patch16-224") + self.assertIsNotNone(model) + + +# We will verify our results on an image of cute cats +def prepare_img(): + image = Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png") + return image + + +@require_tf +@require_vision +class TFICTModelIntegrationTest(unittest.TestCase): + @cached_property + def default_feature_extractor(self): + return ViTFeatureExtractor.from_pretrained("google/ict-base-patch16-224") if is_vision_available() else None + + @slow + def test_inference_image_classification_head(self): + model = TFICTForImageClassification.from_pretrained("google/ict-base-patch16-224") + + feature_extractor = self.default_feature_extractor + image = prepare_img() + inputs = feature_extractor(images=image, return_tensors="tf") + + # forward pass + outputs = model(**inputs) + + # verify the logits + expected_shape = tf.TensorShape((1, 1000)) + self.assertEqual(outputs.logits.shape, expected_shape) + + expected_slice = tf.constant([-0.2744, 0.8215, -0.0836]) + + tf.debugging.assert_near(outputs.logits[0, :3], expected_slice, atol=1e-4) From 696c54118c4a7fdb2bd3ea22941ae6130eac8d39 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 8 Mar 2023 13:02:49 -0800 Subject: [PATCH 02/70] add test for image processing --- src/transformers/__init__.py | 2 + src/transformers/models/ict/__init__.py | 19 +- .../models/ict/assets/kmeans_centers.npy | Bin 0 -> 6272 bytes .../models/ict/image_processing_ict.py | 332 ++++++++++++++++++ src/transformers/models/ict/modeling_ict.py | 101 ------ tests/fixtures/tests_samples/ict/image.png | Bin 0 -> 1294877 bytes tests/fixtures/tests_samples/ict/mask.png | Bin 0 -> 11500 bytes .../tests_samples/ict/masked_test_image.pt | Bin 0 -> 17140 bytes tests/models/ict/test_image_processing_ict.py | 222 ++++++++++++ tests/models/vit/test_image_processing_vit.py | 3 - 10 files changed, 574 insertions(+), 105 deletions(-) create mode 100644 src/transformers/models/ict/assets/kmeans_centers.npy create mode 100644 src/transformers/models/ict/image_processing_ict.py create mode 100644 tests/fixtures/tests_samples/ict/image.png create mode 100644 tests/fixtures/tests_samples/ict/mask.png create mode 100644 tests/fixtures/tests_samples/ict/masked_test_image.pt create mode 100644 tests/models/ict/test_image_processing_ict.py diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index a705279f5f63..e0fe79b54bb7 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -910,6 +910,7 @@ _import_structure["models.efficientnet"].append("EfficientNetImageProcessor") _import_structure["models.flava"].extend(["FlavaFeatureExtractor", "FlavaImageProcessor", "FlavaProcessor"]) _import_structure["models.glpn"].extend(["GLPNFeatureExtractor", "GLPNImageProcessor"]) + _import_structure["models.ict"].extend(["ICTImageProcessor"]) _import_structure["models.imagegpt"].extend(["ImageGPTFeatureExtractor", "ImageGPTImageProcessor"]) _import_structure["models.layoutlmv2"].extend(["LayoutLMv2FeatureExtractor", "LayoutLMv2ImageProcessor"]) _import_structure["models.layoutlmv3"].extend(["LayoutLMv3FeatureExtractor", "LayoutLMv3ImageProcessor"]) @@ -4738,6 +4739,7 @@ from .models.efficientnet import EfficientNetImageProcessor from .models.flava import FlavaFeatureExtractor, FlavaImageProcessor, FlavaProcessor from .models.glpn import GLPNFeatureExtractor, GLPNImageProcessor + from .models.ict import ICTImageProcessor from .models.imagegpt import ImageGPTFeatureExtractor, ImageGPTImageProcessor from .models.layoutlmv2 import LayoutLMv2FeatureExtractor, LayoutLMv2ImageProcessor from .models.layoutlmv3 import LayoutLMv3FeatureExtractor, LayoutLMv3ImageProcessor diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py index 9360dfd26319..bb0a29c424c9 100644 --- a/src/transformers/models/ict/__init__.py +++ b/src/transformers/models/ict/__init__.py @@ -19,11 +19,20 @@ is_flax_available, is_tf_available, is_torch_available, + is_vision_available, ) _import_structure = {"configuration_ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ICTConfig", "ICTOnnxConfig"]} +try: + if not is_vision_available(): + raise OptionalDependencyNotAvailable() +except OptionalDependencyNotAvailable: + pass +else: + _import_structure["image_processing_ict"] = ["ICTImageProcessor"] + try: if not is_torch_available(): raise OptionalDependencyNotAvailable() @@ -64,7 +73,15 @@ if TYPE_CHECKING: from .configuration_ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig, ICTOnnxConfig - + + try: + if not is_vision_available(): + raise OptionalDependencyNotAvailable() + except OptionalDependencyNotAvailable: + pass + else: + from .image_processing_ict import ICTImageProcessor + try: if not is_torch_available(): raise OptionalDependencyNotAvailable() diff --git a/src/transformers/models/ict/assets/kmeans_centers.npy b/src/transformers/models/ict/assets/kmeans_centers.npy new file mode 100644 index 0000000000000000000000000000000000000000..15da07b0fa3eb2fab6f90137ed029ef094b59b6a GIT binary patch literal 6272 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 z None: + super().__init__(**kwargs) + size = size if size is not None else {"height": 32, "width": 32} + size = get_size_dict(size) + self.do_resize = do_resize + self.do_rescale = do_rescale + self.do_normalize = do_normalize + self.size = size + self.resample = resample + self.rescale_factor = rescale_factor + self.image_mean = image_mean if image_mean is not None else IMAGENET_STANDARD_MEAN + self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD + + __current_dir__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) + kmeans_centers = np.load(os.path.join(__current_dir__, './assets/kmeans_centers.npy')) + self.kmeans_centers = np.rint(127.5 * (kmeans_centers + 1.0)) + + def resize( + self, + image: np.ndarray, + size: Dict[str, int], + resample: PILImageResampling = PILImageResampling.BILINEAR, + data_format: Optional[Union[str, ChannelDimension]] = None, + **kwargs, + ) -> np.ndarray: + """ + Resize an image to `(size["height"], size["width"])`. + + Args: + image (`np.ndarray`): + Image to resize. + size (`Dict[str, int]`): + Dictionary in the format `{"height": int, "width": int}` specifying the size of the output image. + resample: + `PILImageResampling` filter to use when resizing the image e.g. `PILImageResampling.BILINEAR`. + data_format (`ChannelDimension` or `str`, *optional*): + The channel dimension format for the output image. If unset, the channel dimension format of the input + image is used. Can be one of: + - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format. + - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format. + + Returns: + `np.ndarray`: The resized image. + """ + size = get_size_dict(size) + if "height" not in size or "width" not in size: + raise ValueError(f"The `size` dictionary must contain the keys `height` and `width`. Got {size.keys()}") + return resize( + image, size=(size["height"], size["width"]), resample=resample, data_format=data_format, **kwargs + ) + + def rescale( + self, image: np.ndarray, scale: float, data_format: Optional[Union[str, ChannelDimension]] = None, **kwargs + ) -> np.ndarray: + """ + Rescale an image by a scale factor. image = image * scale. + + Args: + image (`np.ndarray`): + Image to rescale. + scale (`float`): + The scaling factor to rescale pixel values by. + data_format (`str` or `ChannelDimension`, *optional*): + The channel dimension format for the output image. If unset, the channel dimension format of the input + image is used. Can be one of: + - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format. + - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format. + + Returns: + `np.ndarray`: The rescaled image. + """ + return rescale(image, scale=scale, data_format=data_format, **kwargs) + + def normalize( + self, + image: np.ndarray, + mean: Union[float, List[float]], + std: Union[float, List[float]], + data_format: Optional[Union[str, ChannelDimension]] = None, + **kwargs, + ) -> np.ndarray: + """ + Normalize an image. image = (image - image_mean) / image_std. + + Args: + image (`np.ndarray`): + Image to normalize. + mean (`float` or `List[float]`): + Image mean to use for normalization. + std (`float` or `List[float]`): + Image standard deviation to use for normalization. + data_format (`str` or `ChannelDimension`, *optional*): + The channel dimension format for the output image. If unset, the channel dimension format of the input + image is used. Can be one of: + - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format. + - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format. + + Returns: + `np.ndarray`: The normalized image. + """ + return normalize(image, mean=mean, std=std, data_format=data_format, **kwargs) + + def reduce_dims( + self, + image: np.ndarray + ): + """ + Reduce the dimension by using an extra visual vocabulary with spatial size 512 × 3, which was generated using + k-means clustered centers of the ImageNet RGB pixel spaces. + + Args: + image (`np.ndarray`): + Image to reduce dimensions. + + Returns: + `np.ndarray`: The image with reduced dimension. + """ + + image = np.array(image).reshape((-1, 3)) + image = image.astype(np.float32) + image = ((image[:, None, :] - self.kmeans_centers[None, :, :])**2).sum(-1).argmin(1) + return image + + def process_mask( + self, + image: np.ndarray + ): + """ + Convert + + Args: + image (`np.ndarray`): + Mask image to process. + + Returns: + `np.ndarray`: The mask image with . + """ + + image = (image / 255.).reshape(-1) + image = (image > 0.5).astype(np.float32) + return image + + def preprocess( + self, + images: ImageInput, + masks: ImageInput, + do_resize: Optional[bool] = None, + size: Dict[str, int] = None, + resample: PILImageResampling = None, + do_rescale: Optional[bool] = None, + rescale_factor: Optional[float] = None, + do_normalize: Optional[bool] = None, + image_mean: Optional[Union[float, List[float]]] = None, + image_std: Optional[Union[float, List[float]]] = None, + return_tensors: Optional[Union[str, TensorType]] = None, + data_format: Union[str, ChannelDimension] = ChannelDimension.FIRST, + **kwargs, + ): + """ + Preprocess an image or batch of images. + + Args: + images (`ImageInput`): + Image to preprocess. + do_resize (`bool`, *optional*, defaults to `self.do_resize`): + Whether to resize the image. + size (`Dict[str, int]`, *optional*, defaults to `self.size`): + Dictionary in the format `{"height": h, "width": w}` specifying the size of the output image after + resizing. + resample (`PILImageResampling` filter, *optional*, defaults to `self.resample`): + `PILImageResampling` filter to use if resizing the image e.g. `PILImageResampling.BILINEAR`. Only has + an effect if `do_resize` is set to `True`. + do_rescale (`bool`, *optional*, defaults to `self.do_rescale`): + Whether to rescale the image values between [0 - 1]. + rescale_factor (`float`, *optional*, defaults to `self.rescale_factor`): + Rescale factor to rescale the image by if `do_rescale` is set to `True`. + do_normalize (`bool`, *optional*, defaults to `self.do_normalize`): + Whether to normalize the image. + image_mean (`float` or `List[float]`, *optional*, defaults to `self.image_mean`): + Image mean to use if `do_normalize` is set to `True`. + image_std (`float` or `List[float]`, *optional*, defaults to `self.image_std`): + Image standard deviation to use if `do_normalize` is set to `True`. + return_tensors (`str` or `TensorType`, *optional*): + The type of tensors to return. Can be one of: + - Unset: Return a list of `np.ndarray`. + - `TensorType.TENSORFLOW` or `'tf'`: Return a batch of type `tf.Tensor`. + - `TensorType.PYTORCH` or `'pt'`: Return a batch of type `torch.Tensor`. + - `TensorType.NUMPY` or `'np'`: Return a batch of type `np.ndarray`. + - `TensorType.JAX` or `'jax'`: Return a batch of type `jax.numpy.ndarray`. + data_format (`ChannelDimension` or `str`, *optional*, defaults to `ChannelDimension.FIRST`): + The channel dimension format for the output image. Can be one of: + - `"channels_first"` or `ChannelDimension.FIRST`: image in (num_channels, height, width) format. + - `"channels_last"` or `ChannelDimension.LAST`: image in (height, width, num_channels) format. + - Unset: Use the channel dimension format of the input image. + """ + do_resize = do_resize if do_resize is not None else self.do_resize + do_rescale = do_rescale if do_rescale is not None else self.do_rescale + do_normalize = do_normalize if do_normalize is not None else self.do_normalize + resample = resample if resample is not None else self.resample + rescale_factor = rescale_factor if rescale_factor is not None else self.rescale_factor + image_mean = image_mean if image_mean is not None else self.image_mean + image_std = image_std if image_std is not None else self.image_std + + size = size if size is not None else self.size + size_dict = get_size_dict(size) + + images = make_list_of_images(images) + masks = make_list_of_images(masks) + + if not valid_images(images) or not valid_images(masks): + raise ValueError( + "Invalid image type. Must be of type PIL.Image.Image, numpy.ndarray, " + "torch.Tensor, tf.Tensor or jax.ndarray." + ) + if len(images) != len(masks): + raise ValueError("The number of images and masks have to be the same.") + + if do_resize and size is None: + raise ValueError("Size must be specified if do_resize is True.") + + if do_rescale and rescale_factor is None: + raise ValueError("Rescale factor must be specified if do_rescale is True.") + + # All transformations expect numpy arrays. + images = [to_numpy_array(image) for image in images] + masks = [to_numpy_array(mask) for mask in masks] + + if do_resize: + images = [self.resize(image=image, size=size_dict, resample=resample) for image in images] + masks = [self.resize(image=mask, size=size_dict, resample=PILImageResampling.NEAREST) for mask in masks] + + if do_rescale: + images = [self.rescale(image=image, scale=rescale_factor) for image in images] + masks = [self.rescale(image=mask, scale=rescale_factor) for mask in masks] + + if do_normalize: + images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] + + if masks[0] is isinstance(masks[0], PIL.Image.Image): + masks = [to_numpy_array(mask.convert('L')) for mask in masks] + masks = [self.process_mask(mask) for mask in masks] + + masked_images = [img * (1 - mask)for img, mask in zip(images, masks)] + + data = {"pixel_values": masked_images} + return BatchFeature(data=data, tensor_type=return_tensors) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index d37b2534f53c..559ca055dca0 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -744,104 +744,3 @@ def forward( attentions=outputs.attentions, ) - -@add_start_docstrings( - """ - ICT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of - the [CLS] token) e.g. for ImageNet. - - - - Note that it's possible to fine-tune ICT on higher resolution images than the ones it has been trained on, by - setting `interpolate_pos_encoding` to `True` in the forward of the model. This will interpolate the pre-trained - position embeddings to the higher resolution. - - - """, - ICT_START_DOCSTRING, -) -# Copied from transformers.models.vit.modeling_vit.ViTForImageClassification with VIT->ICT,ViT->ICT,vit->ict -class ICTForImageClassification(ICTPreTrainedModel): - def __init__(self, config: ICTConfig) -> None: - super().__init__(config) - - self.num_labels = config.num_labels - self.ict = ICTModel(config, add_pooling_layer=False) - - # Classifier head - self.classifier = nn.Linear(config.hidden_size, config.num_labels) if config.num_labels > 0 else nn.Identity() - - # Initialize weights and apply final processing - self.post_init() - - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @add_code_sample_docstrings( - checkpoint=_IMAGE_CLASS_CHECKPOINT, - output_type=ImageClassifierOutput, - config_class=_CONFIG_FOR_DOC, - expected_output=_IMAGE_CLASS_EXPECTED_OUTPUT, - ) - def forward( - self, - pixel_values: Optional[torch.Tensor] = None, - head_mask: Optional[torch.Tensor] = None, - labels: Optional[torch.Tensor] = None, - output_attentions: Optional[bool] = None, - output_hidden_states: Optional[bool] = None, - interpolate_pos_encoding: Optional[bool] = None, - return_dict: Optional[bool] = None, - ) -> Union[tuple, ImageClassifierOutput]: - r""" - labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*): - Labels for computing the image classification/regression loss. Indices should be in `[0, ..., - config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If - `config.num_labels > 1` a classification loss is computed (Cross-Entropy). - """ - return_dict = return_dict if return_dict is not None else self.config.use_return_dict - - outputs = self.ict( - pixel_values, - head_mask=head_mask, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - interpolate_pos_encoding=interpolate_pos_encoding, - return_dict=return_dict, - ) - - sequence_output = outputs[0] - - logits = self.classifier(sequence_output[:, 0, :]) - - loss = None - if labels is not None: - if self.config.problem_type is None: - if self.num_labels == 1: - self.config.problem_type = "regression" - elif self.num_labels > 1 and (labels.dtype == torch.long or labels.dtype == torch.int): - self.config.problem_type = "single_label_classification" - else: - self.config.problem_type = "multi_label_classification" - - if self.config.problem_type == "regression": - loss_fct = MSELoss() - if self.num_labels == 1: - loss = loss_fct(logits.squeeze(), labels.squeeze()) - else: - loss = loss_fct(logits, labels) - elif self.config.problem_type == "single_label_classification": - loss_fct = CrossEntropyLoss() - loss = loss_fct(logits.view(-1, self.num_labels), labels.view(-1)) - elif self.config.problem_type == "multi_label_classification": - loss_fct = BCEWithLogitsLoss() - loss = loss_fct(logits, labels) - - if not return_dict: - output = (logits,) + outputs[1:] - return ((loss,) + output) if loss is not None else output - - return ImageClassifierOutput( - loss=loss, - logits=logits, - hidden_states=outputs.hidden_states, - attentions=outputs.attentions, - ) diff --git a/tests/fixtures/tests_samples/ict/image.png b/tests/fixtures/tests_samples/ict/image.png new file mode 100644 index 0000000000000000000000000000000000000000..5b50551e533e5b3ec703de359b0ea7d8d0b52d0c GIT binary patch literal 1294877 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

(+`m{2 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

Fi`KzfDo&M*`O1m<)_ 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�zTLxl&dfM_E{6sN2M)%bNQrFLOXs2IhFO)vg7f>vwJEJrCyqupN~TTpw#lhl zS+nl3I*I&RaEd)MC39Z3Vr6WKE9JP`xBo!eb39s=6!cX3sfvazTQ*lPKj%coM!L|N zI6ql4!9hBdH`xUCbVYl?h{S{aO-7+#urC>yF>ePiz|iUAWXQRp;W~(IdFEn&WSVk- zdj{vK;0^jy`Zgz-?=!i=TNNp*9)2XUVQyf3rL}5# zjP}@Goq_e2UwoQVM*E{5&Q4pJ-WXoD%6PQ~wAtAi12c&R{uUU;Q&wgy2I$BH-Rbs9 z?a+}nDsTs0>cJ{lBr95`lW|l{3G|SeXJlcXS9vhHo>#g_#^*?B>k#k`{M!12fRK5> z;{iU(g78M5FYuw(f;yd~UDo zE56@2KhjGr*G-z#o&C%q3CTb%ddX)40|T{p=-PAeRyve1;ec0rZN^=iBn~`~E;0}t zz8kxX{cU``;_#|zDNR3`RuKF5?+;%-QtKhx>FaPpdnuXe__X8$Jj!!VpK5q1`wKm& zM61JoqBoWP8#=mwe{5P6X=|hOGPXqCoPaV`Z^TImrsy=(l_%0pUp4v0}OxLq#_Mh!RKk^(pq3<~RIg&VP>V+19-%`yh$X>Q2@G(eec%Q>92F(s9QhKmWtG`&Y`zGNe_4apPj9Ql zu6XY+#XqrN!L&FI(+VoMMn4BD_t{tUZEw(>ENXT)y1=_+-&u#bpg|eGVCfm)qs_yN zP6y%LEV!zs13y)MlFIfc*mgSjzyYYOk?U^WOwaYm0R9O!Q`lhUGdXj~3AfRaCPTbn zpZVdDYz}ikJ1Psd?gZVE9G3MN4^Fmm*Yk{N z-s~37^ch@laCc_WJspfp)S|6%q9!RSfjIVn_1HVtn>(B_NBfL_@G_JG@JJY)!w))R z&_a}JQ6!yg+Z!cR{q*#isk6_;jGc}s3vRY)XQS{TAa6p20zNiPR`1-&W|a@G$>f3P z7Vg2u01)Z16d+0=0ySAc000XGK=)wikPQHR?qwVd8Ip2TF$leUMrq12in#O}QP1sO zzyt^YF}7<1qcS?iK8aBijVy_=Q}}~5pj&3P4>=Z1d#d2=5w$_XUeSZ z<+GLo_$u_;Z1uvacyqI9r-iM>+OxGM4ggI{?AZTEPqqIy;kP z7MNmG_M#{K(!h~nC-YBMmnL?I62!|DN8yR!;;&e;Df0m8&Y-Ko%!Y zw(LV?i6VgJkw=%Zrzg_%=`)HsVy=jq;G4H7ho^+d8GiN`g3A0-DxiV36UQjP(tQbP zdq{vHc8aS^LokwENvW_Ff`!(B|-X-9X1n+_PcHxiECFGIp!P}Dq|FoJ^w z0ww`p{Em1KALfA2eC`zG&L9s5i#_+8Srg|JtT7-AP{{?w_J96g{?{@@TNvRi;@q4@X#XZn3a-rW zZY>F|I=~0B=eVWJ&Yn9jLORZje1^&B)kVN7d8JtPWu4DG|4aklFgZ>E>ul3>7E}>e z>qnb#9Q?rmGvfdx;H&{n5zh7nZg{&MU87$(2d)^h&+MT{(a}TzdlGrpV~CNZXNJBe zoF+rLc26>IIMg|r2ueyO2kP;_Y%qL_q0d=i|Mu)*=*s|U`fpsBekJp|7lUM|b!l#* zC0V;*g0eaI!P)32_B9W$s=Z*y4jed8^W!wGY~JvM`Sa$)QIuJj_#ht!v%Gsa6J7K647F-W)zB1gEAI0tfoo z&frSM;`m{J!!brG;Z4z`NW!6!!DkL&xGJl`e(2)?pD1{q?Pb39qD`}K$1`1rAIkJY zpHyT&=RUHg8pms5;H6*Jl&b;=`Z>F?= zZJeo}w%&f@cco}iw(xFysFduXb!&^?vWub9S6ct^|NZOMFaFEl6|FA_ zjbFQbK6^5%wSV`H;B!ao;dN_T|Kp$kPr;$7$%>A=4(ukRxipxbIX)OCW`dG|iGDDg zf9M_#;0ZG39$oWDImPfHdrA4#I}RU3*9&1vnSdnHl$lhMf-cDMpvg+Z}>`}TUKvAxhV zKI(7Z;V0w*9cJ6M9C(t9-C1$oMjNVfGY$qc?Yca=vUO$bo=;Z4-pWdW=Pk%7qjBnt zi(zV9aH4N=WG(FNi7uJ80?~P1`_6ZZwzq9fMsIqOHD$Un^nafnMy~JNz9Yff$l@4~ zWZjq;wPd{N2z%1MY(@0v7-soBOs2|^KZ;K9$>*P!{_x1El@*{ne&SSg(-S$Fc@8goJN;m4j0j~d2m)e^2j5Fr{o%b4*ujH`b59< zb9n7<_l^tBz3|e@6_nbzaZ@=pUx+ciWXY1+U%cP_Te64KvR=-AHXEJ5>E`%H>ABI} z^%nfa&;Oz3|CO&i-TK+je%|`_x4#>mJ}25AN)NvI>9H2LT#Zxr@kbwS9ZnF{;T&Wv z+@`b9k(KV5zvKpoz$}cz^1Y8fZvDY?&y}G{Czu&r|MJTX;c@4R7eD{P3#FsMQ<<4? z1g*ofgE_F{*0sy6P2nZ<9czQDo&kn!J&0X^mdOI^rdN{VdV--FaDY2s{pwe156E6R z2ge(yg*{K3t`(`?bHS_yq1m2#uCeT=mRQd{`&{uhwkf(~7g}rC zei`2!;0`|T^TE(2S~MnI8-BS*#w0ueZ|k;i?jtSM0gdV`GnmXQPz~+3yG8S@!c*uAMqHLHCR+fImHfa%-l~YA*zT9NwlHjE>OT zx2W(!&{meLwaYYy`)H99SRlc?!G{gbIY>sKNAT^-7!J1)MDJhPAKv94p!9*vbrM`; zvi1aS5)5Rf9z1v;GCc`dnUh!9l;cMiUfU-J>=_%aIk@v`WFU7L8seWYN5LKYtaTQ; zwU_t-m>SQ%!XGp@n0+Vv{mqYH-|!3B#BgorPPS!&SkYgNflt5#YxeRSa>-uc1LlYh ztlf9!IU;@pdZ~Hfapv!t_=s!F2Rw{z9`5zic;+}WaF%E^sxx+co+IH!0LpXVuSy!d^h#JDhqIT4i8 z17M1;vJe1!_>rau+t?U5ZsGvcT+)L8&tfz!o;f|u_fvv5KMp-7+_k;O6QU$ljdPR& zhC73qg3)>~w-&+!+8E0XKrPg(90k!p80v`DPYxf?y-zdA3j%P$wF%pIkidA}#)76{%w^7ioAL`0t>H7n zrHm~~*;L!{cK?2|8?ru`e|PRHl}`3aG8JU~1qj6$ILQ!KxMn%q#s(HQg4j1AJjTXA z9Fg_#o!*FNTz>(K2xB2UIf5L3p$zo&=`?&z1V=wMrh1R z$rs|mfU0SG)=0@?beoeXAEQ-PBqGG@WJnQ8oP7{nc?yHf-waa@S%_ZEoMW7db{L!C zYCRlpdX=q6Imy+WLPpW0+(Te#sTVIMMK)1dP6WL@DCL|M^X7FIQ^Ryc@F-TYIynWb zfq`ew5h~#+YO3@O5pe!sAOx%Hz=P7tXp|NWx8V-LC7{6!5uyRt`VK4!07kCg^_rV9 zBN=muDc8vAk!eA3ypwg`jkE5!&zdk{!WcZ1XmL(p;EZjhHk{EI8d$n~Js^4Wo6~hJA34{)QViZmi!ac0EzR2tv%#E2vTq5%5K?1gd?X0N<(m zMZ4*LR{PR8`6+AWZ9k{S`Sa|vPvxHAMTBEp$u@>;ERkIb9Oay{C5wX+2Va!i!#6mp zpNu{7JcbOWO#$)~JRA~4S%jmqQ7}&BjU_AsH(76R@|`f+4I93!JyI5lp>w=wVmvPM zmD#|_NA&)H2ONEP7`f2i8*8%{f-L9^KKf2mTuvC}75Fy1Wy~^y zJ=eVKljk$4!4D7j9QcY?j|>kr7I;{YNMmns@6ol7MTY2;k}S#apfM>q)ja%IoXBJV zys{=R1XnOy9)~(bh){m(t+(nsu=cVim!mjYrv~X0GVW7R6z~WK4v>M5#p$OH*v0S@ zJ;Lw@r*)1A&fo(>d-ql#2LDn*Y|acMj!}a5R18R;;TQU48XN3cD}$t?Ma)y&qbSxGKkBNBGw01i@sp zJ5f_+3tl)Pjz&uDjyNn9_AE-~%BuQIDW5qw=*JpFe@~x2lM=GD-^lvVA4l(%l+n;@ zWQtK(Wu(JV<*b~NvSBxEN|s-gtBHaA2k+<9;}|3*7w;s~E^}8EAo4D=`Io=^WoyLD z>8&6A@UL2b@fUxQ9#A=bHAb?NcgLsC-Q;9xcSPQA-S|bpcmMz)l9CzL`oa@o@&2HzzUvh~M`0^+kry zEF(da^gVlaXTFz^XVrOgX!aH5h~EL`rsP#~gc{ z4(&ZaAI2w}7*yu3tlXhb4mO#TF|TA#^?7oNbV#Ih?#aRBY;Sr@M|aP_8~~GIFwKta z?u>4G=2EimqCe4T={@zF$WAAM)7O?P?Qi|3AOB73^G`l1UL+u*2kY_3u#kV8d&X4l z)3hLQ{}byT4_p%@iDOI;)8G8+7p+5~mt`wgwU#bfRP&Ube=9iS;3M=hVnq7zBh z3Katmz|achMED^7kH0+s?DMVHzxSPFNgghE(rw5*@*b?oB5!gWF5;1#N}D%tuIpuv zJg7YIUZAkEU~yzmrVSvMXa8=I59swRTpf;SvN zvb^Z6Xl3`#Z5cmhmVy1g-P>E|o_-?EzayTwnyeVIab@%+2Xr(#v@ErrlIi;0aagO)p|?29 zhK^{D!HaxEm)_(!dhr=}qFL~S8-jf3SfEC>q<*ZNpRNsL4fyzgU>(xOz{@`0#7RoF?+7pVcA5PkG3rA zH|+xO6pq^2-RZ;p%rljV?;r_IJ~F)Y+`wO=0jpHvf$#BrGMfC8HRyy{@_;<*37&u} z9Kut`xyV{P4*!`OE3 zE&O!Kx!36V$(qjh_Jm{49u1vsGSl|&+gI}z@VlDoMlxHLT+GMJDdn)?J=O^hvM)zQ zf5}AhdopWd>s7Dm_z4{JiPy84Hf`DxetRkoTYeYSe94s0bIW#$UJr-pNAyyAN1ovy zXbC*wp#z-oH-SvB_FZS5J!4)H5F$&AQS_Ai`9SvVZ7Q+!>2z4v`M_V&S6B38w%Lu~ zIa&$Ymd(OPFmYm26~nJ{?S`IyP2v{^8@g$-CYw@n4puACc0~_Bus2@KEAX%%?y*ns z29L4dco#==|HvD!SUTE&S&T9K?HY)3<(dqFwxchfr#bIk8ikDt<5K$5%ryv;d%VmWP&JPhsUH>P{&o;| zFbepG@4j0OK&k2{q8QIf)KC=qp)fqgiKwrvv-2}4N@t64%DQ5RjgLZfC&UwKD2JBb zZ`RmkpJnso{g3Gz!HiL)d4G^{b`;f|f6Vf6^vKsZI!$CfXFkj3bHi17~_7e2hyeD0~S6^ttEw>Hg7ShNseCSvh49 zYo6$H3bc~NWy@Ani7z8Z*2TPe-6hbK8=e_D7lu8f_2%2});>*18HL`DXQB)YXB{u+ zpo%A+e6mhjl(s!IBm?SFDK!jR^RmxgqDmZh9EbK`R-9#&oG}^4DUJGZIPvykGB1t< zzKqX!czfPoLgXG;00c za8JZirj%>kgN8kuvDDyV(@1&Cmd$1SG6FCw_bH8sb4z2eb5Ma9BX#%gUHN=Mq9Og& zU|+NL=3tpt%W2T?171)-4<9~KOcf7uDk24j(Z6%Yj&dY`9p=t);X8AqkTQauR3)SG z{rBE!?cR~*#F@W_;Edpo{8QRJHbE1mo?wA_TQj`%YOmM$1P_HCQwIx-xeT!I9Dl=c zFSrHQjAb3*PvJ$suCwRu*X7I20YC7SLP@#tY|pV*gt6y<1$s9J^CJM;iikZJ6Ju_4 zl>ZyS@5qIs0~u4C0u0T^9$WkS=Qk!E+;FgGrj(j0ej=Ry)8W?@SI#xQ<<~` zGN+sMi6&Dntjm0iZ;#HJC#50I4P~A|sn)pgZDqiFqYNEAeysSB({~9!8NJpCP68jj zy}jAfg9ST^obfpu(T1O;&}1GQ0UTUl+!NZS5QL%CzB(D%fgOSbP6O7AU6!HekUv$P znFTsc+WmTx$O_`LS^w^Pt;vj%-_s&Il?}8gIHVam+^~Q4sC&-bDrYgK`5!%Ty!M#V zffw0h&I(QX;kq?^B|O0W8@||6^x%Mr?V%TP`=RM61L+={UP4E5{h8JmpMO#Fu;=i1 z;K1Q13Vp4uo3~VCnL;H1MiG|{_(^)0agHB5dOZ8SHO~G`C9fC6;lzoif%w9}SEeqb zLuPn@R+)MNN3uO-$2$FeU-qgq`&QXMk*DKBvwI`Qj)dMWC&Ob*}{yIUWIzK;eE(VCOz&}~=f0euwyP6BFqM zyL%~tR1&Nl`r>ftEG4uYON@1a4vt0T8;chAr3ciPp`GY9!OPQe7DoW9Kvcga37&3k z&3|=n8F~6Db2M{SaTY1#De{=Po9d zBCn1S!KJ_yjlwtl0uAE-GCIjCpRHK7yvoZqe(_~F@xJ}qYsI5w^!}g!`~Q(F*7Pun z&SM;olO2&S^nusD`G=)5!G$(&_MF`@D!0V3bm{W-=yWm2^BleLdLzG-aW?#NMesLH z%;-iO!-6nmka5A$+|VPu#Ao3zgJMZvPyNK>81oEuw9$65xYvvPaR|@Z=$10TIk$Xw zE%4!37!z84Xht%FGaly>XY}aM^@$uRbtZCfe7+wUXTtrl(dWCgKuIP_j6hA?>15TP zF8E20<;*`GesSdR!QhTetmqE$OH7^=+6>-@jmM!T`#9NeS^tCFb1aTF6)C^@&2N%1 zbT*dm$krdc`fB7u46?xZ_3wPU_GJC~_kzcfec=iA?tZcfIX~B|d9>Bj(_4lRr{Im) z2^=1>3GcPyAPl_pp4_!}Zw0*RJre_4nKOEO@7=XK@|JCs;BNQ_8Gv`#-~aym->*aP zUV8C`@R2P=W9SJlvcDWZbO}7f-}sckn|Rt$oe?24|)4H+I}m}}80=kO~p zzfxtj_C}yu&uG_h0B}N1&u3(2NAx+ThLXRYL%wuot#kpj*WlM4dgCx3yTKpT$da4IF@HaE7hwTH~7!KEUom*T!0q5?Vap@7C!$ z;}qRxt=8G5L-6t%KfXy|a-FxtgFWFt?dV&ut!wb^p zCA`D+H{%su7*6p*=A>(Y%J|BuxS=$8})SS-t z8JzfhIHTY){52H9{M{I6uXL=y{Zd*O*#mwQfoc0q zR@nn^1Vb72=+D@Atv#fB2oR~B2pX5(0N0Jre!@=#<>0i>?J;=RPy1{>;OlcqPO9t7 zi~IpIKdsXX4!I6)8pHi)g05l=I=Q_Adw2}ap5rrPg1z>B;c7EfIgV$?4x<-$>VrYGH(QXoYd;!vFC&z%+ZAmtTc zmnf_w-bJBjCIX9LNe3U5lZL^gVIYk&6%4`4yNy5)0uo}5g$zM1UUdCK7*81ULs8_F zta6xG_mwMA^zv+t%Vm@hBDZg*RQLD7kTK5@D6+R8iu}ZhT~T~Q?&DyMQVWKJl8hRL zKBwsP=`+gtw|#p~$;_#In6|7L$ZtH%-|vL5`J1n(DMgw?#9A?BQS(3f!9OdaRg&hq zG8nTizuS9;>)ks|S#g5{NgI!mL#T018lThAS_unyMA4uGfC)SSOP{+I;UQ)Y7nw>2 z2KE=D!C=gbFgSAbcp~dV&hp>jb z9WnYuUdP4ZOz4Ol_a-X`^Vd|F^Fg+cOi3k_PT-^Hi2{v@k~Nq)?AW=x@b_k(aUvP3 zoV$kyQ|1%_;M7BhsBoAw9_+9AH*gD%WF5wn-H0hOYB_+%WDgn!%hB8!96VJF34_8X z;1%ZQcXa0Ge-)}7#aQ9CXUbsRzn>9vruL0erYFO>VNJ?&D8lk(!SnRe2yS4SqEaIA z*JJoN3SJ4NEK=FJV61EnF2S9Flu}8jmx+vz5R7_w=#^3q=*-~i* ze;kgBL;KseZ3~X36fnZnDaW$kdLl^lH5H{(u6Xro)7zLD4 znVkNHYre;$;2iwIe)X%mRuCTbvnGZ*~)BkM4h7A=} z709rz5-J%tLuMTjED^S05fQ}WBMY21*_WtzqCDs}tk1dDd z%o)l02u~0Uk%h!jdn86GhvUqdQ?u4&!epc+i&Byq2Myi}@3c=)QcSMQ4Q!uz?zze$ zB=0Yck};EBOjoYf-aRti>10cj9Wq$i%-S$e#AJ>+5MbkmP30JpExbC$-a~N;eDu+W zRUYNWD%YnGcX)ke5`~|mY4V4h^Hz$nWN~-}Y$QAp#FfvaW zGuZ~mR6A68Ri3wc)$(LoCKEBTarMd-4Ic`wUA>wNp*SOsMNgopz45!>)*im{$}6qE z`49i06msRMLpKw z=$6Px&T6!bFEGYACX^%HOGc1#<6~Kb

7g?w|eaXRR6GeQ&?< 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 literal 0 HcmV?d00001 diff --git a/tests/fixtures/tests_samples/ict/masked_test_image.pt b/tests/fixtures/tests_samples/ict/masked_test_image.pt new file mode 100644 index 0000000000000000000000000000000000000000..59b649e016bf834e90658c3a04794408c2d4d906 GIT binary patch literal 17140 zcmeI)Pl%n>8OQOPKPKt8D8@y|MrZp;&@KwLQ3CBmom#4~6hb%!ja{5~;x;^DnBQOe&6AT_aB_;AJ{*?fBPd3 z9o@a_`rg+*`1$VY>G|2?(}%Y2J28Lw=-kA<<1^nlaro$gee*NN=4OxYd-T&2gWj#T z?p;3|e{SeG9BQy?A!K6D?6HGiS!kOWtlqn7=(1z5X78FIryn^nSbKMG!~Ed7FHiRF z?yWsFSU0)q)L{Mhr>AF+9-Wz z`_$z64R<{K_uoA+9BcGD)s%Td?~_$#f5+}!H(x381G(4yH9N|B_|tFjp9|eRet1j# zFNH_Kv+>v7MgA>{uk*G1U(Wpao#a({BJK1by)E)Xc~$BkE#By-_Ot10kzeH(i!L^{ z>Z4tK>bPwAV?XnaOZ5}q#hWv}`MYR6UoUk~M|EIVszcX2`sG*k)A>=cRVR7i+tK~r z!uIOf&s8V?N`7>0%{W;7+5BrAmTRkD)nBh4`}Vcyzm&Z1Y3v{QqVd^Xto7*fUu=J^ zn|SrEygz!MF6)0W?fi{{bXS_6-%{CCC;j7&&z~OG^M&Z9|Hsk2yP?18tv3DGm0!zG zzODGKesTPe{M|im%q4iNpGe5)VR8R;Pic1suk+RxVC%CDto zsqN-lF0CuhX5Hx;m+~;qn-O+?sRBFV%!l%1k4yPlH+HKI+KtcundJLc>i1Z9SJ)wE z(cShnj;p_wKOJ--fAl`?xn%rm^!+OKyRm;1-o9vM;|0)tQ|6JMypb;b{o=2`QaoNv z+=1|+@Ha{K`S91_x6=RDa6DDrUh7gI1{;HErFTRty%ESCERvrD+uhniG{pLaI&31oxA4l!(E1pX{nEcg&u9n`J zuiE_RG>+H1I}=ZD%pTq1(KvK?e&KnAI-Jfx{KOfji<=YQ5BbZV z?SB4Z)Zt!LPZ)2@D=U!6#vFC^Y|-O^v{A#bd@E@a$yGS8vdcw5@V%ae^& zcfy+MUB_V~ef4>zbvm0ow`3x9asB@`{XYm#7Jc7N`yiwfwf{G9^1_yGuj}@?^%RHN zTcrE7%i?_=D@kw3pKS||KO^7?b; z^*M(=pNsyH{-;8Ew!X4pT8P7V) zvqkz*TwOo;zM1jaDBgWy5I^@3aq7pW%YDQ8Reh&2-Y=qaPi*sq8Z3(4aW+2 zee3<>rR44YDNmFy8lT<8T8}RO#rD^_iI;!n{n6|E+xmMw<8K_KyVCspmddU==^uA| z{`9z>y{^;0a{iwUQBdpLT6gP@HID7vAG`d;jZ5oY={{BDjcwXLtvtrn!LN(0dAi!^ z=Es)**n%65#xXw9!|o#g7H9K%Y@9l8jpJvX+1QY?=;qe==BZTw+TOBTy7-Y1G|!LR1aLN{F*PDJ~~i4YOkc*`OM1s z|H8^R_s4U&9;_ca_jR44_DbiZ>TP|{x{gchDIRM)ze@gIzg(yGGd=WU)n9e8=|#_- z#`;5=ziz=cRsap{=ZPDCsU_g;VXsuwZD=2o(Wyo*3tVI_i^OU zuZz|Roi94y^*P7uhtEYT=l=@}H>^$B1xAXl?@pHcVKy3YIvOmPFoc}Kr zXyyEWp$@KBpXcl!`^tTIfA*F0_7>g8|6kAlM_)9s`JO$`_C7xpH2iIU(ZI%G_Z8o# z@aW9(x#4#h?B4acF~4cxny(&szhURZD1$%#{NPtt4-**uPED>F;qrGnT=_K!H;y{4 z`ne(_-|$cexKiE?R|SvW43z=;J8Jlqxox~EeCi8Vg{LA@lk3*q7QdU;eCl$4h1;;)+a literal 0 HcmV?d00001 diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py new file mode 100644 index 000000000000..224153dcf39f --- /dev/null +++ b/tests/models/ict/test_image_processing_ict.py @@ -0,0 +1,222 @@ +# coding=utf-8 +# Copyright 2023 HuggingFace Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +import unittest + +import numpy as np + +from transformers.testing_utils import require_torch, require_vision, get_tests_dir +from transformers.utils import is_torch_available, is_vision_available + +from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs + + +if is_torch_available(): + import torch + +if is_vision_available(): + from PIL import Image + + from transformers import ICTImageProcessor + + +class ICTImageProcessingTester(unittest.TestCase): + def __init__( + self, + parent, + batch_size=7, + num_channels=3, + image_size=18, + min_resolution=30, + max_resolution=400, + do_resize=True, + size=None, + do_normalize=True, + image_mean=[0.5, 0.5, 0.5], + image_std=[0.5, 0.5, 0.5], + ): + size = size if size is not None else {"height": 18, "width": 18} + self.parent = parent + self.batch_size = batch_size + self.num_channels = num_channels + self.image_size = image_size + self.min_resolution = min_resolution + self.max_resolution = max_resolution + self.do_resize = do_resize + self.size = size + self.do_normalize = do_normalize + self.image_mean = image_mean + self.image_std = image_std + + def prepare_image_processor_dict(self): + return { + "image_mean": self.image_mean, + "image_std": self.image_std, + "do_normalize": self.do_normalize, + "do_resize": self.do_resize, + "size": self.size, + } + + +@require_torch +@require_vision +class ICTImageProcessingTest(ImageProcessingSavingTestMixin, unittest.TestCase): + image_processing_class = ICTImageProcessor if is_vision_available() else None + + def setUp(self): + self.image_processor_tester = ICTImageProcessingTester(self) + + @property + def image_processor_dict(self): + return self.image_processor_tester.prepare_image_processor_dict() + + def get_masked_image(self, format=None): + image = Image.open(get_tests_dir("fixtures/tests_samples/ict/mask.png")) + if format is 'numpy': + return np.array(image) + elif format is 'torch': + return torch.from_numpy(np.array(image)) + else: + return image + + def test_image_processor_properties(self): + image_processing = self.image_processing_class(**self.image_processor_dict) + self.assertTrue(hasattr(image_processing, "image_mean")) + self.assertTrue(hasattr(image_processing, "image_std")) + self.assertTrue(hasattr(image_processing, "do_normalize")) + self.assertTrue(hasattr(image_processing, "do_resize")) + self.assertTrue(hasattr(image_processing, "size")) + + def test_image_processor_from_dict_with_kwargs(self): + image_processor = self.image_processing_class.from_dict(self.image_processor_dict) + self.assertEqual(image_processor.size, {"height": 18, "width": 18}) + + image_processor = self.image_processing_class.from_dict(self.image_processor_dict, size=42) + self.assertEqual(image_processor.size, {"height": 42, "width": 42}) + + def test_batch_feature(self): + pass + + def test_call_pil(self): + # Initialize image_processing + image_processing = self.image_processing_class(**self.image_processor_dict) + # create random PIL images + image_inputs = prepare_image_inputs(self.image_processor_tester, equal_resolution=False) + for image in image_inputs: + self.assertIsInstance(image, Image.Image) + mask_inputs = [self.get_masked_image() for _ in range(len(image_inputs))] + + # Test not batched input + encoded_images = image_processing(image_inputs[0], masks=mask_inputs[0], return_tensors="pt").pixel_values + self.assertEqual( + encoded_images.shape, + ( + 1, + self.image_processor_tester.num_channels, + self.image_processor_tester.size["height"], + self.image_processor_tester.size["width"], + ), + ) + + # Test batched + encoded_images = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + self.assertEqual( + encoded_images.shape, + ( + self.image_processor_tester.batch_size, + self.image_processor_tester.num_channels, + self.image_processor_tester.size["height"], + self.image_processor_tester.size["width"], + ), + ) + + def test_call_numpy(self): + # Initialize image_processing + image_processing = self.image_processing_class(**self.image_processor_dict) + # create random numpy tensors + image_inputs = prepare_image_inputs(self.image_processor_tester, equal_resolution=False, numpify=True) + for image in image_inputs: + self.assertIsInstance(image, np.ndarray) + mask_inputs = [self.get_masked_image('numpy') for _ in range(len(image_inputs))] + + # Test not batched input + encoded_images = image_processing(image_inputs[0], masks=mask_inputs[0], return_tensors="pt").pixel_values + self.assertEqual( + encoded_images.shape, + ( + 1, + self.image_processor_tester.num_channels, + self.image_processor_tester.size["height"], + self.image_processor_tester.size["width"], + ), + ) + + # Test batched + encoded_images = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + self.assertEqual( + encoded_images.shape, + ( + self.image_processor_tester.batch_size, + self.image_processor_tester.num_channels, + self.image_processor_tester.size["height"], + self.image_processor_tester.size["width"], + ), + ) + + def test_call_pytorch(self): + # Initialize image_processing + image_processing = self.image_processing_class(**self.image_processor_dict) + # create random PyTorch tensors + image_inputs = prepare_image_inputs(self.image_processor_tester, equal_resolution=False, torchify=True) + for image in image_inputs: + self.assertIsInstance(image, torch.Tensor) + mask_inputs = [self.get_masked_image('torch') for _ in range(len(image_inputs))] + + # Test not batched input + encoded_images = image_processing(image_inputs[0], masks=mask_inputs[0], return_tensors="pt").pixel_values + self.assertEqual( + encoded_images.shape, + ( + 1, + self.image_processor_tester.num_channels, + self.image_processor_tester.size["height"], + self.image_processor_tester.size["width"], + ), + ) + + # Test batched + encoded_images = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + self.assertEqual( + encoded_images.shape, + ( + self.image_processor_tester.batch_size, + self.image_processor_tester.num_channels, + self.image_processor_tester.size["height"], + self.image_processor_tester.size["width"], + ), + ) + + def test_example_image(self): + # Initialize image_processing + image_processing = self.image_processing_class(**self.image_processor_dict) + # import image + image_inputs = Image.open(get_tests_dir("fixtures/tests_samples/ict/image.png")) + mask_inputs = self.get_masked_image() + + encoded_image = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + masked_image = np.array(torch.load(get_tests_dir("fixtures/tests_samples/ict/masked_test_image.pt"))) + + self.assertTrue(np.array_equal(encoded_image, masked_image)) diff --git a/tests/models/vit/test_image_processing_vit.py b/tests/models/vit/test_image_processing_vit.py index 171ce65e74f1..96b865cac67d 100644 --- a/tests/models/vit/test_image_processing_vit.py +++ b/tests/models/vit/test_image_processing_vit.py @@ -98,9 +98,6 @@ def test_image_processor_from_dict_with_kwargs(self): image_processor = self.image_processing_class.from_dict(self.image_processor_dict, size=42) self.assertEqual(image_processor.size, {"height": 42, "width": 42}) - def test_batch_feature(self): - pass - def test_call_pil(self): # Initialize image_processing image_processing = self.image_processing_class(**self.image_processor_dict) From 0ad218e591e52203cee0e8d8a2f4298626f44117 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 10 Mar 2023 02:28:48 -0800 Subject: [PATCH 03/70] remove tf and flax --- docs/source/en/model_doc/ict.mdx | 20 - src/transformers/__init__.py | 4 - .../models/auto/modeling_flax_auto.py | 1 - .../models/auto/modeling_tf_auto.py | 2 - src/transformers/models/ict/__init__.py | 41 - .../models/ict/modeling_flax_ict.py | 688 --------------- .../models/ict/modeling_tf_ict.py | 827 ------------------ tests/models/ict/test_modeling_flax_ict.py | 187 ---- tests/models/ict/test_modeling_tf_ict.py | 249 ------ 9 files changed, 2019 deletions(-) delete mode 100644 src/transformers/models/ict/modeling_flax_ict.py delete mode 100644 src/transformers/models/ict/modeling_tf_ict.py delete mode 100644 tests/models/ict/test_modeling_flax_ict.py delete mode 100644 tests/models/ict/test_modeling_tf_ict.py diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx index a7d80c4ac37e..d0d9161e661d 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.mdx @@ -47,23 +47,3 @@ The original code can be found [here](). [[autodoc]] ICTForImageClassification - forward - -## TFICTModel - -[[autodoc]] TFICTModel - - call - -## TFICTForImageClassification - -[[autodoc]] TFICTForImageClassification - - call - -## FlaxVitModel - -[[autodoc]] FlaxICTModel - - __call__ - -## FlaxICTForImageClassification - -[[autodoc]] FlaxICTForImageClassification - - __call__ diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index e0fe79b54bb7..e1e983b9ff50 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -3583,7 +3583,6 @@ _import_structure["models.ict"].extend( [ "TFICTForImageClassification", - "TFICTModel", "TFICTPreTrainedModel", ] ) @@ -3916,7 +3915,6 @@ _import_structure["models.vision_encoder_decoder"].append("FlaxVisionEncoderDecoderModel") _import_structure["models.vision_text_dual_encoder"].extend(["FlaxVisionTextDualEncoderModel"]) _import_structure["models.vit"].extend(["FlaxViTForImageClassification", "FlaxViTModel", "FlaxViTPreTrainedModel"]) - _import_structure["models.ict"].extend(["FlaxICTForImageClassification", "FlaxICTModel", "FlaxICTPreTrainedModel"]) _import_structure["models.wav2vec2"].extend( ["FlaxWav2Vec2ForCTC", "FlaxWav2Vec2ForPreTraining", "FlaxWav2Vec2Model", "FlaxWav2Vec2PreTrainedModel"] ) @@ -6919,7 +6917,6 @@ from .models.vision_encoder_decoder import TFVisionEncoderDecoderModel from .models.vision_text_dual_encoder import TFVisionTextDualEncoderModel from .models.vit import TFViTForImageClassification, TFViTModel, TFViTPreTrainedModel - from .models.ict import TFICTForImageClassification, TFICTModel, TFICTPreTrainedModel from .models.vit_mae import TFViTMAEForPreTraining, TFViTMAEModel, TFViTMAEPreTrainedModel from .models.wav2vec2 import ( TF_WAV_2_VEC_2_PRETRAINED_MODEL_ARCHIVE_LIST, @@ -7170,7 +7167,6 @@ from .models.vision_encoder_decoder import FlaxVisionEncoderDecoderModel from .models.vision_text_dual_encoder import FlaxVisionTextDualEncoderModel from .models.vit import FlaxViTForImageClassification, FlaxViTModel, FlaxViTPreTrainedModel - from .models.ict import FlaxICTForImageClassification, FlaxICTModel, FlaxICTPreTrainedModel from .models.wav2vec2 import ( FlaxWav2Vec2ForCTC, FlaxWav2Vec2ForPreTraining, diff --git a/src/transformers/models/auto/modeling_flax_auto.py b/src/transformers/models/auto/modeling_flax_auto.py index 248a93ec9f64..44ef84448119 100644 --- a/src/transformers/models/auto/modeling_flax_auto.py +++ b/src/transformers/models/auto/modeling_flax_auto.py @@ -42,7 +42,6 @@ ("gpt2", "FlaxGPT2Model"), ("gpt_neo", "FlaxGPTNeoModel"), ("gptj", "FlaxGPTJModel"), - ("ict", "FlaxICTModel"), ("longt5", "FlaxLongT5Model"), ("marian", "FlaxMarianModel"), ("mbart", "FlaxMBartModel"), diff --git a/src/transformers/models/auto/modeling_tf_auto.py b/src/transformers/models/auto/modeling_tf_auto.py index 666eaf4028ef..ecf9b06da5c6 100644 --- a/src/transformers/models/auto/modeling_tf_auto.py +++ b/src/transformers/models/auto/modeling_tf_auto.py @@ -57,7 +57,6 @@ ("gptj", "TFGPTJModel"), ("groupvit", "TFGroupViTModel"), ("hubert", "TFHubertModel"), - ("ict", "TFICTModel"), ("layoutlm", "TFLayoutLMModel"), ("layoutlmv3", "TFLayoutLMv3Model"), ("led", "TFLEDModel"), @@ -214,7 +213,6 @@ ("segformer", "TFSegformerForImageClassification"), ("swin", "TFSwinForImageClassification"), ("vit", "TFViTForImageClassification"), - ("ict", "TFICTForImageClassification"), ] ) diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py index bb0a29c424c9..637de00cb1ba 100644 --- a/src/transformers/models/ict/__init__.py +++ b/src/transformers/models/ict/__init__.py @@ -47,30 +47,6 @@ "ICTPreTrainedModel", ] -try: - if not is_tf_available(): - raise OptionalDependencyNotAvailable() -except OptionalDependencyNotAvailable: - pass -else: - _import_structure["modeling_tf_ict"] = [ - "TFICTForImageClassification", - "TFICTModel", - "TFICTPreTrainedModel", - ] - -try: - if not is_flax_available(): - raise OptionalDependencyNotAvailable() -except OptionalDependencyNotAvailable: - pass -else: - _import_structure["modeling_flax_ict"] = [ - "FlaxICTForImageClassification", - "FlaxICTModel", - "FlaxICTPreTrainedModel", - ] - if TYPE_CHECKING: from .configuration_ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig, ICTOnnxConfig @@ -96,23 +72,6 @@ ICTPreTrainedModel, ) - try: - if not is_tf_available(): - raise OptionalDependencyNotAvailable() - except OptionalDependencyNotAvailable: - pass - else: - from .modeling_tf_ict import TFICTForImageClassification, TFICTModel, TFICTPreTrainedModel - - try: - if not is_flax_available(): - raise OptionalDependencyNotAvailable() - except OptionalDependencyNotAvailable: - pass - else: - from .modeling_flax_ict import FlaxICTForImageClassification, FlaxICTModel, FlaxICTPreTrainedModel - - else: import sys diff --git a/src/transformers/models/ict/modeling_flax_ict.py b/src/transformers/models/ict/modeling_flax_ict.py deleted file mode 100644 index e3cbf5050551..000000000000 --- a/src/transformers/models/ict/modeling_flax_ict.py +++ /dev/null @@ -1,688 +0,0 @@ -# coding=utf-8 -# Copyright 2023 The Google Flax Team Authors and The HuggingFace Inc. team. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -from typing import Optional, Tuple - -import flax.linen as nn -import jax -import jax.numpy as jnp -from flax.core.frozen_dict import FrozenDict, freeze, unfreeze -from flax.linen.attention import dot_product_attention_weights -from flax.traverse_util import flatten_dict, unflatten_dict - -from ...modeling_flax_outputs import FlaxBaseModelOutput, FlaxBaseModelOutputWithPooling, FlaxSequenceClassifierOutput -from ...modeling_flax_utils import ( - ACT2FN, - FlaxPreTrainedModel, - append_replace_return_docstrings, - overwrite_call_docstring, -) -from ...utils import add_start_docstrings, add_start_docstrings_to_model_forward -from .configuration_ict import ICTConfig - - -ICT_START_DOCSTRING = r""" - - This model inherits from [`FlaxPreTrainedModel`]. Check the superclass documentation for the generic methods the - library implements for all its model (such as downloading, saving and converting weights from PyTorch models) - - This model is also a Flax Linen [flax.linen.Module](https://flax.readthedocs.io/en/latest/flax.linen.html#module) - subclass. Use it as a regular Flax linen Module and refer to the Flax documentation for all matter related to - general usage and behavior. - - Finally, this model supports inherent JAX features such as: - - - [Just-In-Time (JIT) compilation](https://jax.readthedocs.io/en/latest/jax.html#just-in-time-compilation-jit) - - [Automatic Differentiation](https://jax.readthedocs.io/en/latest/jax.html#automatic-differentiation) - - [Vectorization](https://jax.readthedocs.io/en/latest/jax.html#vectorization-vmap) - - [Parallelization](https://jax.readthedocs.io/en/latest/jax.html#parallelization-pmap) - - Parameters: - config ([`ICTConfig`]): Model configuration class with all the parameters of the model. - Initializing with a config file does not load the weights associated with the model, only the - configuration. Check out the [`~FlaxPreTrainedModel.from_pretrained`] method to load the model weights. - dtype (`jax.numpy.dtype`, *optional*, defaults to `jax.numpy.float32`): - The data type of the computation. Can be one of `jax.numpy.float32`, `jax.numpy.float16` (on GPUs) and - `jax.numpy.bfloat16` (on TPUs). - - This can be used to enable mixed-precision training or half-precision inference on GPUs or TPUs. If - specified all the computation will be performed with the given `dtype`. - - **Note that this only specifies the dtype of the computation and does not influence the dtype of model - parameters.** - - If you wish to change the dtype of the model parameters, see [`~FlaxPreTrainedModel.to_fp16`] and - [`~FlaxPreTrainedModel.to_bf16`]. -""" - -ICT_INPUTS_DOCSTRING = r""" - Args: - pixel_values (`numpy.ndarray` of shape `(batch_size, num_channels, height, width)`): - Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ViTImageProcessor.__call__`] - for details. - - output_attentions (`bool`, *optional*): - Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned - tensors for more detail. - output_hidden_states (`bool`, *optional*): - Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for - more detail. - return_dict (`bool`, *optional*): - Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. -""" - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTPatchEmbeddings with ViT->ICT -class FlaxICTPatchEmbeddings(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - image_size = self.config.image_size - patch_size = self.config.patch_size - num_patches = (image_size // patch_size) * (image_size // patch_size) - self.num_patches = num_patches - self.num_channels = self.config.num_channels - self.projection = nn.Conv( - self.config.hidden_size, - kernel_size=(patch_size, patch_size), - strides=(patch_size, patch_size), - padding="VALID", - dtype=self.dtype, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, "fan_in", "truncated_normal" - ), - ) - - def __call__(self, pixel_values): - num_channels = pixel_values.shape[-1] - if num_channels != self.num_channels: - raise ValueError( - "Make sure that the channel dimension of the pixel values match with the one set in the configuration." - ) - embeddings = self.projection(pixel_values) - batch_size, _, _, channels = embeddings.shape - return jnp.reshape(embeddings, (batch_size, -1, channels)) - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTEmbeddings with ViT->ICT -class FlaxICTEmbeddings(nn.Module): - """Construct the CLS token, position and patch embeddings.""" - - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.cls_token = self.param( - "cls_token", - jax.nn.initializers.variance_scaling(self.config.initializer_range**2, "fan_in", "truncated_normal"), - (1, 1, self.config.hidden_size), - ) - self.patch_embeddings = FlaxICTPatchEmbeddings(self.config, dtype=self.dtype) - num_patches = self.patch_embeddings.num_patches - self.position_embeddings = self.param( - "position_embeddings", - jax.nn.initializers.variance_scaling(self.config.initializer_range**2, "fan_in", "truncated_normal"), - (1, num_patches + 1, self.config.hidden_size), - ) - self.dropout = nn.Dropout(rate=self.config.hidden_dropout_prob) - - def __call__(self, pixel_values, deterministic=True): - batch_size = pixel_values.shape[0] - - embeddings = self.patch_embeddings(pixel_values) - - cls_tokens = jnp.broadcast_to(self.cls_token, (batch_size, 1, self.config.hidden_size)) - embeddings = jnp.concatenate((cls_tokens, embeddings), axis=1) - embeddings = embeddings + self.position_embeddings - embeddings = self.dropout(embeddings, deterministic=deterministic) - return embeddings - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTSelfAttention with ViT->ICT -class FlaxICTSelfAttention(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - if self.config.hidden_size % self.config.num_attention_heads != 0: - raise ValueError( - "`config.hidden_size`: {self.config.hidden_size} has to be a multiple of `config.num_attention_heads`:" - " {self.config.num_attention_heads}" - ) - - self.query = nn.Dense( - self.config.hidden_size, - dtype=self.dtype, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, mode="fan_in", distribution="truncated_normal" - ), - use_bias=self.config.qkv_bias, - ) - self.key = nn.Dense( - self.config.hidden_size, - dtype=self.dtype, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, mode="fan_in", distribution="truncated_normal" - ), - use_bias=self.config.qkv_bias, - ) - self.value = nn.Dense( - self.config.hidden_size, - dtype=self.dtype, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, mode="fan_in", distribution="truncated_normal" - ), - use_bias=self.config.qkv_bias, - ) - - def __call__(self, hidden_states, deterministic: bool = True, output_attentions: bool = False): - head_dim = self.config.hidden_size // self.config.num_attention_heads - - query_states = self.query(hidden_states).reshape( - hidden_states.shape[:2] + (self.config.num_attention_heads, head_dim) - ) - value_states = self.value(hidden_states).reshape( - hidden_states.shape[:2] + (self.config.num_attention_heads, head_dim) - ) - key_states = self.key(hidden_states).reshape( - hidden_states.shape[:2] + (self.config.num_attention_heads, head_dim) - ) - - dropout_rng = None - if not deterministic and self.config.attention_probs_dropout_prob > 0.0: - dropout_rng = self.make_rng("dropout") - - attn_weights = dot_product_attention_weights( - query_states, - key_states, - dropout_rng=dropout_rng, - dropout_rate=self.config.attention_probs_dropout_prob, - broadcast_dropout=True, - deterministic=deterministic, - dtype=self.dtype, - precision=None, - ) - - attn_output = jnp.einsum("...hqk,...khd->...qhd", attn_weights, value_states) - attn_output = attn_output.reshape(attn_output.shape[:2] + (-1,)) - - outputs = (attn_output, attn_weights) if output_attentions else (attn_output,) - return outputs - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTSelfOutput with ViT->ICT -class FlaxICTSelfOutput(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.dense = nn.Dense( - self.config.hidden_size, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, "fan_in", "truncated_normal" - ), - dtype=self.dtype, - ) - self.dropout = nn.Dropout(rate=self.config.hidden_dropout_prob) - - def __call__(self, hidden_states, input_tensor, deterministic: bool = True): - hidden_states = self.dense(hidden_states) - hidden_states = self.dropout(hidden_states, deterministic=deterministic) - return hidden_states - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTAttention with ViT->ICT -class FlaxICTAttention(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 - - def setup(self): - self.attention = FlaxICTSelfAttention(self.config, dtype=self.dtype) - self.output = FlaxICTSelfOutput(self.config, dtype=self.dtype) - - def __call__(self, hidden_states, deterministic=True, output_attentions: bool = False): - attn_outputs = self.attention(hidden_states, deterministic=deterministic, output_attentions=output_attentions) - attn_output = attn_outputs[0] - hidden_states = self.output(attn_output, hidden_states, deterministic=deterministic) - - outputs = (hidden_states,) - - if output_attentions: - outputs += (attn_outputs[1],) - - return outputs - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTIntermediate with ViT->ICT -class FlaxICTIntermediate(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.dense = nn.Dense( - self.config.intermediate_size, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, "fan_in", "truncated_normal" - ), - dtype=self.dtype, - ) - self.activation = ACT2FN[self.config.hidden_act] - - def __call__(self, hidden_states): - hidden_states = self.dense(hidden_states) - hidden_states = self.activation(hidden_states) - return hidden_states - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTOutput with ViT->ICT -class FlaxICTOutput(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.dense = nn.Dense( - self.config.hidden_size, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, "fan_in", "truncated_normal" - ), - dtype=self.dtype, - ) - self.dropout = nn.Dropout(rate=self.config.hidden_dropout_prob) - - def __call__(self, hidden_states, attention_output, deterministic: bool = True): - hidden_states = self.dense(hidden_states) - hidden_states = self.dropout(hidden_states, deterministic=deterministic) - hidden_states = hidden_states + attention_output - return hidden_states - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTLayer with ViT->ICT -class FlaxICTLayer(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.attention = FlaxICTAttention(self.config, dtype=self.dtype) - self.intermediate = FlaxICTIntermediate(self.config, dtype=self.dtype) - self.output = FlaxICTOutput(self.config, dtype=self.dtype) - self.layernorm_before = nn.LayerNorm(epsilon=self.config.layer_norm_eps, dtype=self.dtype) - self.layernorm_after = nn.LayerNorm(epsilon=self.config.layer_norm_eps, dtype=self.dtype) - - def __call__(self, hidden_states, deterministic: bool = True, output_attentions: bool = False): - attention_outputs = self.attention( - self.layernorm_before(hidden_states), # in ICT, layernorm is applied before self-attention - deterministic=deterministic, - output_attentions=output_attentions, - ) - - attention_output = attention_outputs[0] - - # first residual connection - attention_output = attention_output + hidden_states - - # in ICT, layernorm is also applied after self-attention - layer_output = self.layernorm_after(attention_output) - - hidden_states = self.intermediate(layer_output) - hidden_states = self.output(hidden_states, attention_output, deterministic=deterministic) - - outputs = (hidden_states,) - - if output_attentions: - outputs += (attention_outputs[1],) - return outputs - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTLayerCollection with ViT->ICT -class FlaxICTLayerCollection(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.layers = [ - FlaxICTLayer(self.config, name=str(i), dtype=self.dtype) for i in range(self.config.num_hidden_layers) - ] - - def __call__( - self, - hidden_states, - deterministic: bool = True, - output_attentions: bool = False, - output_hidden_states: bool = False, - return_dict: bool = True, - ): - all_attentions = () if output_attentions else None - all_hidden_states = () if output_hidden_states else None - - for i, layer in enumerate(self.layers): - if output_hidden_states: - all_hidden_states += (hidden_states,) - - layer_outputs = layer(hidden_states, deterministic=deterministic, output_attentions=output_attentions) - - hidden_states = layer_outputs[0] - - if output_attentions: - all_attentions += (layer_outputs[1],) - - if output_hidden_states: - all_hidden_states += (hidden_states,) - - outputs = (hidden_states,) - if not return_dict: - return tuple(v for v in outputs if v is not None) - - return FlaxBaseModelOutput( - last_hidden_state=hidden_states, hidden_states=all_hidden_states, attentions=all_attentions - ) - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTEncoder with ViT->ICT -class FlaxICTEncoder(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.layer = FlaxICTLayerCollection(self.config, dtype=self.dtype) - - def __call__( - self, - hidden_states, - deterministic: bool = True, - output_attentions: bool = False, - output_hidden_states: bool = False, - return_dict: bool = True, - ): - return self.layer( - hidden_states, - deterministic=deterministic, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - return_dict=return_dict, - ) - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTPooler with ViT->ICT -class FlaxICTPooler(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - - def setup(self): - self.dense = nn.Dense( - self.config.hidden_size, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, "fan_in", "truncated_normal" - ), - dtype=self.dtype, - ) - - def __call__(self, hidden_states): - cls_hidden_state = hidden_states[:, 0] - cls_hidden_state = self.dense(cls_hidden_state) - return nn.tanh(cls_hidden_state) - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTPreTrainedModel with VIT->ICT,ViT->ICT,vit->ict -class FlaxICTPreTrainedModel(FlaxPreTrainedModel): - """ - An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained - models. - """ - - config_class = ICTConfig - base_model_prefix = "ict" - main_input_name = "pixel_values" - module_class: nn.Module = None - - def __init__( - self, - config: ICTConfig, - input_shape=None, - seed: int = 0, - dtype: jnp.dtype = jnp.float32, - _do_init: bool = True, - **kwargs, - ): - module = self.module_class(config=config, dtype=dtype, **kwargs) - if input_shape is None: - input_shape = (1, config.image_size, config.image_size, config.num_channels) - super().__init__(config, module, input_shape=input_shape, seed=seed, dtype=dtype, _do_init=_do_init) - - def init_weights(self, rng: jax.random.PRNGKey, input_shape: Tuple, params: FrozenDict = None) -> FrozenDict: - # init input tensors - pixel_values = jnp.zeros(input_shape, dtype=self.dtype) - - params_rng, dropout_rng = jax.random.split(rng) - rngs = {"params": params_rng, "dropout": dropout_rng} - - random_params = self.module.init(rngs, pixel_values, return_dict=False)["params"] - - if params is not None: - random_params = flatten_dict(unfreeze(random_params)) - params = flatten_dict(unfreeze(params)) - for missing_key in self._missing_keys: - params[missing_key] = random_params[missing_key] - self._missing_keys = set() - return freeze(unflatten_dict(params)) - else: - return random_params - - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING.format("batch_size, sequence_length")) - def __call__( - self, - pixel_values, - params: dict = None, - dropout_rng: jax.random.PRNGKey = None, - train: bool = False, - output_attentions: Optional[bool] = None, - output_hidden_states: Optional[bool] = None, - return_dict: Optional[bool] = None, - ): - output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions - output_hidden_states = ( - output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states - ) - return_dict = return_dict if return_dict is not None else self.config.return_dict - - pixel_values = jnp.transpose(pixel_values, (0, 2, 3, 1)) - # Handle any PRNG if needed - rngs = {} - if dropout_rng is not None: - rngs["dropout"] = dropout_rng - - return self.module.apply( - {"params": params or self.params}, - jnp.array(pixel_values, dtype=jnp.float32), - not train, - output_attentions, - output_hidden_states, - return_dict, - rngs=rngs, - ) - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTModule with ViT->ICT -class FlaxICTModule(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 # the dtype of the computation - add_pooling_layer: bool = True - - def setup(self): - self.embeddings = FlaxICTEmbeddings(self.config, dtype=self.dtype) - self.encoder = FlaxICTEncoder(self.config, dtype=self.dtype) - self.layernorm = nn.LayerNorm(epsilon=self.config.layer_norm_eps, dtype=self.dtype) - self.pooler = FlaxICTPooler(self.config, dtype=self.dtype) if self.add_pooling_layer else None - - def __call__( - self, - pixel_values, - deterministic: bool = True, - output_attentions: bool = False, - output_hidden_states: bool = False, - return_dict: bool = True, - ): - hidden_states = self.embeddings(pixel_values, deterministic=deterministic) - - outputs = self.encoder( - hidden_states, - deterministic=deterministic, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - return_dict=return_dict, - ) - hidden_states = outputs[0] - hidden_states = self.layernorm(hidden_states) - pooled = self.pooler(hidden_states) if self.add_pooling_layer else None - - if not return_dict: - # if pooled is None, don't return it - if pooled is None: - return (hidden_states,) + outputs[1:] - return (hidden_states, pooled) + outputs[1:] - - return FlaxBaseModelOutputWithPooling( - last_hidden_state=hidden_states, - pooler_output=pooled, - hidden_states=outputs.hidden_states, - attentions=outputs.attentions, - ) - - -@add_start_docstrings( - "The bare ICT Model transformer outputting raw hidden-states without any specific head on top.", - ICT_START_DOCSTRING, -) -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTModel with ViT->ICT -class FlaxICTModel(FlaxICTPreTrainedModel): - module_class = FlaxICTModule - - -FLAX_VISION_MODEL_DOCSTRING = """ - Returns: - - Examples: - - ```python - >>> from transformers import AutoImageProcessor, FlaxICTModel - >>> from PIL import Image - >>> import requests - - >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" - >>> image = Image.open(requests.get(url, stream=True).raw) - - >>> image_processor = AutoImageProcessor.from_pretrained("sheonhan/image-completion-transformer") - >>> model = FlaxICTModel.from_pretrained("sheonhan/image-completion-transformer") - - >>> inputs = image_processor(images=image, return_tensors="np") - >>> outputs = model(**inputs) - >>> last_hidden_states = outputs.last_hidden_state - ``` -""" - -overwrite_call_docstring(FlaxICTModel, FLAX_VISION_MODEL_DOCSTRING) -append_replace_return_docstrings(FlaxICTModel, output_type=FlaxBaseModelOutputWithPooling, config_class=ICTConfig) - - -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTForImageClassificationModule with ViT->ICT,vit->ict -class FlaxICTForImageClassificationModule(nn.Module): - config: ICTConfig - dtype: jnp.dtype = jnp.float32 - - def setup(self): - self.ict = FlaxICTModule(config=self.config, dtype=self.dtype, add_pooling_layer=False) - self.classifier = nn.Dense( - self.config.num_labels, - dtype=self.dtype, - kernel_init=jax.nn.initializers.variance_scaling( - self.config.initializer_range**2, "fan_in", "truncated_normal" - ), - ) - - def __call__( - self, - pixel_values=None, - deterministic: bool = True, - output_attentions=None, - output_hidden_states=None, - return_dict=None, - ): - return_dict = return_dict if return_dict is not None else self.config.use_return_dict - - outputs = self.ict( - pixel_values, - deterministic=deterministic, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - return_dict=return_dict, - ) - - hidden_states = outputs[0] - logits = self.classifier(hidden_states[:, 0, :]) - - if not return_dict: - output = (logits,) + outputs[2:] - return output - - return FlaxSequenceClassifierOutput( - logits=logits, - hidden_states=outputs.hidden_states, - attentions=outputs.attentions, - ) - - -@add_start_docstrings( - """ - ICT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of - the [CLS] token) e.g. for ImageNet. - """, - ICT_START_DOCSTRING, -) -# Copied from transformers.models.vit.modeling_flax_vit.FlaxViTForImageClassification with ViT->ICT -class FlaxICTForImageClassification(FlaxICTPreTrainedModel): - module_class = FlaxICTForImageClassificationModule - - -FLAX_VISION_CLASSIF_DOCSTRING = """ - Returns: - - Example: - - ```python - >>> from transformers import AutoImageProcessor, FlaxICTForImageClassification - >>> from PIL import Image - >>> import jax - >>> import requests - - >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" - >>> image = Image.open(requests.get(url, stream=True).raw) - - >>> image_processor = AutoImageProcessor.from_pretrained("google/ict-base-patch16-224") - >>> model = FlaxICTForImageClassification.from_pretrained("google/ict-base-patch16-224") - - >>> inputs = image_processor(images=image, return_tensors="np") - >>> outputs = model(**inputs) - >>> logits = outputs.logits - - >>> # model predicts one of the 1000 ImageNet classes - >>> predicted_class_idx = jax.numpy.argmax(logits, axis=-1) - >>> print("Predicted class:", model.config.id2label[predicted_class_idx.item()]) - ``` -""" - -overwrite_call_docstring(FlaxICTForImageClassification, FLAX_VISION_CLASSIF_DOCSTRING) -append_replace_return_docstrings( - FlaxICTForImageClassification, output_type=FlaxSequenceClassifierOutput, config_class=ICTConfig -) diff --git a/src/transformers/models/ict/modeling_tf_ict.py b/src/transformers/models/ict/modeling_tf_ict.py deleted file mode 100644 index bc6acc0487d5..000000000000 --- a/src/transformers/models/ict/modeling_tf_ict.py +++ /dev/null @@ -1,827 +0,0 @@ -# coding=utf-8 -# Copyright 2023 Google AI, Ross Wightman, The HuggingFace Inc. team. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" TF 2.0 ICT model.""" - - -import collections.abc -import math -from typing import Dict, Optional, Tuple, Union - -import numpy as np -import tensorflow as tf - -from ...activations_tf import get_tf_activation -from ...modeling_tf_outputs import TFBaseModelOutput, TFBaseModelOutputWithPooling, TFSequenceClassifierOutput -from ...modeling_tf_utils import ( - TFModelInputType, - TFPreTrainedModel, - TFSequenceClassificationLoss, - get_initializer, - keras_serializable, - unpack_inputs, -) -from ...tf_utils import shape_list, stable_softmax -from ...utils import add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, logging -from .configuration_ict import ICTConfig - - -logger = logging.get_logger(__name__) - -# General docstring -_CONFIG_FOR_DOC = "ICTConfig" - -# Base docstring -_CHECKPOINT_FOR_DOC = "sheonhan/image-completion-transformer" -_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] - -# Image classification docstring -_IMAGE_CLASS_CHECKPOINT = "google/ict-base-patch16-224" -_IMAGE_CLASS_EXPECTED_OUTPUT = "Egyptian cat" - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTEmbeddings with ViT->ICT -class TFICTEmbeddings(tf.keras.layers.Layer): - """ - Construct the CLS token, position and patch embeddings. - - """ - - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.patch_embeddings = TFICTPatchEmbeddings(config, name="patch_embeddings") - self.dropout = tf.keras.layers.Dropout(rate=config.hidden_dropout_prob) - self.config = config - - def build(self, input_shape: tf.TensorShape): - num_patches = self.patch_embeddings.num_patches - self.cls_token = self.add_weight( - shape=(1, 1, self.config.hidden_size), - initializer=get_initializer(self.config.initializer_range), - trainable=True, - name="cls_token", - ) - self.position_embeddings = self.add_weight( - shape=(1, num_patches + 1, self.config.hidden_size), - initializer=get_initializer(self.config.initializer_range), - trainable=True, - name="position_embeddings", - ) - - super().build(input_shape) - - def interpolate_pos_encoding(self, embeddings, height, width) -> tf.Tensor: - """ - This method allows to interpolate the pre-trained position encodings, to be able to use the model on higher - resolution images. - - Source: - https://github.com/facebookresearch/dino/blob/de9ee3df6cf39fac952ab558447af1fa1365362a/vision_transformer.py#L174 - """ - - batch_size, seq_len, dim = shape_list(embeddings) - num_patches = seq_len - 1 - - _, num_positions, _ = shape_list(self.position_embeddings) - num_positions -= 1 - - if num_patches == num_positions and height == width: - return self.position_embeddings - class_pos_embed = self.position_embeddings[:, :1] - patch_pos_embed = self.position_embeddings[:, 1:] - h0 = height // self.config.patch_size - w0 = width // self.config.patch_size - patch_pos_embed = tf.image.resize( - images=tf.reshape( - patch_pos_embed, shape=(1, int(math.sqrt(num_positions)), int(math.sqrt(num_positions)), dim) - ), - size=(h0, w0), - method="bicubic", - ) - - shape = shape_list(patch_pos_embed) - assert h0 == shape[-3] and w0 == shape[-2] - patch_pos_embed = tf.reshape(tensor=patch_pos_embed, shape=(1, -1, dim)) - return tf.concat(values=(class_pos_embed, patch_pos_embed), axis=1) - - def call( - self, pixel_values: tf.Tensor, interpolate_pos_encoding: bool = False, training: bool = False - ) -> tf.Tensor: - batch_size, num_channels, height, width = shape_list(pixel_values) - embeddings = self.patch_embeddings( - pixel_values, interpolate_pos_encoding=interpolate_pos_encoding, training=training - ) - - # add the [CLS] token to the embedded patch tokens - cls_tokens = tf.repeat(self.cls_token, repeats=batch_size, axis=0) - embeddings = tf.concat((cls_tokens, embeddings), axis=1) - - # add positional encoding to each token - if interpolate_pos_encoding: - embeddings = embeddings + self.interpolate_pos_encoding(embeddings, height, width) - else: - embeddings = embeddings + self.position_embeddings - - embeddings = self.dropout(embeddings, training=training) - - return embeddings - - -# Based on timm implementation, which can be found here: -# https://github.com/rwightman/pytorch-image-models/blob/master/timm/models/vision_transformer.py -# Copied from transformers.models.vit.modeling_tf_vit.TFViTPatchEmbeddings with ViT->ICT -class TFICTPatchEmbeddings(tf.keras.layers.Layer): - """ - This class turns `pixel_values` of shape `(batch_size, num_channels, height, width)` into the initial - `hidden_states` (patch embeddings) of shape `(batch_size, seq_length, hidden_size)` to be consumed by a - Transformer. - """ - - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - image_size, patch_size = config.image_size, config.patch_size - num_channels, hidden_size = config.num_channels, config.hidden_size - - image_size = image_size if isinstance(image_size, collections.abc.Iterable) else (image_size, image_size) - patch_size = patch_size if isinstance(patch_size, collections.abc.Iterable) else (patch_size, patch_size) - num_patches = (image_size[1] // patch_size[1]) * (image_size[0] // patch_size[0]) - self.image_size = image_size - self.patch_size = patch_size - self.num_patches = num_patches - self.num_channels = num_channels - self.config = config - - self.projection = tf.keras.layers.Conv2D( - filters=hidden_size, - kernel_size=patch_size, - strides=patch_size, - padding="valid", - data_format="channels_last", - use_bias=True, - kernel_initializer=get_initializer(self.config.initializer_range), - bias_initializer="zeros", - name="projection", - ) - - def call( - self, pixel_values: tf.Tensor, interpolate_pos_encoding: bool = False, training: bool = False - ) -> tf.Tensor: - batch_size, num_channels, height, width = shape_list(pixel_values) - if tf.executing_eagerly() and num_channels != self.num_channels: - raise ValueError( - "Make sure that the channel dimension of the pixel values match with the one set in the configuration." - ) - if not interpolate_pos_encoding: - if tf.executing_eagerly(): - if height != self.image_size[0] or width != self.image_size[1]: - raise ValueError( - f"Input image size ({height}*{width}) doesn't match model" - f" ({self.image_size[0]}*{self.image_size[1]})." - ) - - # When running on CPU, `tf.keras.layers.Conv2D` doesn't support `NCHW` format. - # So change the input format from `NCHW` to `NHWC`. - # shape = (batch_size, in_height, in_width, in_channels=num_channels) - pixel_values = tf.transpose(pixel_values, perm=(0, 2, 3, 1)) - - projection = self.projection(pixel_values) - - # Change the 2D spatial dimensions to a single temporal dimension. - # shape = (batch_size, num_patches, out_channels=embed_dim) - num_patches = (width // self.patch_size[1]) * (height // self.patch_size[0]) - embeddings = tf.reshape(tensor=projection, shape=(batch_size, num_patches, -1)) - - return embeddings - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTSelfAttention with ViT->ICT -class TFICTSelfAttention(tf.keras.layers.Layer): - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - if config.hidden_size % config.num_attention_heads != 0: - raise ValueError( - f"The hidden size ({config.hidden_size}) is not a multiple of the number " - f"of attention heads ({config.num_attention_heads})" - ) - - self.num_attention_heads = config.num_attention_heads - self.attention_head_size = int(config.hidden_size / config.num_attention_heads) - self.all_head_size = self.num_attention_heads * self.attention_head_size - self.sqrt_att_head_size = math.sqrt(self.attention_head_size) - - self.query = tf.keras.layers.Dense( - units=self.all_head_size, kernel_initializer=get_initializer(config.initializer_range), name="query" - ) - self.key = tf.keras.layers.Dense( - units=self.all_head_size, kernel_initializer=get_initializer(config.initializer_range), name="key" - ) - self.value = tf.keras.layers.Dense( - units=self.all_head_size, kernel_initializer=get_initializer(config.initializer_range), name="value" - ) - self.dropout = tf.keras.layers.Dropout(rate=config.attention_probs_dropout_prob) - - def transpose_for_scores(self, tensor: tf.Tensor, batch_size: int) -> tf.Tensor: - # Reshape from [batch_size, seq_length, all_head_size] to [batch_size, seq_length, num_attention_heads, attention_head_size] - tensor = tf.reshape(tensor=tensor, shape=(batch_size, -1, self.num_attention_heads, self.attention_head_size)) - - # Transpose the tensor from [batch_size, seq_length, num_attention_heads, attention_head_size] to [batch_size, num_attention_heads, seq_length, attention_head_size] - return tf.transpose(tensor, perm=[0, 2, 1, 3]) - - def call( - self, - hidden_states: tf.Tensor, - head_mask: tf.Tensor, - output_attentions: bool, - training: bool = False, - ) -> Tuple[tf.Tensor]: - batch_size = shape_list(hidden_states)[0] - mixed_query_layer = self.query(inputs=hidden_states) - mixed_key_layer = self.key(inputs=hidden_states) - mixed_value_layer = self.value(inputs=hidden_states) - query_layer = self.transpose_for_scores(mixed_query_layer, batch_size) - key_layer = self.transpose_for_scores(mixed_key_layer, batch_size) - value_layer = self.transpose_for_scores(mixed_value_layer, batch_size) - - # Take the dot product between "query" and "key" to get the raw attention scores. - # (batch size, num_heads, seq_len_q, seq_len_k) - attention_scores = tf.matmul(query_layer, key_layer, transpose_b=True) - dk = tf.cast(self.sqrt_att_head_size, dtype=attention_scores.dtype) - attention_scores = tf.divide(attention_scores, dk) - - # Normalize the attention scores to probabilities. - attention_probs = stable_softmax(logits=attention_scores, axis=-1) - - # This is actually dropping out entire tokens to attend to, which might - # seem a bit unusual, but is taken from the original Transformer paper. - attention_probs = self.dropout(inputs=attention_probs, training=training) - - # Mask heads if we want to - if head_mask is not None: - attention_probs = tf.multiply(attention_probs, head_mask) - - attention_output = tf.matmul(attention_probs, value_layer) - attention_output = tf.transpose(attention_output, perm=[0, 2, 1, 3]) - - # (batch_size, seq_len_q, all_head_size) - attention_output = tf.reshape(tensor=attention_output, shape=(batch_size, -1, self.all_head_size)) - outputs = (attention_output, attention_probs) if output_attentions else (attention_output,) - - return outputs - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTSelfOutput with ViT->ICT -class TFICTSelfOutput(tf.keras.layers.Layer): - """ - The residual connection is defined in TFICTLayer instead of here (as is the case with other models), due to the - layernorm applied before each block. - """ - - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.dense = tf.keras.layers.Dense( - units=config.hidden_size, kernel_initializer=get_initializer(config.initializer_range), name="dense" - ) - self.dropout = tf.keras.layers.Dropout(rate=config.hidden_dropout_prob) - - def call(self, hidden_states: tf.Tensor, input_tensor: tf.Tensor, training: bool = False) -> tf.Tensor: - hidden_states = self.dense(inputs=hidden_states) - hidden_states = self.dropout(inputs=hidden_states, training=training) - - return hidden_states - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTAttention with ViT->ICT -class TFICTAttention(tf.keras.layers.Layer): - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.self_attention = TFICTSelfAttention(config, name="attention") - self.dense_output = TFICTSelfOutput(config, name="output") - - def prune_heads(self, heads): - raise NotImplementedError - - def call( - self, - input_tensor: tf.Tensor, - head_mask: tf.Tensor, - output_attentions: bool, - training: bool = False, - ) -> Tuple[tf.Tensor]: - self_outputs = self.self_attention( - hidden_states=input_tensor, head_mask=head_mask, output_attentions=output_attentions, training=training - ) - attention_output = self.dense_output( - hidden_states=self_outputs[0], input_tensor=input_tensor, training=training - ) - outputs = (attention_output,) + self_outputs[1:] # add attentions if we output them - - return outputs - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTIntermediate with ViT->ICT -class TFICTIntermediate(tf.keras.layers.Layer): - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.dense = tf.keras.layers.Dense( - units=config.intermediate_size, kernel_initializer=get_initializer(config.initializer_range), name="dense" - ) - - if isinstance(config.hidden_act, str): - self.intermediate_act_fn = get_tf_activation(config.hidden_act) - else: - self.intermediate_act_fn = config.hidden_act - - def call(self, hidden_states: tf.Tensor) -> tf.Tensor: - hidden_states = self.dense(inputs=hidden_states) - hidden_states = self.intermediate_act_fn(hidden_states) - - return hidden_states - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTOutput with ViT->ICT -class TFICTOutput(tf.keras.layers.Layer): - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.dense = tf.keras.layers.Dense( - units=config.hidden_size, kernel_initializer=get_initializer(config.initializer_range), name="dense" - ) - self.dropout = tf.keras.layers.Dropout(rate=config.hidden_dropout_prob) - - def call(self, hidden_states: tf.Tensor, input_tensor: tf.Tensor, training: bool = False) -> tf.Tensor: - hidden_states = self.dense(inputs=hidden_states) - hidden_states = self.dropout(inputs=hidden_states, training=training) - hidden_states = hidden_states + input_tensor - - return hidden_states - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTLayer with ViT->ICT,vit->ict -class TFICTLayer(tf.keras.layers.Layer): - """This corresponds to the Block class in the timm implementation.""" - - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.attention = TFICTAttention(config, name="attention") - self.intermediate = TFICTIntermediate(config, name="intermediate") - self.ict_output = TFICTOutput(config, name="output") - - self.layernorm_before = tf.keras.layers.LayerNormalization( - epsilon=config.layer_norm_eps, name="layernorm_before" - ) - self.layernorm_after = tf.keras.layers.LayerNormalization( - epsilon=config.layer_norm_eps, name="layernorm_after" - ) - - def call( - self, - hidden_states: tf.Tensor, - head_mask: tf.Tensor, - output_attentions: bool, - training: bool = False, - ) -> Tuple[tf.Tensor]: - attention_outputs = self.attention( - # in ICT, layernorm is applied before self-attention - input_tensor=self.layernorm_before(inputs=hidden_states), - head_mask=head_mask, - output_attentions=output_attentions, - training=training, - ) - attention_output = attention_outputs[0] - - # first residual connection - hidden_states = attention_output + hidden_states - - # in ICT, layernorm is also applied after self-attention - layer_output = self.layernorm_after(inputs=hidden_states) - - intermediate_output = self.intermediate(hidden_states=layer_output) - - # second residual connection is done here - layer_output = self.ict_output( - hidden_states=intermediate_output, input_tensor=hidden_states, training=training - ) - outputs = (layer_output,) + attention_outputs[1:] # add attentions if we output them - - return outputs - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTEncoder with ViT->ICT -class TFICTEncoder(tf.keras.layers.Layer): - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.layer = [TFICTLayer(config, name=f"layer_._{i}") for i in range(config.num_hidden_layers)] - - def call( - self, - hidden_states: tf.Tensor, - head_mask: tf.Tensor, - output_attentions: bool, - output_hidden_states: bool, - return_dict: bool, - training: bool = False, - ) -> Union[TFBaseModelOutput, Tuple[tf.Tensor]]: - all_hidden_states = () if output_hidden_states else None - all_attentions = () if output_attentions else None - - for i, layer_module in enumerate(self.layer): - if output_hidden_states: - all_hidden_states = all_hidden_states + (hidden_states,) - - layer_outputs = layer_module( - hidden_states=hidden_states, - head_mask=head_mask[i], - output_attentions=output_attentions, - training=training, - ) - hidden_states = layer_outputs[0] - - if output_attentions: - all_attentions = all_attentions + (layer_outputs[1],) - - # Add last layer - if output_hidden_states: - all_hidden_states = all_hidden_states + (hidden_states,) - - if not return_dict: - return tuple(v for v in [hidden_states, all_hidden_states, all_attentions] if v is not None) - - return TFBaseModelOutput( - last_hidden_state=hidden_states, hidden_states=all_hidden_states, attentions=all_attentions - ) - - -@keras_serializable -# Copied from transformers.models.vit.modeling_tf_vit.TFViTMainLayer with ViT->ICT -class TFICTMainLayer(tf.keras.layers.Layer): - config_class = ICTConfig - - def __init__(self, config: ICTConfig, add_pooling_layer: bool = True, **kwargs): - super().__init__(**kwargs) - - self.config = config - - self.embeddings = TFICTEmbeddings(config, name="embeddings") - self.encoder = TFICTEncoder(config, name="encoder") - self.layernorm = tf.keras.layers.LayerNormalization(epsilon=config.layer_norm_eps, name="layernorm") - self.pooler = TFICTPooler(config, name="pooler") if add_pooling_layer else None - - def get_input_embeddings(self) -> tf.keras.layers.Layer: - return self.embeddings.patch_embeddings - - def _prune_heads(self, heads_to_prune): - """ - Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base - class PreTrainedModel - """ - raise NotImplementedError - - @unpack_inputs - def call( - self, - pixel_values: Optional[TFModelInputType] = None, - head_mask: Optional[Union[np.ndarray, tf.Tensor]] = None, - output_attentions: Optional[bool] = None, - output_hidden_states: Optional[bool] = None, - interpolate_pos_encoding: Optional[bool] = None, - return_dict: Optional[bool] = None, - training: bool = False, - ) -> Union[TFBaseModelOutputWithPooling, Tuple[tf.Tensor]]: - if pixel_values is None: - raise ValueError("You have to specify pixel_values") - - embedding_output = self.embeddings( - pixel_values=pixel_values, - interpolate_pos_encoding=interpolate_pos_encoding, - training=training, - ) - - # Prepare head mask if needed - # 1.0 in head_mask indicate we keep the head - # attention_probs has shape bsz x n_heads x N x N - # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads] - # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length] - if head_mask is not None: - raise NotImplementedError - else: - head_mask = [None] * self.config.num_hidden_layers - - encoder_outputs = self.encoder( - hidden_states=embedding_output, - head_mask=head_mask, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - return_dict=return_dict, - training=training, - ) - - sequence_output = encoder_outputs[0] - sequence_output = self.layernorm(inputs=sequence_output) - pooled_output = self.pooler(hidden_states=sequence_output) if self.pooler is not None else None - - if not return_dict: - return (sequence_output, pooled_output) + encoder_outputs[1:] - - return TFBaseModelOutputWithPooling( - last_hidden_state=sequence_output, - pooler_output=pooled_output, - hidden_states=encoder_outputs.hidden_states, - attentions=encoder_outputs.attentions, - ) - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTPreTrainedModel with ViT->ICT,vit->ict -class TFICTPreTrainedModel(TFPreTrainedModel): - """ - An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained - models. - """ - - config_class = ICTConfig - base_model_prefix = "ict" - main_input_name = "pixel_values" - - @property - def dummy_inputs(self) -> Dict[str, tf.Tensor]: - """ - Dummy inputs to build the network. - - Returns: - `Dict[str, tf.Tensor]`: The dummy inputs. - """ - VISION_DUMMY_INPUTS = tf.random.uniform( - shape=(3, self.config.num_channels, self.config.image_size, self.config.image_size), dtype=tf.float32 - ) - return {"pixel_values": tf.constant(VISION_DUMMY_INPUTS)} - - @tf.function( - input_signature=[ - { - "pixel_values": tf.TensorSpec((None, None, None, None), tf.float32, name="pixel_values"), - } - ] - ) - def serving(self, inputs): - """ - Method used for serving the model. - - Args: - inputs (`Dict[str, tf.Tensor]`): - The input of the saved model as a dictionary of tensors. - """ - output = self.call(inputs) - - return self.serving_output(output) - - -ICT_START_DOCSTRING = r""" - - This model inherits from [`TFPreTrainedModel`]. Check the superclass documentation for the generic methods the - library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads - etc.) - - This model is also a [tf.keras.Model](https://www.tensorflow.org/api_docs/python/tf/keras/Model) subclass. Use it - as a regular TF 2.0 Keras Model and refer to the TF 2.0 documentation for all matter related to general usage and - behavior. - - - - TensorFlow models and layers in `transformers` accept two formats as input: - - - having all inputs as keyword arguments (like PyTorch models), or - - having all inputs as a list, tuple or dict in the first positional argument. - - The reason the second format is supported is that Keras methods prefer this format when passing inputs to models - and layers. Because of this support, when using methods like `model.fit()` things should "just work" for you - just - pass your inputs and labels in any format that `model.fit()` supports! If, however, you want to use the second - format outside of Keras methods like `fit()` and `predict()`, such as when creating your own layers or models with - the Keras `Functional` API, there are three possibilities you can use to gather all the input Tensors in the first - positional argument: - - - a single Tensor with `pixel_values` only and nothing else: `model(pixel_values)` - - a list of varying length with one or several input Tensors IN THE ORDER given in the docstring: - `model([pixel_values, attention_mask])` or `model([pixel_values, attention_mask, token_type_ids])` - - a dictionary with one or several input Tensors associated to the input names given in the docstring: - `model({"pixel_values": pixel_values, "token_type_ids": token_type_ids})` - - Note that when creating models and layers with - [subclassing](https://keras.io/guides/making_new_layers_and_models_via_subclassing/) then you don't need to worry - about any of this, as you can just pass inputs like you would to any other Python function! - - - - Args: - config ([`ICTConfig`]): Model configuration class with all the parameters of the model. - Initializing with a config file does not load the weights associated with the model, only the - configuration. Check out the [`~TFPreTrainedModel.from_pretrained`] method to load the model weights. -""" - -ICT_INPUTS_DOCSTRING = r""" - Args: - pixel_values (`np.ndarray`, `tf.Tensor`, `List[tf.Tensor]` ``Dict[str, tf.Tensor]` or `Dict[str, np.ndarray]` and each example must have the shape `(batch_size, num_channels, height, width)`): - Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ViTImageProcessor.__call__`] - for details. - - head_mask (`np.ndarray` or `tf.Tensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): - Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: - - - 1 indicates the head is **not masked**, - - 0 indicates the head is **masked**. - - output_attentions (`bool`, *optional*): - Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned - tensors for more detail. This argument can be used only in eager mode, in graph mode the value in the - config will be used instead. - output_hidden_states (`bool`, *optional*): - Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for - more detail. This argument can be used only in eager mode, in graph mode the value in the config will be - used instead. - interpolate_pos_encoding (`bool`, *optional*): - Whether to interpolate the pre-trained position encodings. - return_dict (`bool`, *optional*): - Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. This argument can be used in - eager mode, in graph mode the value will always be set to True. - training (`bool`, *optional*, defaults to `False``): - Whether or not to use the model in training mode (some modules like dropout modules have different - behaviors between training and evaluation). -""" - - -@add_start_docstrings( - "The bare ICT Model transformer outputting raw hidden-states without any specific head on top.", - ICT_START_DOCSTRING, -) -# Copied from transformers.models.vit.modeling_tf_vit.TFViTModel with VIT->ICT,ViT->ICT,vit->ict -class TFICTModel(TFICTPreTrainedModel): - def __init__(self, config: ICTConfig, *inputs, add_pooling_layer=True, **kwargs): - super().__init__(config, *inputs, **kwargs) - - self.ict = TFICTMainLayer(config, add_pooling_layer=add_pooling_layer, name="ict") - - @unpack_inputs - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @add_code_sample_docstrings( - checkpoint=_CHECKPOINT_FOR_DOC, - output_type=TFBaseModelOutputWithPooling, - config_class=_CONFIG_FOR_DOC, - modality="vision", - expected_output=_EXPECTED_OUTPUT_SHAPE, - ) - def call( - self, - pixel_values: Optional[TFModelInputType] = None, - head_mask: Optional[Union[np.ndarray, tf.Tensor]] = None, - output_attentions: Optional[bool] = None, - output_hidden_states: Optional[bool] = None, - interpolate_pos_encoding: Optional[bool] = None, - return_dict: Optional[bool] = None, - training: bool = False, - ) -> Union[TFBaseModelOutputWithPooling, Tuple[tf.Tensor]]: - outputs = self.ict( - pixel_values=pixel_values, - head_mask=head_mask, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - interpolate_pos_encoding=interpolate_pos_encoding, - return_dict=return_dict, - training=training, - ) - - return outputs - - def serving_output(self, output: TFBaseModelOutputWithPooling) -> TFBaseModelOutputWithPooling: - hs = tf.convert_to_tensor(output.hidden_states) if self.config.output_hidden_states else None - attns = tf.convert_to_tensor(output.attentions) if self.config.output_attentions else None - - return TFBaseModelOutputWithPooling( - last_hidden_state=output.last_hidden_state, - pooler_output=output.pooler_output, - hidden_states=hs, - attentions=attns, - ) - - -# Copied from transformers.models.vit.modeling_tf_vit.TFViTPooler with ViT->ICT -class TFICTPooler(tf.keras.layers.Layer): - def __init__(self, config: ICTConfig, **kwargs): - super().__init__(**kwargs) - - self.dense = tf.keras.layers.Dense( - units=config.hidden_size, - kernel_initializer=get_initializer(config.initializer_range), - activation="tanh", - name="dense", - ) - - def call(self, hidden_states: tf.Tensor) -> tf.Tensor: - # We "pool" the model by simply taking the hidden state corresponding - # to the first token. - first_token_tensor = hidden_states[:, 0] - pooled_output = self.dense(inputs=first_token_tensor) - - return pooled_output - - -@add_start_docstrings( - """ - ICT Model transformer with an image classification head on top (a linear layer on top of the final hidden state of - the [CLS] token) e.g. for ImageNet. - - - - Note that it's possible to fine-tune ICT on higher resolution images than the ones it has been trained on, by - setting `interpolate_pos_encoding` to `True` in the forward of the model. This will interpolate the pre-trained - position embeddings to the higher resolution. - - - """, - ICT_START_DOCSTRING, -) -# Copied from transformers.models.vit.modeling_tf_vit.TFViTForImageClassification with VIT->ICT,ViT->ICT,vit->ict -class TFICTForImageClassification(TFICTPreTrainedModel, TFSequenceClassificationLoss): - def __init__(self, config: ICTConfig, *inputs, **kwargs): - super().__init__(config, *inputs, **kwargs) - - self.num_labels = config.num_labels - self.ict = TFICTMainLayer(config, add_pooling_layer=False, name="ict") - - # Classifier head - self.classifier = tf.keras.layers.Dense( - units=config.num_labels, - kernel_initializer=get_initializer(config.initializer_range), - name="classifier", - ) - - @unpack_inputs - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @add_code_sample_docstrings( - checkpoint=_IMAGE_CLASS_CHECKPOINT, - output_type=TFSequenceClassifierOutput, - config_class=_CONFIG_FOR_DOC, - expected_output=_IMAGE_CLASS_EXPECTED_OUTPUT, - ) - def call( - self, - pixel_values: Optional[TFModelInputType] = None, - head_mask: Optional[Union[np.ndarray, tf.Tensor]] = None, - output_attentions: Optional[bool] = None, - output_hidden_states: Optional[bool] = None, - interpolate_pos_encoding: Optional[bool] = None, - return_dict: Optional[bool] = None, - labels: Optional[Union[np.ndarray, tf.Tensor]] = None, - training: Optional[bool] = False, - ) -> Union[TFSequenceClassifierOutput, Tuple[tf.Tensor]]: - r""" - labels (`tf.Tensor` or `np.ndarray` of shape `(batch_size,)`, *optional*): - Labels for computing the image classification/regression loss. Indices should be in `[0, ..., - config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If - `config.num_labels > 1` a classification loss is computed (Cross-Entropy). - """ - - outputs = self.ict( - pixel_values=pixel_values, - head_mask=head_mask, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - interpolate_pos_encoding=interpolate_pos_encoding, - return_dict=return_dict, - training=training, - ) - sequence_output = outputs[0] - logits = self.classifier(inputs=sequence_output[:, 0, :]) - loss = None if labels is None else self.hf_compute_loss(labels=labels, logits=logits) - - if not return_dict: - output = (logits,) + outputs[2:] - return ((loss,) + output) if loss is not None else output - - return TFSequenceClassifierOutput( - loss=loss, - logits=logits, - hidden_states=outputs.hidden_states, - attentions=outputs.attentions, - ) - - def serving_output(self, output: TFSequenceClassifierOutput) -> TFSequenceClassifierOutput: - hs = tf.convert_to_tensor(output.hidden_states) if self.config.output_hidden_states else None - attns = tf.convert_to_tensor(output.attentions) if self.config.output_attentions else None - - return TFSequenceClassifierOutput(logits=output.logits, hidden_states=hs, attentions=attns) diff --git a/tests/models/ict/test_modeling_flax_ict.py b/tests/models/ict/test_modeling_flax_ict.py deleted file mode 100644 index 8aa6a1254479..000000000000 --- a/tests/models/ict/test_modeling_flax_ict.py +++ /dev/null @@ -1,187 +0,0 @@ -# Copyright 2023 The HuggingFace Team. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import inspect -import unittest - -import numpy as np - -from transformers import ICTConfig, is_flax_available -from transformers.testing_utils import require_flax, slow - -from ...test_configuration_common import ConfigTester -from ...test_modeling_flax_common import FlaxModelTesterMixin, floats_tensor - - -if is_flax_available(): - import jax - - from transformers.models.ict.modeling_flax_ict import FlaxICTForImageClassification, FlaxICTModel - - -class FlaxICTModelTester(unittest.TestCase): - def __init__( - self, - parent, - batch_size=13, - image_size=30, - patch_size=2, - num_channels=3, - is_training=True, - use_labels=True, - hidden_size=32, - num_hidden_layers=5, - num_attention_heads=4, - intermediate_size=37, - hidden_act="gelu", - hidden_dropout_prob=0.1, - attention_probs_dropout_prob=0.1, - type_sequence_label_size=10, - initializer_range=0.02, - ): - self.parent = parent - self.batch_size = batch_size - self.image_size = image_size - self.patch_size = patch_size - self.num_channels = num_channels - self.is_training = is_training - self.use_labels = use_labels - self.hidden_size = hidden_size - self.num_hidden_layers = num_hidden_layers - self.num_attention_heads = num_attention_heads - self.intermediate_size = intermediate_size - self.hidden_act = hidden_act - self.hidden_dropout_prob = hidden_dropout_prob - self.attention_probs_dropout_prob = attention_probs_dropout_prob - self.type_sequence_label_size = type_sequence_label_size - self.initializer_range = initializer_range - - # in ICT, the seq length equals the number of patches + 1 (we add 1 for the [CLS] token) - num_patches = (image_size // patch_size) ** 2 - self.seq_length = num_patches + 1 - - def prepare_config_and_inputs(self): - pixel_values = floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]) - - config = ICTConfig( - image_size=self.image_size, - patch_size=self.patch_size, - num_channels=self.num_channels, - hidden_size=self.hidden_size, - num_hidden_layers=self.num_hidden_layers, - num_attention_heads=self.num_attention_heads, - intermediate_size=self.intermediate_size, - hidden_act=self.hidden_act, - hidden_dropout_prob=self.hidden_dropout_prob, - attention_probs_dropout_prob=self.attention_probs_dropout_prob, - is_decoder=False, - initializer_range=self.initializer_range, - ) - - return config, pixel_values - - def create_and_check_model(self, config, pixel_values): - model = FlaxICTModel(config=config) - result = model(pixel_values) - # expected sequence length = num_patches + 1 (we add 1 for the [CLS] token) - image_size = (self.image_size, self.image_size) - patch_size = (self.patch_size, self.patch_size) - num_patches = (image_size[1] // patch_size[1]) * (image_size[0] // patch_size[0]) - self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, num_patches + 1, self.hidden_size)) - - def create_and_check_for_image_classification(self, config, pixel_values): - config.num_labels = self.type_sequence_label_size - model = FlaxICTForImageClassification(config=config) - result = model(pixel_values) - self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) - - # test greyscale images - config.num_channels = 1 - model = FlaxICTForImageClassification(config) - - pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) - result = model(pixel_values) - - def prepare_config_and_inputs_for_common(self): - config_and_inputs = self.prepare_config_and_inputs() - ( - config, - pixel_values, - ) = config_and_inputs - inputs_dict = {"pixel_values": pixel_values} - return config, inputs_dict - - -@require_flax -class FlaxICTModelTest(FlaxModelTesterMixin, unittest.TestCase): - all_model_classes = (FlaxICTModel, FlaxICTForImageClassification) if is_flax_available() else () - - def setUp(self) -> None: - self.model_tester = FlaxICTModelTester(self) - self.config_tester = ConfigTester(self, config_class=ICTConfig, has_text_modality=False, hidden_size=37) - - def test_config(self): - self.config_tester.run_common_tests() - - def test_model(self): - config_and_inputs = self.model_tester.prepare_config_and_inputs() - self.model_tester.create_and_check_model(*config_and_inputs) - - def test_for_image_classification(self): - config_and_inputs = self.model_tester.prepare_config_and_inputs() - self.model_tester.create_and_check_for_image_classification(*config_and_inputs) - - # We need to override this test because ICT's forward signature is different than text models. - def test_forward_signature(self): - config, _ = self.model_tester.prepare_config_and_inputs_for_common() - - for model_class in self.all_model_classes: - model = model_class(config) - signature = inspect.signature(model.__call__) - # signature.parameters is an OrderedDict => so arg_names order is deterministic - arg_names = [*signature.parameters.keys()] - - expected_arg_names = ["pixel_values"] - self.assertListEqual(arg_names[:1], expected_arg_names) - - # We need to override this test because ICT expects pixel_values instead of input_ids - def test_jit_compilation(self): - config, inputs_dict = self.model_tester.prepare_config_and_inputs_for_common() - - for model_class in self.all_model_classes: - with self.subTest(model_class.__name__): - prepared_inputs_dict = self._prepare_for_class(inputs_dict, model_class) - model = model_class(config) - - @jax.jit - def model_jitted(pixel_values, **kwargs): - return model(pixel_values=pixel_values, **kwargs) - - with self.subTest("JIT Enabled"): - jitted_outputs = model_jitted(**prepared_inputs_dict).to_tuple() - - with self.subTest("JIT Disabled"): - with jax.disable_jit(): - outputs = model_jitted(**prepared_inputs_dict).to_tuple() - - self.assertEqual(len(outputs), len(jitted_outputs)) - for jitted_output, output in zip(jitted_outputs, outputs): - self.assertEqual(jitted_output.shape, output.shape) - - @slow - def test_model_from_pretrained(self): - for model_class_name in self.all_model_classes: - model = model_class_name.from_pretrained("google/ict-base-patch16-224") - outputs = model(np.ones((1, 3, 224, 224))) - self.assertIsNotNone(outputs) diff --git a/tests/models/ict/test_modeling_tf_ict.py b/tests/models/ict/test_modeling_tf_ict.py deleted file mode 100644 index 9f8baa8a0478..000000000000 --- a/tests/models/ict/test_modeling_tf_ict.py +++ /dev/null @@ -1,249 +0,0 @@ -# coding=utf-8 -# Copyright 2023 The HuggingFace Inc. team. All rights reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -""" Testing suite for the TensorFlow ICT model. """ - - -import inspect -import unittest - -from transformers import ICTConfig -from transformers.testing_utils import require_tf, require_vision, slow -from transformers.utils import cached_property, is_tf_available, is_vision_available - -from ...test_configuration_common import ConfigTester -from ...test_modeling_tf_common import TFModelTesterMixin, floats_tensor, ids_tensor -from ...test_pipeline_mixin import PipelineTesterMixin - - -if is_tf_available(): - import tensorflow as tf - - from transformers import TFICTForImageClassification, TFICTModel - - -if is_vision_available(): - from PIL import Image - - from transformers import ViTFeatureExtractor - - -class TFICTModelTester: - def __init__( - self, - parent, - batch_size=13, - image_size=30, - patch_size=2, - num_channels=3, - is_training=True, - use_labels=True, - hidden_size=32, - num_hidden_layers=5, - num_attention_heads=4, - intermediate_size=37, - hidden_act="gelu", - hidden_dropout_prob=0.1, - attention_probs_dropout_prob=0.1, - type_sequence_label_size=10, - initializer_range=0.02, - num_labels=3, - scope=None, - ): - self.parent = parent - self.batch_size = batch_size - self.image_size = image_size - self.patch_size = patch_size - self.num_channels = num_channels - self.is_training = is_training - self.use_labels = use_labels - self.hidden_size = hidden_size - self.num_hidden_layers = num_hidden_layers - self.num_attention_heads = num_attention_heads - self.intermediate_size = intermediate_size - self.hidden_act = hidden_act - self.hidden_dropout_prob = hidden_dropout_prob - self.attention_probs_dropout_prob = attention_probs_dropout_prob - self.type_sequence_label_size = type_sequence_label_size - self.initializer_range = initializer_range - self.scope = scope - - # in ICT, the seq length equals the number of patches + 1 (we add 1 for the [CLS] token) - num_patches = (image_size // patch_size) ** 2 - self.seq_length = num_patches + 1 - - def prepare_config_and_inputs(self): - pixel_values = floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]) - - labels = None - if self.use_labels: - labels = ids_tensor([self.batch_size], self.type_sequence_label_size) - - config = self.get_config() - - return config, pixel_values, labels - - def get_config(self): - return ICTConfig( - image_size=self.image_size, - patch_size=self.patch_size, - num_channels=self.num_channels, - hidden_size=self.hidden_size, - num_hidden_layers=self.num_hidden_layers, - num_attention_heads=self.num_attention_heads, - intermediate_size=self.intermediate_size, - hidden_act=self.hidden_act, - hidden_dropout_prob=self.hidden_dropout_prob, - attention_probs_dropout_prob=self.attention_probs_dropout_prob, - is_decoder=False, - initializer_range=self.initializer_range, - ) - - def create_and_check_model(self, config, pixel_values, labels): - model = TFICTModel(config=config) - result = model(pixel_values, training=False) - self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, self.seq_length, self.hidden_size)) - - # Test with an image with different size than the one specified in config. - image_size = self.image_size // 2 - pixel_values = pixel_values[:, :, :image_size, :image_size] - result = model(pixel_values, interpolate_pos_encoding=True, training=False) - seq_length = (image_size // self.patch_size) ** 2 + 1 - self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, seq_length, self.hidden_size)) - - def create_and_check_for_image_classification(self, config, pixel_values, labels): - config.num_labels = self.type_sequence_label_size - model = TFICTForImageClassification(config) - result = model(pixel_values, labels=labels, training=False) - self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) - - # Test with an image with different size than the one specified in config. - image_size = self.image_size // 2 - pixel_values = pixel_values[:, :, :image_size, :image_size] - result = model(pixel_values, interpolate_pos_encoding=True, training=False) - self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) - - # test greyscale images - config.num_channels = 1 - model = TFICTForImageClassification(config) - pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) - result = model(pixel_values) - self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) - - def prepare_config_and_inputs_for_common(self): - config_and_inputs = self.prepare_config_and_inputs() - config, pixel_values, labels = config_and_inputs - inputs_dict = {"pixel_values": pixel_values} - return config, inputs_dict - - -@require_tf -class TFICTModelTest(TFModelTesterMixin, PipelineTesterMixin, unittest.TestCase): - """ - Here we also overwrite some of the tests of test_modeling_tf_common.py, as ICT does not use input_ids, inputs_embeds, - attention_mask and seq_length. - """ - - all_model_classes = (TFICTModel, TFICTForImageClassification) if is_tf_available() else () - pipeline_model_mapping = ( - {"feature-extraction": TFICTModel, "image-classification": TFICTForImageClassification} - if is_tf_available() - else {} - ) - - test_resize_embeddings = False - test_head_masking = False - test_onnx = False - - def setUp(self): - self.model_tester = TFICTModelTester(self) - self.config_tester = ConfigTester(self, config_class=ICTConfig, has_text_modality=False, hidden_size=37) - - def test_config(self): - self.config_tester.run_common_tests() - - @unittest.skip(reason="ICT does not use inputs_embeds") - def test_inputs_embeds(self): - pass - - @unittest.skip(reason="ICT does not use inputs_embeds") - def test_graph_mode_with_inputs_embeds(self): - pass - - def test_model_common_attributes(self): - config, _ = self.model_tester.prepare_config_and_inputs_for_common() - - for model_class in self.all_model_classes: - model = model_class(config) - self.assertIsInstance(model.get_input_embeddings(), (tf.keras.layers.Layer)) - x = model.get_output_embeddings() - self.assertTrue(x is None or isinstance(x, tf.keras.layers.Layer)) - - def test_forward_signature(self): - config, _ = self.model_tester.prepare_config_and_inputs_for_common() - - for model_class in self.all_model_classes: - model = model_class(config) - signature = inspect.signature(model.call) - # signature.parameters is an OrderedDict => so arg_names order is deterministic - arg_names = [*signature.parameters.keys()] - - expected_arg_names = ["pixel_values"] - self.assertListEqual(arg_names[:1], expected_arg_names) - - def test_model(self): - config_and_inputs = self.model_tester.prepare_config_and_inputs() - self.model_tester.create_and_check_model(*config_and_inputs) - - def test_for_image_classification(self): - config_and_inputs = self.model_tester.prepare_config_and_inputs() - self.model_tester.create_and_check_for_image_classification(*config_and_inputs) - - @slow - def test_model_from_pretrained(self): - model = TFICTModel.from_pretrained("google/ict-base-patch16-224") - self.assertIsNotNone(model) - - -# We will verify our results on an image of cute cats -def prepare_img(): - image = Image.open("./tests/fixtures/tests_samples/COCO/000000039769.png") - return image - - -@require_tf -@require_vision -class TFICTModelIntegrationTest(unittest.TestCase): - @cached_property - def default_feature_extractor(self): - return ViTFeatureExtractor.from_pretrained("google/ict-base-patch16-224") if is_vision_available() else None - - @slow - def test_inference_image_classification_head(self): - model = TFICTForImageClassification.from_pretrained("google/ict-base-patch16-224") - - feature_extractor = self.default_feature_extractor - image = prepare_img() - inputs = feature_extractor(images=image, return_tensors="tf") - - # forward pass - outputs = model(**inputs) - - # verify the logits - expected_shape = tf.TensorShape((1, 1000)) - self.assertEqual(outputs.logits.shape, expected_shape) - - expected_slice = tf.constant([-0.2744, 0.8215, -0.0836]) - - tf.debugging.assert_near(outputs.logits[0, :3], expected_slice, atol=1e-4) From 97e82256e21c38e2f3ad49fb5ecbccff615c21bd Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 10 Mar 2023 02:31:12 -0800 Subject: [PATCH 04/70] more clean up --- src/transformers/__init__.py | 6 - .../models/ict/convert_dino_to_pytorch.py | 219 ------------------ tests/models/vit/test_image_processing_vit.py | 3 + 3 files changed, 3 insertions(+), 225 deletions(-) delete mode 100644 src/transformers/models/ict/convert_dino_to_pytorch.py diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index e1e983b9ff50..9604dcd8b636 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -3580,12 +3580,6 @@ "TFViTPreTrainedModel", ] ) - _import_structure["models.ict"].extend( - [ - "TFICTForImageClassification", - "TFICTPreTrainedModel", - ] - ) _import_structure["models.vit_mae"].extend( [ "TFViTMAEForPreTraining", diff --git a/src/transformers/models/ict/convert_dino_to_pytorch.py b/src/transformers/models/ict/convert_dino_to_pytorch.py deleted file mode 100644 index bb6a20d35fe0..000000000000 --- a/src/transformers/models/ict/convert_dino_to_pytorch.py +++ /dev/null @@ -1,219 +0,0 @@ -# coding=utf-8 -# Copyright 2023 The HuggingFace Inc. team. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Convert ICT checkpoints trained with the DINO method.""" - - -import argparse -import json -from pathlib import Path - -import requests -import torch -from huggingface_hub import hf_hub_download -from PIL import Image - -from transformers import ICTConfig, ViTFeatureExtractor, ICTForImageClassification, ICTModel -from transformers.utils import logging - - -logging.set_verbosity_info() -logger = logging.get_logger(__name__) - - -# here we list all keys to be renamed (original name on the left, our name on the right) -def create_rename_keys(config, base_model=False): - rename_keys = [] - for i in range(config.num_hidden_layers): - # encoder layers: output projection, 2 feedforward neural networks and 2 layernorms - rename_keys.append((f"blocks.{i}.norm1.weight", f"ict.encoder.layer.{i}.layernorm_before.weight")) - rename_keys.append((f"blocks.{i}.norm1.bias", f"ict.encoder.layer.{i}.layernorm_before.bias")) - rename_keys.append((f"blocks.{i}.attn.proj.weight", f"ict.encoder.layer.{i}.attention.output.dense.weight")) - rename_keys.append((f"blocks.{i}.attn.proj.bias", f"ict.encoder.layer.{i}.attention.output.dense.bias")) - rename_keys.append((f"blocks.{i}.norm2.weight", f"ict.encoder.layer.{i}.layernorm_after.weight")) - rename_keys.append((f"blocks.{i}.norm2.bias", f"ict.encoder.layer.{i}.layernorm_after.bias")) - rename_keys.append((f"blocks.{i}.mlp.fc1.weight", f"ict.encoder.layer.{i}.intermediate.dense.weight")) - rename_keys.append((f"blocks.{i}.mlp.fc1.bias", f"ict.encoder.layer.{i}.intermediate.dense.bias")) - rename_keys.append((f"blocks.{i}.mlp.fc2.weight", f"ict.encoder.layer.{i}.output.dense.weight")) - rename_keys.append((f"blocks.{i}.mlp.fc2.bias", f"ict.encoder.layer.{i}.output.dense.bias")) - - # projection layer + position embeddings - rename_keys.extend( - [ - ("cls_token", "ict.embeddings.cls_token"), - ("patch_embed.proj.weight", "ict.embeddings.patch_embeddings.projection.weight"), - ("patch_embed.proj.bias", "ict.embeddings.patch_embeddings.projection.bias"), - ("pos_embed", "ict.embeddings.position_embeddings"), - ] - ) - - if base_model: - # layernorm + pooler - rename_keys.extend( - [ - ("norm.weight", "layernorm.weight"), - ("norm.bias", "layernorm.bias"), - ] - ) - - # if just the base model, we should remove "ict" from all keys that start with "ict" - rename_keys = [(pair[0], pair[1][4:]) if pair[1].startswith("ict") else pair for pair in rename_keys] - else: - # layernorm + classification head - rename_keys.extend( - [ - ("norm.weight", "ict.layernorm.weight"), - ("norm.bias", "ict.layernorm.bias"), - ("head.weight", "classifier.weight"), - ("head.bias", "classifier.bias"), - ] - ) - - return rename_keys - - -# we split up the matrix of each encoder layer into queries, keys and values -def read_in_q_k_v(state_dict, config, base_model=False): - for i in range(config.num_hidden_layers): - if base_model: - prefix = "" - else: - prefix = "ict." - # read in weights + bias of input projection layer (in timm, this is a single matrix + bias) - in_proj_weight = state_dict.pop(f"blocks.{i}.attn.qkv.weight") - in_proj_bias = state_dict.pop(f"blocks.{i}.attn.qkv.bias") - # next, add query, keys and values (in that order) to the state dict - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.weight"] = in_proj_weight[ - : config.hidden_size, : - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.bias"] = in_proj_bias[: config.hidden_size] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.weight"] = in_proj_weight[ - config.hidden_size : config.hidden_size * 2, : - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.bias"] = in_proj_bias[ - config.hidden_size : config.hidden_size * 2 - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.weight"] = in_proj_weight[ - -config.hidden_size :, : - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.bias"] = in_proj_bias[-config.hidden_size :] - - -def remove_classification_head_(state_dict): - ignore_keys = ["head.weight", "head.bias"] - for k in ignore_keys: - state_dict.pop(k, None) - - -def rename_key(dct, old, new): - val = dct.pop(old) - dct[new] = val - - -# We will verify our results on an image of cute cats -def prepare_img(): - url = "http://images.cocodataset.org/val2017/000000039769.jpg" - im = Image.open(requests.get(url, stream=True).raw) - return im - - -@torch.no_grad() -def convert_ict_checkpoint(model_name, pytorch_dump_folder_path, base_model=True): - """ - Copy/paste/tweak model's weights to our ICT structure. - """ - - # define default ICT configuration - config = ICTConfig() - # patch_size - if model_name[-1] == "8": - config.patch_size = 8 - # set labels if required - if not base_model: - config.num_labels = 1000 - repo_id = "huggingface/label-files" - filename = "imagenet-1k-id2label.json" - id2label = json.load(open(hf_hub_download(repo_id, filename, repo_type="dataset"), "r")) - id2label = {int(k): v for k, v in id2label.items()} - config.id2label = id2label - config.label2id = {v: k for k, v in id2label.items()} - # size of the architecture - if model_name in ["dino_icts8", "dino_icts16"]: - config.hidden_size = 384 - config.intermediate_size = 1536 - config.num_hidden_layers = 12 - config.num_attention_heads = 6 - - # load original model from torch hub - original_model = torch.hub.load("facebookresearch/dino:main", model_name) - original_model.eval() - - # load state_dict of original model, remove and rename some keys - state_dict = original_model.state_dict() - if base_model: - remove_classification_head_(state_dict) - rename_keys = create_rename_keys(config, base_model=base_model) - for src, dest in rename_keys: - rename_key(state_dict, src, dest) - read_in_q_k_v(state_dict, config, base_model) - - # load HuggingFace model - if base_model: - model = ICTModel(config, add_pooling_layer=False).eval() - else: - model = ICTForImageClassification(config).eval() - model.load_state_dict(state_dict) - - # Check outputs on an image, prepared by ViTFeatureExtractor - feature_extractor = ViTFeatureExtractor() - encoding = feature_extractor(images=prepare_img(), return_tensors="pt") - pixel_values = encoding["pixel_values"] - outputs = model(pixel_values) - - if base_model: - final_hidden_state_cls_token = original_model(pixel_values) - assert torch.allclose(final_hidden_state_cls_token, outputs.last_hidden_state[:, 0, :], atol=1e-1) - else: - logits = original_model(pixel_values) - assert logits.shape == outputs.logits.shape - assert torch.allclose(logits, outputs.logits, atol=1e-3) - - Path(pytorch_dump_folder_path).mkdir(exist_ok=True) - print(f"Saving model {model_name} to {pytorch_dump_folder_path}") - model.save_pretrained(pytorch_dump_folder_path) - print(f"Saving feature extractor to {pytorch_dump_folder_path}") - feature_extractor.save_pretrained(pytorch_dump_folder_path) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - # Required parameters - parser.add_argument( - "--model_name", - default="dino_ictb16", - type=str, - help="Name of the model trained with DINO you'd like to convert.", - ) - parser.add_argument( - "--pytorch_dump_folder_path", default=None, type=str, help="Path to the output PyTorch model directory." - ) - parser.add_argument( - "--base_model", - action="store_true", - help="Whether to only convert the base model (no projection head weights).", - ) - - parser.set_defaults(base_model=True) - args = parser.parse_args() - convert_ict_checkpoint(args.model_name, args.pytorch_dump_folder_path, args.base_model) diff --git a/tests/models/vit/test_image_processing_vit.py b/tests/models/vit/test_image_processing_vit.py index 96b865cac67d..171ce65e74f1 100644 --- a/tests/models/vit/test_image_processing_vit.py +++ b/tests/models/vit/test_image_processing_vit.py @@ -98,6 +98,9 @@ def test_image_processor_from_dict_with_kwargs(self): image_processor = self.image_processing_class.from_dict(self.image_processor_dict, size=42) self.assertEqual(image_processor.size, {"height": 42, "width": 42}) + def test_batch_feature(self): + pass + def test_call_pil(self): # Initialize image_processing image_processing = self.image_processing_class(**self.image_processor_dict) From f97d65ea7c97c78d7faa3fda18338a2f64de7299 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 01:46:25 -0800 Subject: [PATCH 05/70] remove encoder --- src/transformers/models/ict/modeling_ict.py | 58 --------------------- 1 file changed, 58 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 559ca055dca0..7058542f0c92 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -375,64 +375,6 @@ def forward( return outputs -# Copied from transformers.models.vit.modeling_vit.ViTEncoder with ViT->ICT -class ICTEncoder(nn.Module): - def __init__(self, config: ICTConfig) -> None: - super().__init__() - self.config = config - self.layer = nn.ModuleList([ICTLayer(config) for _ in range(config.num_hidden_layers)]) - self.gradient_checkpointing = False - - def forward( - self, - hidden_states: torch.Tensor, - head_mask: Optional[torch.Tensor] = None, - output_attentions: bool = False, - output_hidden_states: bool = False, - return_dict: bool = True, - ) -> Union[tuple, BaseModelOutput]: - all_hidden_states = () if output_hidden_states else None - all_self_attentions = () if output_attentions else None - - for i, layer_module in enumerate(self.layer): - if output_hidden_states: - all_hidden_states = all_hidden_states + (hidden_states,) - - layer_head_mask = head_mask[i] if head_mask is not None else None - - if self.gradient_checkpointing and self.training: - - def create_custom_forward(module): - def custom_forward(*inputs): - return module(*inputs, output_attentions) - - return custom_forward - - layer_outputs = torch.utils.checkpoint.checkpoint( - create_custom_forward(layer_module), - hidden_states, - layer_head_mask, - ) - else: - layer_outputs = layer_module(hidden_states, layer_head_mask, output_attentions) - - hidden_states = layer_outputs[0] - - if output_attentions: - all_self_attentions = all_self_attentions + (layer_outputs[1],) - - if output_hidden_states: - all_hidden_states = all_hidden_states + (hidden_states,) - - if not return_dict: - return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) - return BaseModelOutput( - last_hidden_state=hidden_states, - hidden_states=all_hidden_states, - attentions=all_self_attentions, - ) - - # Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict class ICTPreTrainedModel(PreTrainedModel): """ From cccfa439289a2f851646ce46396f2beb2827a759 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 03:09:47 -0700 Subject: [PATCH 06/70] remove interpolation and patch embeddings --- src/transformers/models/ict/modeling_ict.py | 82 +-------------------- 1 file changed, 3 insertions(+), 79 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 7058542f0c92..178d21a97628 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -75,48 +75,14 @@ def __init__(self, config: ICTConfig, use_mask_token: bool = False) -> None: self.position_embeddings = nn.Parameter(torch.randn(1, num_patches + 1, config.hidden_size)) self.dropout = nn.Dropout(config.hidden_dropout_prob) self.config = config - - def interpolate_pos_encoding(self, embeddings: torch.Tensor, height: int, width: int) -> torch.Tensor: - """ - This method allows to interpolate the pre-trained position encodings, to be able to use the model on higher - resolution images. - - Source: - https://github.com/facebookresearch/dino/blob/de9ee3df6cf39fac952ab558447af1fa1365362a/vision_transformer.py#L174 - """ - - num_patches = embeddings.shape[1] - 1 - num_positions = self.position_embeddings.shape[1] - 1 - if num_patches == num_positions and height == width: - return self.position_embeddings - class_pos_embed = self.position_embeddings[:, 0] - patch_pos_embed = self.position_embeddings[:, 1:] - dim = embeddings.shape[-1] - h0 = height // self.config.patch_size - w0 = width // self.config.patch_size - # we add a small number to avoid floating point error in the interpolation - # see discussion at https://github.com/facebookresearch/dino/issues/8 - h0, w0 = h0 + 0.1, w0 + 0.1 - patch_pos_embed = patch_pos_embed.reshape(1, int(math.sqrt(num_positions)), int(math.sqrt(num_positions)), dim) - patch_pos_embed = patch_pos_embed.permute(0, 3, 1, 2) - patch_pos_embed = nn.functional.interpolate( - patch_pos_embed, - scale_factor=(h0 / math.sqrt(num_positions), w0 / math.sqrt(num_positions)), - mode="bicubic", - align_corners=False, - ) - assert int(h0) == patch_pos_embed.shape[-2] and int(w0) == patch_pos_embed.shape[-1] - patch_pos_embed = patch_pos_embed.permute(0, 2, 3, 1).view(1, -1, dim) - return torch.cat((class_pos_embed.unsqueeze(0), patch_pos_embed), dim=1) - + def forward( self, pixel_values: torch.Tensor, bool_masked_pos: Optional[torch.BoolTensor] = None, - interpolate_pos_encoding: bool = False, ) -> torch.Tensor: batch_size, num_channels, height, width = pixel_values.shape - embeddings = self.patch_embeddings(pixel_values, interpolate_pos_encoding=interpolate_pos_encoding) + embeddings = self.patch_embeddings(pixel_values) if bool_masked_pos is not None: seq_length = embeddings.shape[1] @@ -130,55 +96,13 @@ def forward( embeddings = torch.cat((cls_tokens, embeddings), dim=1) # add positional encoding to each token - if interpolate_pos_encoding: - embeddings = embeddings + self.interpolate_pos_encoding(embeddings, height, width) - else: - embeddings = embeddings + self.position_embeddings + embeddings = embeddings + self.position_embeddings embeddings = self.dropout(embeddings) return embeddings -# Copied from transformers.models.vit.modeling_vit.ViTPatchEmbeddings with ViT->ICT -class ICTPatchEmbeddings(nn.Module): - """ - This class turns `pixel_values` of shape `(batch_size, num_channels, height, width)` into the initial - `hidden_states` (patch embeddings) of shape `(batch_size, seq_length, hidden_size)` to be consumed by a - Transformer. - """ - - def __init__(self, config): - super().__init__() - image_size, patch_size = config.image_size, config.patch_size - num_channels, hidden_size = config.num_channels, config.hidden_size - - image_size = image_size if isinstance(image_size, collections.abc.Iterable) else (image_size, image_size) - patch_size = patch_size if isinstance(patch_size, collections.abc.Iterable) else (patch_size, patch_size) - num_patches = (image_size[1] // patch_size[1]) * (image_size[0] // patch_size[0]) - self.image_size = image_size - self.patch_size = patch_size - self.num_channels = num_channels - self.num_patches = num_patches - - self.projection = nn.Conv2d(num_channels, hidden_size, kernel_size=patch_size, stride=patch_size) - - def forward(self, pixel_values: torch.Tensor, interpolate_pos_encoding: bool = False) -> torch.Tensor: - batch_size, num_channels, height, width = pixel_values.shape - if num_channels != self.num_channels: - raise ValueError( - "Make sure that the channel dimension of the pixel values match with the one set in the configuration." - ) - if not interpolate_pos_encoding: - if height != self.image_size[0] or width != self.image_size[1]: - raise ValueError( - f"Input image size ({height}*{width}) doesn't match model" - f" ({self.image_size[0]}*{self.image_size[1]})." - ) - embeddings = self.projection(pixel_values).flatten(2).transpose(1, 2) - return embeddings - - # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class ICTSelfAttention(nn.Module): def __init__(self, config: ICTConfig) -> None: From 71311e91236a051e73021f7e551bfee8088d2fc8 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:04:23 -0700 Subject: [PATCH 07/70] remove unused class --- src/transformers/__init__.py | 1 - src/transformers/models/auto/feature_extraction_auto.py | 1 - 2 files changed, 2 deletions(-) diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index 9604dcd8b636..f97924d76c1e 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -2747,7 +2747,6 @@ _import_structure["models.ict"].extend( [ "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTForImageClassification", "ICTForMaskedImageModeling", "ICTModel", "ICTPreTrainedModel", diff --git a/src/transformers/models/auto/feature_extraction_auto.py b/src/transformers/models/auto/feature_extraction_auto.py index 3d80322e9978..b100b62ac024 100644 --- a/src/transformers/models/auto/feature_extraction_auto.py +++ b/src/transformers/models/auto/feature_extraction_auto.py @@ -59,7 +59,6 @@ ("glpn", "GLPNFeatureExtractor"), ("groupvit", "CLIPFeatureExtractor"), ("hubert", "Wav2Vec2FeatureExtractor"), - ("ict", "ICTFeatureExtractor"), ("imagegpt", "ImageGPTFeatureExtractor"), ("layoutlmv2", "LayoutLMv2FeatureExtractor"), ("layoutlmv3", "LayoutLMv3FeatureExtractor"), From 6e8aa16288cfaf7618bca0c10aeecc720bd63dba Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:04:32 -0700 Subject: [PATCH 08/70] tweak configuration --- .../models/ict/configuration_ict.py | 69 ++++++++++--------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 3f87f2c8e31a..239764bc1d53 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -27,7 +27,7 @@ logger = logging.get_logger(__name__) ICT_PRETRAINED_CONFIG_ARCHIVE_MAP = { - "sheonhan/image-completion-transformer": "https://huggingface.co/sheonhan/image-completion-transformer/resolve/main/config.json", + "sheonhan/ict-imagenet-32": "https://huggingface.co/sheonhan/ict-imagenet-32/resolve/main/config.json", } @@ -36,53 +36,53 @@ class ICTConfig(PretrainedConfig): r""" This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the - defaults will yield a similar configuration to that of the ICT - [google/ict-base-patch16-224](https://huggingface.co/google/ict-base-patch16-224) architecture. + defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. Args: - hidden_size (`int`, *optional*, defaults to 768): - Dimensionality of the encoder layers and the pooler layer. - num_hidden_layers (`int`, *optional*, defaults to 12): + vocab_size (`int`, *optional*, defaults to 512): + Vocabulary size of the ICT model. Defines the number of different tokens that can be represented by the + `pixel_values` passed when calling [`ICTModel`]. + hidden_size (`int`, *optional*, defaults to 1024): + Dimensionality of the embeddings and hidden states. + num_hidden_layers (`int`, *optional*, defaults to 35): Number of hidden layers in the Transformer encoder. - num_attention_heads (`int`, *optional*, defaults to 12): + num_attention_heads (`int`, *optional*, defaults to 8): Number of attention heads for each attention layer in the Transformer encoder. - intermediate_size (`int`, *optional*, defaults to 3072): + intermediate_size (`int`, *optional*, defaults to 4096): Dimensionality of the "intermediate" (i.e., feed-forward) layer in the Transformer encoder. - hidden_act (`str` or `function`, *optional*, defaults to `"gelu"`): - The non-linear activation function (function or string) in the encoder and pooler. If string, `"gelu"`, - `"relu"`, `"selu"` and `"gelu_new"` are supported. - hidden_dropout_prob (`float`, *optional*, defaults to 0.1): + activation_function (`str`, *optional*, defaults to `"gelu"`): + Activation function (can be one of the activation functions defined in src/transformers/activations.py). + Defaults to "quick_gelu". + embedding_dropout_prob (`int`, *optional*, defaults to 0.0): + The dropout ratio for the embeddings. + residual_dropout_prob (`float`, *optional*, defaults to 0.0): The dropout probability for all fully connected layers in the embeddings, encoder, and pooler. - attention_probs_dropout_prob (`float`, *optional*, defaults to 0.1): + attention_probs_dropout_prob (`float`, *optional*, defaults to 0.0): The dropout ratio for the attention probabilities. initializer_range (`float`, *optional*, defaults to 0.02): The standard deviation of the truncated_normal_initializer for initializing all weight matrices. layer_norm_eps (`float`, *optional*, defaults to 1e-12): The epsilon used by the layer normalization layers. - image_size (`int`, *optional*, defaults to `224`): + image_size (`int`, *optional*, defaults to `32`): The size (resolution) of each image. - patch_size (`int`, *optional*, defaults to `16`): - The size (resolution) of each patch. num_channels (`int`, *optional*, defaults to `3`): The number of input channels. - qkv_bias (`bool`, *optional*, defaults to `True`): + qkv_bias (`bool`, *optional*, defaults to `False`): Whether to add a bias to the queries, keys and values. - encoder_stride (`int`, `optional`, defaults to 16): - Factor to increase the spatial resolution by in the decoder head for masked image modeling. Example: ```python >>> from transformers import ICTConfig, ICTModel - >>> # Initializing a ICT ict-base-patch16-224 style configuration + >>> # Initializing a ICT ict-imagenet-32 style configuration >>> configuration = ICTConfig() - >>> # Initializing a model (with random weights) from the ict-base-patch16-224 style configuration + >>> # Initializing a model (with random weights) from the ict-imagenet-32 style configuration >>> model = ICTModel(configuration) >>> # Accessing the model configuration @@ -92,38 +92,39 @@ class ICTConfig(PretrainedConfig): def __init__( self, + vocab_size=512, hidden_size=768, - num_hidden_layers=12, - num_attention_heads=12, - intermediate_size=3072, - hidden_act="gelu", - hidden_dropout_prob=0.0, + num_hidden_layers=35, + num_attention_heads=8, + intermediate_size=4096, + activation_function="gelu", + embedding_dropout_prob=0.0, + residual_dropout_prob=0.0, attention_probs_dropout_prob=0.0, initializer_range=0.02, layer_norm_eps=1e-12, - image_size=224, - patch_size=16, + image_size=32, num_channels=3, - qkv_bias=True, - encoder_stride=16, + qkv_bias=False, **kwargs, ): super().__init__(**kwargs) + self.vocab_size = vocab_size self.hidden_size = hidden_size self.num_hidden_layers = num_hidden_layers self.num_attention_heads = num_attention_heads self.intermediate_size = intermediate_size - self.hidden_act = hidden_act - self.hidden_dropout_prob = hidden_dropout_prob + self.activation_function = activation_function + self.embedding_dropout_prob = embedding_dropout_prob + self.residual_dropout_prob = residual_dropout_prob self.attention_probs_dropout_prob = attention_probs_dropout_prob self.initializer_range = initializer_range self.layer_norm_eps = layer_norm_eps self.image_size = image_size - self.patch_size = patch_size + self.block_size = self.image_size * self.image_size self.num_channels = num_channels self.qkv_bias = qkv_bias - self.encoder_stride = encoder_stride class ICTOnnxConfig(OnnxConfig): From fd001d7e5d0a26a7cf466420ce186b0efb496759 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:04:58 -0700 Subject: [PATCH 09/70] output correct shape for image processing --- .../models/ict/image_processing_ict.py | 81 +++++++++---------- 1 file changed, 37 insertions(+), 44 deletions(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 1f1d3539099a..70856511db5f 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -18,7 +18,7 @@ import os import numpy as np - +from huggingface_hub import hf_hub_download from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict from ...image_transforms import normalize, rescale, resize, to_channel_dimension_format @@ -32,14 +32,11 @@ to_numpy_array, valid_images, ) -from ...utils import TensorType, logging, is_vision_available +from ...utils import TensorType, logging logger = logging.get_logger(__name__) -if is_vision_available(): - import PIL.Image - class ICTImageProcessor(BaseImageProcessor): r""" Constructs a ICT image processor. @@ -83,6 +80,8 @@ def __init__( do_normalize: bool = True, image_mean: Optional[Union[float, List[float]]] = None, image_std: Optional[Union[float, List[float]]] = None, + do_discretize: bool = True, + clusters: Optional[np.ndarray] = None, **kwargs, ) -> None: super().__init__(**kwargs) @@ -96,11 +95,15 @@ def __init__( self.rescale_factor = rescale_factor self.image_mean = image_mean if image_mean is not None else IMAGENET_STANDARD_MEAN self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD + self.do_discretize = do_discretize + self.clusters = np.array(clusters) if clusters is not None else self.get_image_net_clusters() - __current_dir__ = os.path.realpath(os.path.join(os.getcwd(), os.path.dirname(__file__))) - kmeans_centers = np.load(os.path.join(__current_dir__, './assets/kmeans_centers.npy')) - self.kmeans_centers = np.rint(127.5 * (kmeans_centers + 1.0)) + def get_image_net_clusters(self): + kmeans_centers = np.load(hf_hub_download(repo_id="sheonhan/ict-imagenet-32", filename="kmeans_centers.npy")) + return np.rint(127.5 * (kmeans_centers + 1.0)) + + def resize( self, image: np.ndarray, @@ -186,7 +189,7 @@ def normalize( """ return normalize(image, mean=mean, std=std, data_format=data_format, **kwargs) - def reduce_dims( + def discretize( self, image: np.ndarray ): @@ -204,32 +207,14 @@ def reduce_dims( image = np.array(image).reshape((-1, 3)) image = image.astype(np.float32) - image = ((image[:, None, :] - self.kmeans_centers[None, :, :])**2).sum(-1).argmin(1) + # Copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L98 + image = ((image[:, None, :] - self.clusters[None, :, :])**2).sum(-1).argmin(1) return image - def process_mask( - self, - image: np.ndarray - ): - """ - Convert - - Args: - image (`np.ndarray`): - Mask image to process. - - Returns: - `np.ndarray`: The mask image with . - """ - - image = (image / 255.).reshape(-1) - image = (image > 0.5).astype(np.float32) - return image def preprocess( self, images: ImageInput, - masks: ImageInput, do_resize: Optional[bool] = None, size: Dict[str, int] = None, resample: PILImageResampling = None, @@ -238,6 +223,8 @@ def preprocess( do_normalize: Optional[bool] = None, image_mean: Optional[Union[float, List[float]]] = None, image_std: Optional[Union[float, List[float]]] = None, + do_discretize: bool = True, + clusters: Optional[np.ndarray] = None, return_tensors: Optional[Union[str, TensorType]] = None, data_format: Union[str, ChannelDimension] = ChannelDimension.FIRST, **kwargs, @@ -266,6 +253,11 @@ def preprocess( Image mean to use if `do_normalize` is set to `True`. image_std (`float` or `List[float]`, *optional*, defaults to `self.image_std`): Image standard deviation to use if `do_normalize` is set to `True`. + do_discretize (`bool`, *optional*, defaults to `self.do_color_quantize`): + Whether to discretize the image. + clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): + Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if + `do_discretize` is set to `True`. return_tensors (`str` or `TensorType`, *optional*): The type of tensors to return. Can be one of: - Unset: Return a list of `np.ndarray`. @@ -286,47 +278,48 @@ def preprocess( rescale_factor = rescale_factor if rescale_factor is not None else self.rescale_factor image_mean = image_mean if image_mean is not None else self.image_mean image_std = image_std if image_std is not None else self.image_std + do_discretize = do_discretize if do_discretize is not None else self.do_discretize + clusters = clusters if clusters is not None else self.clusters size = size if size is not None else self.size size_dict = get_size_dict(size) images = make_list_of_images(images) - masks = make_list_of_images(masks) - if not valid_images(images) or not valid_images(masks): + if not valid_images(images): raise ValueError( "Invalid image type. Must be of type PIL.Image.Image, numpy.ndarray, " "torch.Tensor, tf.Tensor or jax.ndarray." ) - if len(images) != len(masks): - raise ValueError("The number of images and masks have to be the same.") if do_resize and size is None: raise ValueError("Size must be specified if do_resize is True.") if do_rescale and rescale_factor is None: raise ValueError("Rescale factor must be specified if do_rescale is True.") + + if do_discretize and clusters is None: + raise ValueError("Clusters must be specified if do_discretize is True.") # All transformations expect numpy arrays. images = [to_numpy_array(image) for image in images] - masks = [to_numpy_array(mask) for mask in masks] - + if do_resize: images = [self.resize(image=image, size=size_dict, resample=resample) for image in images] - masks = [self.resize(image=mask, size=size_dict, resample=PILImageResampling.NEAREST) for mask in masks] if do_rescale: images = [self.rescale(image=image, scale=rescale_factor) for image in images] - masks = [self.rescale(image=mask, scale=rescale_factor) for mask in masks] if do_normalize: images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] - if masks[0] is isinstance(masks[0], PIL.Image.Image): - masks = [to_numpy_array(mask.convert('L')) for mask in masks] - masks = [self.process_mask(mask) for mask in masks] - - masked_images = [img * (1 - mask)for img, mask in zip(images, masks)] - - data = {"pixel_values": masked_images} + # Copied from transformers.models.imagegpt.image_processing_imagegpt.preprocess + if do_discretize: + images = [to_channel_dimension_format(image, data_format) for image in images] + # reshape each image to (image_size * image_size) + images = [self.discretize(image=image) for image in images] + else: + images = [to_channel_dimension_format(image, data_format) for image in images] + + data = {"pixel_values": images} return BatchFeature(data=data, tensor_type=return_tensors) From c0bc32bd955a09d74016ccb34b73c2a9774022e4 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:05:32 -0700 Subject: [PATCH 10/70] implement ICT model --- src/transformers/models/ict/modeling_ict.py | 382 +++++--------------- 1 file changed, 97 insertions(+), 285 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 178d21a97628..018001a4beeb 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -44,65 +44,16 @@ _CONFIG_FOR_DOC = "ICTConfig" # Base docstring -_CHECKPOINT_FOR_DOC = "sheonhan/image-completion-transformer" -_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] - -# Image classification docstring -_IMAGE_CLASS_CHECKPOINT = "google/ict-base-patch16-224" -_IMAGE_CLASS_EXPECTED_OUTPUT = "Egyptian cat" +_CHECKPOINT_FOR_DOC = "sheonhan/ict-imagenet-32" +_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] # TODO ICT_PRETRAINED_MODEL_ARCHIVE_LIST = [ - "sheonhan/image-completion-transformer", + "sheonhan/ict-imagenet-32", # See all ICT models at https://huggingface.co/models?filter=ict ] - -# Copied from transformers.models.vit.modeling_vit.ViTEmbeddings with ViT->ICT -class ICTEmbeddings(nn.Module): - """ - Construct the CLS token, position and patch embeddings. Optionally, also the mask token. - """ - - def __init__(self, config: ICTConfig, use_mask_token: bool = False) -> None: - super().__init__() - - self.cls_token = nn.Parameter(torch.randn(1, 1, config.hidden_size)) - self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None - self.patch_embeddings = ICTPatchEmbeddings(config) - num_patches = self.patch_embeddings.num_patches - self.position_embeddings = nn.Parameter(torch.randn(1, num_patches + 1, config.hidden_size)) - self.dropout = nn.Dropout(config.hidden_dropout_prob) - self.config = config - - def forward( - self, - pixel_values: torch.Tensor, - bool_masked_pos: Optional[torch.BoolTensor] = None, - ) -> torch.Tensor: - batch_size, num_channels, height, width = pixel_values.shape - embeddings = self.patch_embeddings(pixel_values) - - if bool_masked_pos is not None: - seq_length = embeddings.shape[1] - mask_tokens = self.mask_token.expand(batch_size, seq_length, -1) - # replace the masked visual tokens by mask_tokens - mask = bool_masked_pos.unsqueeze(-1).type_as(mask_tokens) - embeddings = embeddings * (1.0 - mask) + mask_tokens * mask - - # add the [CLS] token to the embedded patch tokens - cls_tokens = self.cls_token.expand(batch_size, -1, -1) - embeddings = torch.cat((cls_tokens, embeddings), dim=1) - - # add positional encoding to each token - embeddings = embeddings + self.position_embeddings - - embeddings = self.dropout(embeddings) - - return embeddings - - # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class ICTSelfAttention(nn.Module): def __init__(self, config: ICTConfig) -> None: @@ -120,8 +71,11 @@ def __init__(self, config: ICTConfig) -> None: self.query = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) self.key = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) self.value = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) + + self.output_projection = nn.Linear(config.hidden_size, config.hidden_size) - self.dropout = nn.Dropout(config.attention_probs_dropout_prob) + self.attention_dropout = nn.Dropout(config.attention_probs_dropout_prob) + self.residual_dropout = nn.Dropout(config.residual_dropout_prob) def transpose_for_scores(self, x: torch.Tensor) -> torch.Tensor: new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size) @@ -129,8 +83,7 @@ def transpose_for_scores(self, x: torch.Tensor) -> torch.Tensor: return x.permute(0, 2, 1, 3) def forward( - self, hidden_states, head_mask: Optional[torch.Tensor] = None, output_attentions: bool = False - ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: + self, hidden_states, output_attentions: bool = False) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: mixed_query_layer = self.query(hidden_states) key_layer = self.transpose_for_scores(self.key(hidden_states)) @@ -147,11 +100,7 @@ def forward( # This is actually dropping out entire tokens to attend to, which might # seem a bit unusual, but is taken from the original Transformer paper. - attention_probs = self.dropout(attention_probs) - - # Mask heads if we want to - if head_mask is not None: - attention_probs = attention_probs * head_mask + attention_probs = self.attention_dropout(attention_probs) context_layer = torch.matmul(attention_probs, value_layer) @@ -159,143 +108,39 @@ def forward( new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) context_layer = context_layer.view(new_context_layer_shape) - outputs = (context_layer, attention_probs) if output_attentions else (context_layer,) - - return outputs - + outputs = self.output_projection(context_layer) + outputs = self.residual_dropout(outputs) + + return (outputs, attention_probs) if output_attentions else (outputs,) -# Copied from transformers.models.vit.modeling_vit.ViTSelfOutput with ViT->ICT -class ICTSelfOutput(nn.Module): - """ - The residual connection is defined in ICTLayer instead of here (as is the case with other models), due to the - layernorm applied before each block. - """ - def __init__(self, config: ICTConfig) -> None: +class ICTBlock(nn.Module): + def __init__(self, config): super().__init__() - self.dense = nn.Linear(config.hidden_size, config.hidden_size) - self.dropout = nn.Dropout(config.hidden_dropout_prob) - - def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor: - hidden_states = self.dense(hidden_states) - hidden_states = self.dropout(hidden_states) - - return hidden_states + num_embed = config.hidden_size + intermediate_size = config.intermediate_size + self.intermediate_act_fn = ACT2FN[config.activation_function] - -# Copied from transformers.models.vit.modeling_vit.ViTAttention with ViT->ICT -class ICTAttention(nn.Module): - def __init__(self, config: ICTConfig) -> None: - super().__init__() + self.ln_1 = nn.LayerNorm(num_embed) self.attention = ICTSelfAttention(config) - self.output = ICTSelfOutput(config) - self.pruned_heads = set() - - def prune_heads(self, heads: Set[int]) -> None: - if len(heads) == 0: - return - heads, index = find_pruneable_heads_and_indices( - heads, self.attention.num_attention_heads, self.attention.attention_head_size, self.pruned_heads + self.ln_2 = nn.LayerNorm(num_embed) + self.mlp = nn.Sequential( + nn.Linear(num_embed, intermediate_size), + self.intermediate_act_fn, + nn.Linear(intermediate_size, num_embed), + nn.Dropout(config.resid_pdrop), ) - # Prune linear layers - self.attention.query = prune_linear_layer(self.attention.query, index) - self.attention.key = prune_linear_layer(self.attention.key, index) - self.attention.value = prune_linear_layer(self.attention.value, index) - self.output.dense = prune_linear_layer(self.output.dense, index, dim=1) - - # Update hyper params and store pruned heads - self.attention.num_attention_heads = self.attention.num_attention_heads - len(heads) - self.attention.all_head_size = self.attention.attention_head_size * self.attention.num_attention_heads - self.pruned_heads = self.pruned_heads.union(heads) - - def forward( - self, - hidden_states: torch.Tensor, - head_mask: Optional[torch.Tensor] = None, - output_attentions: bool = False, - ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: - self_outputs = self.attention(hidden_states, head_mask, output_attentions) - - attention_output = self.output(self_outputs[0], hidden_states) - - outputs = (attention_output,) + self_outputs[1:] # add attentions if we output them - return outputs - - -# Copied from transformers.models.vit.modeling_vit.ViTIntermediate with ViT->ICT -class ICTIntermediate(nn.Module): - def __init__(self, config: ICTConfig) -> None: - super().__init__() - self.dense = nn.Linear(config.hidden_size, config.intermediate_size) - if isinstance(config.hidden_act, str): - self.intermediate_act_fn = ACT2FN[config.hidden_act] - else: - self.intermediate_act_fn = config.hidden_act - - def forward(self, hidden_states: torch.Tensor) -> torch.Tensor: - hidden_states = self.dense(hidden_states) - hidden_states = self.intermediate_act_fn(hidden_states) - - return hidden_states - - -# Copied from transformers.models.vit.modeling_vit.ViTOutput with ViT->ICT -class ICTOutput(nn.Module): - def __init__(self, config: ICTConfig) -> None: - super().__init__() - self.dense = nn.Linear(config.intermediate_size, config.hidden_size) - self.dropout = nn.Dropout(config.hidden_dropout_prob) - - def forward(self, hidden_states: torch.Tensor, input_tensor: torch.Tensor) -> torch.Tensor: - hidden_states = self.dense(hidden_states) - hidden_states = self.dropout(hidden_states) - - hidden_states = hidden_states + input_tensor - - return hidden_states - - -# Copied from transformers.models.vit.modeling_vit.ViTLayer with ViT->ICT -class ICTLayer(nn.Module): - """This corresponds to the Block class in the timm implementation.""" - - def __init__(self, config: ICTConfig) -> None: - super().__init__() - self.chunk_size_feed_forward = config.chunk_size_feed_forward - self.seq_len_dim = 1 - self.attention = ICTAttention(config) - self.intermediate = ICTIntermediate(config) - self.output = ICTOutput(config) - self.layernorm_before = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) - self.layernorm_after = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) - - def forward( - self, - hidden_states: torch.Tensor, - head_mask: Optional[torch.Tensor] = None, - output_attentions: bool = False, - ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: - self_attention_outputs = self.attention( - self.layernorm_before(hidden_states), # in ICT, layernorm is applied before self-attention - head_mask, - output_attentions=output_attentions, - ) + def forward(self, hidden_states, output_attentions: bool = False): + self_attention_outputs = self.attention(self.ln_1(hidden_states, output_attentions=output_attentions)) attention_output = self_attention_outputs[0] outputs = self_attention_outputs[1:] # add self attentions if we output attention weights - - # first residual connection - hidden_states = attention_output + hidden_states - - # in ICT, layernorm is also applied after self-attention - layer_output = self.layernorm_after(hidden_states) - layer_output = self.intermediate(layer_output) - - # second residual connection is done here - layer_output = self.output(layer_output, hidden_states) - - outputs = (layer_output,) + outputs - + + hidden_states = hidden_states + attention_output + hidden_states = hidden_states + self.mlp(self.ln_2(hidden_states)) + + outputs = (hidden_states,) + outputs + return outputs @@ -312,34 +157,22 @@ class ICTPreTrainedModel(PreTrainedModel): supports_gradient_checkpointing = True _no_split_modules = [] - def _init_weights(self, module: Union[nn.Linear, nn.Conv2d, nn.LayerNorm]) -> None: + def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm]) -> None: """Initialize the weights""" - if isinstance(module, (nn.Linear, nn.Conv2d)): - # Upcast the input in `fp32` and cast it back to desired `dtype` to avoid - # `trunc_normal_cpu` not implemented in `half` issues - module.weight.data = nn.init.trunc_normal_( + if isinstance(module, (nn.Linear, nn.Embedding)): + # Slightly different from the ViT version which uses truncated_normal for initialization + # https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/models/model.py#L159-L166 + module.weight.data = nn.init.normal_( module.weight.data.to(torch.float32), mean=0.0, std=self.config.initializer_range ).to(module.weight.dtype) - if module.bias is not None: + if isinstance(module, nn.Linear) and module.bias is not None: module.bias.data.zero_() elif isinstance(module, nn.LayerNorm): module.bias.data.zero_() module.weight.data.fill_(1.0) - elif isinstance(module, ICTEmbeddings): - module.position_embeddings.data = nn.init.trunc_normal_( - module.position_embeddings.data.to(torch.float32), - mean=0.0, - std=self.config.initializer_range, - ).to(module.position_embeddings.dtype) - - module.cls_token.data = nn.init.trunc_normal_( - module.cls_token.data.to(torch.float32), - mean=0.0, - std=self.config.initializer_range, - ).to(module.cls_token.dtype) - - def _set_gradient_checkpointing(self, module: ICTEncoder, value: bool = False) -> None: - if isinstance(module, ICTEncoder): + + def _set_gradient_checkpointing(self, module, value: bool = False) -> None: + if isinstance(module, ICTModel): module.gradient_checkpointing = value @@ -385,34 +218,31 @@ def _set_gradient_checkpointing(self, module: ICTEncoder, value: bool = False) - ) # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class ICTModel(ICTPreTrainedModel): - def __init__(self, config: ICTConfig, add_pooling_layer: bool = True, use_mask_token: bool = False): + def __init__(self, config: ICTConfig, use_mask_token: bool = False): super().__init__(config) self.config = config - self.embeddings = ICTEmbeddings(config, use_mask_token=use_mask_token) - self.encoder = ICTEncoder(config) - + self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) + self.position_embedding = nn.Parameter(torch.zeros(1, config.block_size, config.hidden_size)) + self.drop = nn.Dropout(config.residual_dropout_prob) + + self.gradient_checkpointing = False + self.blocks = nn.ModuleList([ICTBlock(config) for _ in range(config.num_hidden_layers)]) + + # Decoder head self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) - self.pooler = ICTPooler(config) if add_pooling_layer else None - + self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + # Initialize weights and apply final processing self.post_init() - def get_input_embeddings(self) -> ICTPatchEmbeddings: - return self.embeddings.patch_embeddings - - def _prune_heads(self, heads_to_prune: Dict[int, List[int]]) -> None: - """ - Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base - class PreTrainedModel - """ - for layer, heads in heads_to_prune.items(): - self.encoder.layer[layer].attention.prune_heads(heads) + def get_input_embeddings(self): + return self.token_embedding @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) @add_code_sample_docstrings( checkpoint=_CHECKPOINT_FOR_DOC, - output_type=BaseModelOutputWithPooling, + output_type=BaseModelOutput, config_class=_CONFIG_FOR_DOC, modality="vision", expected_output=_EXPECTED_OUTPUT_SHAPE, @@ -420,75 +250,61 @@ class PreTrainedModel def forward( self, pixel_values: Optional[torch.Tensor] = None, - bool_masked_pos: Optional[torch.BoolTensor] = None, - head_mask: Optional[torch.Tensor] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, - interpolate_pos_encoding: Optional[bool] = None, return_dict: Optional[bool] = None, - ) -> Union[Tuple, BaseModelOutputWithPooling]: - output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions - output_hidden_states = ( - output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states - ) - return_dict = return_dict if return_dict is not None else self.config.use_return_dict + ) -> Union[Tuple, BaseModelOutput]: + all_hidden_states = () if output_hidden_states else None + all_self_attentions = () if output_attentions else None if pixel_values is None: raise ValueError("You have to specify pixel_values") - # Prepare head mask if needed - # 1.0 in head_mask indicate we keep the head - # attention_probs has shape bsz x n_heads x N x N - # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads] - # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length] - head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers) + pixel_values = pixel_values.to(torch.long) + _, t = pixel_values.size() - # TODO: maybe have a cleaner way to cast the input (from `ImageProcessor` side?) - expected_dtype = self.embeddings.patch_embeddings.projection.weight.dtype - if pixel_values.dtype != expected_dtype: - pixel_values = pixel_values.to(expected_dtype) + inputs_embeds = self.token_embedding(pixel_values) + + if masks: + masks = masks.unsqueeze(2) + inputs_embeds = inputs_embeds * (1 - masks) + + position_embeds = self.position_embedding[:, :t, :] + hidden_states = inputs_embeds + position_embeds + hidden_states = self.drop(hidden_states) - embedding_output = self.embeddings( - pixel_values, bool_masked_pos=bool_masked_pos, interpolate_pos_encoding=interpolate_pos_encoding - ) + for _, block in enumerate(self.blocks): + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) - encoder_outputs = self.encoder( - embedding_output, - head_mask=head_mask, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - return_dict=return_dict, - ) - sequence_output = encoder_outputs[0] - sequence_output = self.layernorm(sequence_output) - pooled_output = self.pooler(sequence_output) if self.pooler is not None else None + if self.gradient_checkpointing and self.training: - if not return_dict: - head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) - return head_outputs + encoder_outputs[1:] - - return BaseModelOutputWithPooling( - last_hidden_state=sequence_output, - pooler_output=pooled_output, - hidden_states=encoder_outputs.hidden_states, - attentions=encoder_outputs.attentions, - ) + def create_custom_forward(module): + def custom_forward(*inputs): + return module(*inputs, output_attentions) + return custom_forward -# Copied from transformers.models.vit.modeling_vit.ViTPooler with ViT->ICT -class ICTPooler(nn.Module): - def __init__(self, config: ICTConfig): - super().__init__() - self.dense = nn.Linear(config.hidden_size, config.hidden_size) - self.activation = nn.Tanh() + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(block), + hidden_states, + ) + else: + layer_outputs = block(hidden_states, output_attentions) + + hidden_states = layer_outputs[0] + + if output_attentions: + all_self_attentions = all_self_attentions + (layer_outputs[1],) - def forward(self, hidden_states): - # We "pool" the model by simply taking the hidden state corresponding - # to the first token. - first_token_tensor = hidden_states[:, 0] - pooled_output = self.dense(first_token_tensor) - pooled_output = self.activation(pooled_output) - return pooled_output + if not return_dict: + return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) + + return BaseModelOutput( + last_hidden_state=hidden_states, + hidden_states=all_hidden_states, + attentions=all_self_attentions, + ) @add_start_docstrings( @@ -528,10 +344,8 @@ def forward( self, pixel_values: Optional[torch.Tensor] = None, bool_masked_pos: Optional[torch.BoolTensor] = None, - head_mask: Optional[torch.Tensor] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, - interpolate_pos_encoding: Optional[bool] = None, return_dict: Optional[bool] = None, ) -> Union[tuple, MaskedLMOutput]: r""" @@ -568,10 +382,8 @@ def forward( outputs = self.ict( pixel_values, bool_masked_pos=bool_masked_pos, - head_mask=head_mask, output_attentions=output_attentions, output_hidden_states=output_hidden_states, - interpolate_pos_encoding=interpolate_pos_encoding, return_dict=return_dict, ) From 79cb9091007466410fad43d9139494140a24a360 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:10:19 -0700 Subject: [PATCH 11/70] fix image processing test --- tests/models/ict/test_image_processing_ict.py | 99 +++++++++---------- 1 file changed, 47 insertions(+), 52 deletions(-) diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py index 224153dcf39f..306ef6b26596 100644 --- a/tests/models/ict/test_image_processing_ict.py +++ b/tests/models/ict/test_image_processing_ict.py @@ -15,10 +15,12 @@ import unittest +import tempfile +import os import numpy as np -from transformers.testing_utils import require_torch, require_vision, get_tests_dir +from transformers.testing_utils import require_torch, require_vision, check_json_file_has_correct_format from transformers.utils import is_torch_available, is_vision_available from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs @@ -82,16 +84,6 @@ def setUp(self): @property def image_processor_dict(self): return self.image_processor_tester.prepare_image_processor_dict() - - def get_masked_image(self, format=None): - image = Image.open(get_tests_dir("fixtures/tests_samples/ict/mask.png")) - if format is 'numpy': - return np.array(image) - elif format is 'torch': - return torch.from_numpy(np.array(image)) - else: - return image - def test_image_processor_properties(self): image_processing = self.image_processing_class(**self.image_processor_dict) self.assertTrue(hasattr(image_processing, "image_mean")) @@ -107,6 +99,37 @@ def test_image_processor_from_dict_with_kwargs(self): image_processor = self.image_processing_class.from_dict(self.image_processor_dict, size=42) self.assertEqual(image_processor.size, {"height": 42, "width": 42}) + def test_image_processor_to_json_file(self): + image_processor_first = self.image_processing_class(**self.image_processor_dict) + + with tempfile.TemporaryDirectory() as tmpdirname: + json_file_path = os.path.join(tmpdirname, "image_processor.json") + image_processor_first.to_json_file(json_file_path) + image_processor_second = self.image_processing_class.from_json_file(json_file_path).to_dict() + + image_processor_first = image_processor_first.to_dict() + for key, value in image_processor_first.items(): + if key == "clusters": + self.assertTrue(np.array_equal(value, image_processor_second[key])) + else: + self.assertEqual(image_processor_first[key], value) + + + def test_image_processor_from_and_save_pretrained(self): + image_processor_first = self.image_processing_class(**self.image_processor_dict) + + with tempfile.TemporaryDirectory() as tmpdirname: + saved_file = image_processor_first.save_pretrained(tmpdirname)[0] + check_json_file_has_correct_format(saved_file) + image_processor_second = self.image_processing_class.from_pretrained(tmpdirname).to_dict() + + image_processor_first = image_processor_first.to_dict() + for key, value in image_processor_first.items(): + if key == "clusters": + self.assertTrue(np.array_equal(value, image_processor_second[key])) + else: + self.assertEqual(image_processor_first[key], value) + def test_batch_feature(self): pass @@ -117,29 +140,23 @@ def test_call_pil(self): image_inputs = prepare_image_inputs(self.image_processor_tester, equal_resolution=False) for image in image_inputs: self.assertIsInstance(image, Image.Image) - mask_inputs = [self.get_masked_image() for _ in range(len(image_inputs))] # Test not batched input - encoded_images = image_processing(image_inputs[0], masks=mask_inputs[0], return_tensors="pt").pixel_values + encoded_images = image_processing(image_inputs[0], return_tensors="pt").pixel_values self.assertEqual( encoded_images.shape, ( 1, - self.image_processor_tester.num_channels, - self.image_processor_tester.size["height"], - self.image_processor_tester.size["width"], + self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) - # Test batched - encoded_images = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + encoded_images = image_processing(image_inputs, return_tensors="pt").pixel_values self.assertEqual( encoded_images.shape, ( self.image_processor_tester.batch_size, - self.image_processor_tester.num_channels, - self.image_processor_tester.size["height"], - self.image_processor_tester.size["width"], + self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) @@ -150,29 +167,24 @@ def test_call_numpy(self): image_inputs = prepare_image_inputs(self.image_processor_tester, equal_resolution=False, numpify=True) for image in image_inputs: self.assertIsInstance(image, np.ndarray) - mask_inputs = [self.get_masked_image('numpy') for _ in range(len(image_inputs))] # Test not batched input - encoded_images = image_processing(image_inputs[0], masks=mask_inputs[0], return_tensors="pt").pixel_values + encoded_images = image_processing(image_inputs[0], return_tensors="pt").pixel_values self.assertEqual( encoded_images.shape, ( 1, - self.image_processor_tester.num_channels, - self.image_processor_tester.size["height"], - self.image_processor_tester.size["width"], + self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) # Test batched - encoded_images = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + encoded_images = image_processing(image_inputs, return_tensors="pt").pixel_values self.assertEqual( encoded_images.shape, ( self.image_processor_tester.batch_size, - self.image_processor_tester.num_channels, - self.image_processor_tester.size["height"], - self.image_processor_tester.size["width"], + self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) @@ -183,40 +195,23 @@ def test_call_pytorch(self): image_inputs = prepare_image_inputs(self.image_processor_tester, equal_resolution=False, torchify=True) for image in image_inputs: self.assertIsInstance(image, torch.Tensor) - mask_inputs = [self.get_masked_image('torch') for _ in range(len(image_inputs))] # Test not batched input - encoded_images = image_processing(image_inputs[0], masks=mask_inputs[0], return_tensors="pt").pixel_values + encoded_images = image_processing(image_inputs[0], return_tensors="pt").pixel_values self.assertEqual( encoded_images.shape, ( 1, - self.image_processor_tester.num_channels, - self.image_processor_tester.size["height"], - self.image_processor_tester.size["width"], + self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) # Test batched - encoded_images = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values + encoded_images = image_processing(image_inputs, return_tensors="pt").pixel_values self.assertEqual( encoded_images.shape, ( - self.image_processor_tester.batch_size, - self.image_processor_tester.num_channels, - self.image_processor_tester.size["height"], - self.image_processor_tester.size["width"], + self.image_processor_tester.batch_size, + self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) - - def test_example_image(self): - # Initialize image_processing - image_processing = self.image_processing_class(**self.image_processor_dict) - # import image - image_inputs = Image.open(get_tests_dir("fixtures/tests_samples/ict/image.png")) - mask_inputs = self.get_masked_image() - - encoded_image = image_processing(image_inputs, masks=mask_inputs, return_tensors="pt").pixel_values - masked_image = np.array(torch.load(get_tests_dir("fixtures/tests_samples/ict/masked_test_image.pt"))) - - self.assertTrue(np.array_equal(encoded_image, masked_image)) From 0a0728831efa121b1e935320bfdd8c50d4a2c60d Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:11:16 -0700 Subject: [PATCH 12/70] run fixup --- src/transformers/__init__.py | 16 ++++----- src/transformers/models/ict/__init__.py | 4 +-- .../models/ict/configuration_ict.py | 1 - .../models/ict/convert_ict_timm_to_pytorch.py | 2 +- .../models/ict/image_processing_ict.py | 26 ++++++--------- src/transformers/models/ict/modeling_ict.py | 33 +++++++++---------- tests/models/ict/test_image_processing_ict.py | 14 ++++---- 7 files changed, 43 insertions(+), 53 deletions(-) diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index f97924d76c1e..eece12c55990 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -4211,6 +4211,7 @@ from .models.herbert import HerbertTokenizer from .models.hubert import HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, HubertConfig from .models.ibert import IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, IBertConfig + from .models.ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig from .models.imagegpt import IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, ImageGPTConfig from .models.informer import INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, InformerConfig from .models.instructblip import ( @@ -4403,7 +4404,6 @@ from .models.vision_text_dual_encoder import VisionTextDualEncoderConfig, VisionTextDualEncoderProcessor from .models.visual_bert import VISUAL_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, VisualBertConfig from .models.vit import VIT_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTConfig - from .models.ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig from .models.vit_hybrid import VIT_HYBRID_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTHybridConfig from .models.vit_mae import VIT_MAE_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMAEConfig from .models.vit_msn import VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMSNConfig @@ -5498,6 +5498,13 @@ IBertModel, IBertPreTrainedModel, ) + from .models.ict import ( + ICT_PRETRAINED_MODEL_ARCHIVE_LIST, + ICTForImageClassification, + ICTForMaskedImageModeling, + ICTModel, + ICTPreTrainedModel, + ) from .models.imagegpt import ( IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST, ImageGPTForCausalImageModeling, @@ -6232,13 +6239,6 @@ ViTModel, ViTPreTrainedModel, ) - from .models.ict import ( - ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTForImageClassification, - ICTForMaskedImageModeling, - ICTModel, - ICTPreTrainedModel, - ) from .models.vit_hybrid import ( VIT_HYBRID_PRETRAINED_MODEL_ARCHIVE_LIST, ViTHybridForImageClassification, diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py index 637de00cb1ba..514ff55f78bf 100644 --- a/src/transformers/models/ict/__init__.py +++ b/src/transformers/models/ict/__init__.py @@ -49,7 +49,7 @@ if TYPE_CHECKING: from .configuration_ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig, ICTOnnxConfig - + try: if not is_vision_available(): raise OptionalDependencyNotAvailable() @@ -57,7 +57,7 @@ pass else: from .image_processing_ict import ICTImageProcessor - + try: if not is_torch_available(): raise OptionalDependencyNotAvailable() diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 239764bc1d53..3f8703cec3e6 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -31,7 +31,6 @@ } - class ICTConfig(PretrainedConfig): r""" This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT diff --git a/src/transformers/models/ict/convert_ict_timm_to_pytorch.py b/src/transformers/models/ict/convert_ict_timm_to_pytorch.py index 98fde2f9e312..93fb532605fe 100644 --- a/src/transformers/models/ict/convert_ict_timm_to_pytorch.py +++ b/src/transformers/models/ict/convert_ict_timm_to_pytorch.py @@ -25,7 +25,7 @@ from huggingface_hub import hf_hub_download from PIL import Image -from transformers import DeiTFeatureExtractor, ICTConfig, ViTFeatureExtractor, ICTForImageClassification, ICTModel +from transformers import DeiTFeatureExtractor, ICTConfig, ICTForImageClassification, ICTModel, ViTFeatureExtractor from transformers.utils import logging diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 70856511db5f..eed7a954884f 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -15,7 +15,6 @@ """Image processor class for ICT.""" from typing import Dict, List, Optional, Union -import os import numpy as np from huggingface_hub import hf_hub_download @@ -37,6 +36,7 @@ logger = logging.get_logger(__name__) + class ICTImageProcessor(BaseImageProcessor): r""" Constructs a ICT image processor. @@ -97,13 +97,11 @@ def __init__( self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD self.do_discretize = do_discretize self.clusters = np.array(clusters) if clusters is not None else self.get_image_net_clusters() - def get_image_net_clusters(self): kmeans_centers = np.load(hf_hub_download(repo_id="sheonhan/ict-imagenet-32", filename="kmeans_centers.npy")) return np.rint(127.5 * (kmeans_centers + 1.0)) - - + def resize( self, image: np.ndarray, @@ -188,15 +186,12 @@ def normalize( `np.ndarray`: The normalized image. """ return normalize(image, mean=mean, std=std, data_format=data_format, **kwargs) - - def discretize( - self, - image: np.ndarray - ): + + def discretize(self, image: np.ndarray): """ - Reduce the dimension by using an extra visual vocabulary with spatial size 512 × 3, which was generated using + Reduce the dimension by using an extra visual vocabulary with spatial size 512 × 3, which was generated using k-means clustered centers of the ImageNet RGB pixel spaces. - + Args: image (`np.ndarray`): Image to reduce dimensions. @@ -204,13 +199,12 @@ def discretize( Returns: `np.ndarray`: The image with reduced dimension. """ - + image = np.array(image).reshape((-1, 3)) image = image.astype(np.float32) # Copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L98 - image = ((image[:, None, :] - self.clusters[None, :, :])**2).sum(-1).argmin(1) + image = ((image[:, None, :] - self.clusters[None, :, :]) ** 2).sum(-1).argmin(1) return image - def preprocess( self, @@ -297,7 +291,7 @@ def preprocess( if do_rescale and rescale_factor is None: raise ValueError("Rescale factor must be specified if do_rescale is True.") - + if do_discretize and clusters is None: raise ValueError("Clusters must be specified if do_discretize is True.") @@ -312,7 +306,7 @@ def preprocess( if do_normalize: images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] - + # Copied from transformers.models.imagegpt.image_processing_imagegpt.preprocess if do_discretize: images = [to_channel_dimension_format(image, data_format) for image in images] diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 018001a4beeb..408d553859b4 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -15,19 +15,16 @@ """ PyTorch ICT model.""" -import collections.abc import math -from typing import Dict, List, Optional, Set, Tuple, Union +from typing import Optional, Tuple, Union import torch import torch.utils.checkpoint from torch import nn -from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, ImageClassifierOutput, MaskedLMOutput +from ...modeling_outputs import BaseModelOutput, MaskedLMOutput from ...modeling_utils import PreTrainedModel -from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer from ...utils import ( add_code_sample_docstrings, add_start_docstrings, @@ -45,7 +42,7 @@ # Base docstring _CHECKPOINT_FOR_DOC = "sheonhan/ict-imagenet-32" -_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] # TODO +_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] # TODO ICT_PRETRAINED_MODEL_ARCHIVE_LIST = [ @@ -71,7 +68,7 @@ def __init__(self, config: ICTConfig) -> None: self.query = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) self.key = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) self.value = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) - + self.output_projection = nn.Linear(config.hidden_size, config.hidden_size) self.attention_dropout = nn.Dropout(config.attention_probs_dropout_prob) @@ -83,7 +80,8 @@ def transpose_for_scores(self, x: torch.Tensor) -> torch.Tensor: return x.permute(0, 2, 1, 3) def forward( - self, hidden_states, output_attentions: bool = False) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: + self, hidden_states, output_attentions: bool = False + ) -> Union[Tuple[torch.Tensor, torch.Tensor], Tuple[torch.Tensor]]: mixed_query_layer = self.query(hidden_states) key_layer = self.transpose_for_scores(self.key(hidden_states)) @@ -110,7 +108,7 @@ def forward( outputs = self.output_projection(context_layer) outputs = self.residual_dropout(outputs) - + return (outputs, attention_probs) if output_attentions else (outputs,) @@ -135,12 +133,12 @@ def forward(self, hidden_states, output_attentions: bool = False): self_attention_outputs = self.attention(self.ln_1(hidden_states, output_attentions=output_attentions)) attention_output = self_attention_outputs[0] outputs = self_attention_outputs[1:] # add self attentions if we output attention weights - + hidden_states = hidden_states + attention_output hidden_states = hidden_states + self.mlp(self.ln_2(hidden_states)) - + outputs = (hidden_states,) + outputs - + return outputs @@ -225,14 +223,14 @@ def __init__(self, config: ICTConfig, use_mask_token: bool = False): self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) self.position_embedding = nn.Parameter(torch.zeros(1, config.block_size, config.hidden_size)) self.drop = nn.Dropout(config.residual_dropout_prob) - + self.gradient_checkpointing = False self.blocks = nn.ModuleList([ICTBlock(config) for _ in range(config.num_hidden_layers)]) - + # Decoder head self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) - + # Initialize weights and apply final processing self.post_init() @@ -264,11 +262,11 @@ def forward( _, t = pixel_values.size() inputs_embeds = self.token_embedding(pixel_values) - + if masks: masks = masks.unsqueeze(2) inputs_embeds = inputs_embeds * (1 - masks) - + position_embeds = self.position_embedding[:, :t, :] hidden_states = inputs_embeds + position_embeds hidden_states = self.drop(hidden_states) @@ -421,4 +419,3 @@ def forward( hidden_states=outputs.hidden_states, attentions=outputs.attentions, ) - diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py index 306ef6b26596..30e828710ea1 100644 --- a/tests/models/ict/test_image_processing_ict.py +++ b/tests/models/ict/test_image_processing_ict.py @@ -14,13 +14,13 @@ # limitations under the License. -import unittest -import tempfile import os +import tempfile +import unittest import numpy as np -from transformers.testing_utils import require_torch, require_vision, check_json_file_has_correct_format +from transformers.testing_utils import check_json_file_has_correct_format, require_torch, require_vision from transformers.utils import is_torch_available, is_vision_available from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs @@ -84,6 +84,7 @@ def setUp(self): @property def image_processor_dict(self): return self.image_processor_tester.prepare_image_processor_dict() + def test_image_processor_properties(self): image_processing = self.image_processing_class(**self.image_processor_dict) self.assertTrue(hasattr(image_processing, "image_mean")) @@ -114,7 +115,6 @@ def test_image_processor_to_json_file(self): else: self.assertEqual(image_processor_first[key], value) - def test_image_processor_from_and_save_pretrained(self): image_processor_first = self.image_processing_class(**self.image_processor_dict) @@ -122,14 +122,14 @@ def test_image_processor_from_and_save_pretrained(self): saved_file = image_processor_first.save_pretrained(tmpdirname)[0] check_json_file_has_correct_format(saved_file) image_processor_second = self.image_processing_class.from_pretrained(tmpdirname).to_dict() - + image_processor_first = image_processor_first.to_dict() for key, value in image_processor_first.items(): if key == "clusters": self.assertTrue(np.array_equal(value, image_processor_second[key])) else: self.assertEqual(image_processor_first[key], value) - + def test_batch_feature(self): pass @@ -211,7 +211,7 @@ def test_call_pytorch(self): self.assertEqual( encoded_images.shape, ( - self.image_processor_tester.batch_size, + self.image_processor_tester.batch_size, self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) From 15411b2598ab7e2c2b4b111f4a75b8c8bb2bd3c7 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 12 Mar 2023 23:17:38 -0700 Subject: [PATCH 13/70] more clean up --- src/transformers/__init__.py | 1 - src/transformers/models/ict/__init__.py | 2 - .../models/ict/convert_ict_timm_to_pytorch.py | 250 ------------------ .../models/ict/convert_ict_to_pytorch.py | 0 tests/models/ict/test_modeling_ict.py | 76 +----- 5 files changed, 3 insertions(+), 326 deletions(-) delete mode 100644 src/transformers/models/ict/convert_ict_timm_to_pytorch.py create mode 100644 src/transformers/models/ict/convert_ict_to_pytorch.py diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index eece12c55990..7c04d5ea0cea 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -5500,7 +5500,6 @@ ) from .models.ict import ( ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTForImageClassification, ICTForMaskedImageModeling, ICTModel, ICTPreTrainedModel, diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py index 514ff55f78bf..340bfd91f8ed 100644 --- a/src/transformers/models/ict/__init__.py +++ b/src/transformers/models/ict/__init__.py @@ -41,7 +41,6 @@ else: _import_structure["modeling_ict"] = [ "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTForImageClassification", "ICTForMaskedImageModeling", "ICTModel", "ICTPreTrainedModel", @@ -66,7 +65,6 @@ else: from .modeling_ict import ( ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTForImageClassification, ICTForMaskedImageModeling, ICTModel, ICTPreTrainedModel, diff --git a/src/transformers/models/ict/convert_ict_timm_to_pytorch.py b/src/transformers/models/ict/convert_ict_timm_to_pytorch.py deleted file mode 100644 index 93fb532605fe..000000000000 --- a/src/transformers/models/ict/convert_ict_timm_to_pytorch.py +++ /dev/null @@ -1,250 +0,0 @@ -# coding=utf-8 -# Copyright 2023 The HuggingFace Inc. team. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Convert ICT and non-distilled DeiT checkpoints from the timm library.""" - - -import argparse -import json -from pathlib import Path - -import requests -import timm -import torch -from huggingface_hub import hf_hub_download -from PIL import Image - -from transformers import DeiTFeatureExtractor, ICTConfig, ICTForImageClassification, ICTModel, ViTFeatureExtractor -from transformers.utils import logging - - -logging.set_verbosity_info() -logger = logging.get_logger(__name__) - - -# here we list all keys to be renamed (original name on the left, our name on the right) -def create_rename_keys(config, base_model=False): - rename_keys = [] - for i in range(config.num_hidden_layers): - # encoder layers: output projection, 2 feedforward neural networks and 2 layernorms - rename_keys.append((f"blocks.{i}.norm1.weight", f"ict.encoder.layer.{i}.layernorm_before.weight")) - rename_keys.append((f"blocks.{i}.norm1.bias", f"ict.encoder.layer.{i}.layernorm_before.bias")) - rename_keys.append((f"blocks.{i}.attn.proj.weight", f"ict.encoder.layer.{i}.attention.output.dense.weight")) - rename_keys.append((f"blocks.{i}.attn.proj.bias", f"ict.encoder.layer.{i}.attention.output.dense.bias")) - rename_keys.append((f"blocks.{i}.norm2.weight", f"ict.encoder.layer.{i}.layernorm_after.weight")) - rename_keys.append((f"blocks.{i}.norm2.bias", f"ict.encoder.layer.{i}.layernorm_after.bias")) - rename_keys.append((f"blocks.{i}.mlp.fc1.weight", f"ict.encoder.layer.{i}.intermediate.dense.weight")) - rename_keys.append((f"blocks.{i}.mlp.fc1.bias", f"ict.encoder.layer.{i}.intermediate.dense.bias")) - rename_keys.append((f"blocks.{i}.mlp.fc2.weight", f"ict.encoder.layer.{i}.output.dense.weight")) - rename_keys.append((f"blocks.{i}.mlp.fc2.bias", f"ict.encoder.layer.{i}.output.dense.bias")) - - # projection layer + position embeddings - rename_keys.extend( - [ - ("cls_token", "ict.embeddings.cls_token"), - ("patch_embed.proj.weight", "ict.embeddings.patch_embeddings.projection.weight"), - ("patch_embed.proj.bias", "ict.embeddings.patch_embeddings.projection.bias"), - ("pos_embed", "ict.embeddings.position_embeddings"), - ] - ) - - if base_model: - # layernorm + pooler - rename_keys.extend( - [ - ("norm.weight", "layernorm.weight"), - ("norm.bias", "layernorm.bias"), - ("pre_logits.fc.weight", "pooler.dense.weight"), - ("pre_logits.fc.bias", "pooler.dense.bias"), - ] - ) - - # if just the base model, we should remove "ict" from all keys that start with "ict" - rename_keys = [(pair[0], pair[1][4:]) if pair[1].startswith("ict") else pair for pair in rename_keys] - else: - # layernorm + classification head - rename_keys.extend( - [ - ("norm.weight", "ict.layernorm.weight"), - ("norm.bias", "ict.layernorm.bias"), - ("head.weight", "classifier.weight"), - ("head.bias", "classifier.bias"), - ] - ) - - return rename_keys - - -# we split up the matrix of each encoder layer into queries, keys and values -def read_in_q_k_v(state_dict, config, base_model=False): - for i in range(config.num_hidden_layers): - if base_model: - prefix = "" - else: - prefix = "ict." - # read in weights + bias of input projection layer (in timm, this is a single matrix + bias) - in_proj_weight = state_dict.pop(f"blocks.{i}.attn.qkv.weight") - in_proj_bias = state_dict.pop(f"blocks.{i}.attn.qkv.bias") - # next, add query, keys and values (in that order) to the state dict - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.weight"] = in_proj_weight[ - : config.hidden_size, : - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.query.bias"] = in_proj_bias[: config.hidden_size] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.weight"] = in_proj_weight[ - config.hidden_size : config.hidden_size * 2, : - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.key.bias"] = in_proj_bias[ - config.hidden_size : config.hidden_size * 2 - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.weight"] = in_proj_weight[ - -config.hidden_size :, : - ] - state_dict[f"{prefix}encoder.layer.{i}.attention.attention.value.bias"] = in_proj_bias[-config.hidden_size :] - - -def remove_classification_head_(state_dict): - ignore_keys = ["head.weight", "head.bias"] - for k in ignore_keys: - state_dict.pop(k, None) - - -def rename_key(dct, old, new): - val = dct.pop(old) - dct[new] = val - - -# We will verify our results on an image of cute cats -def prepare_img(): - url = "http://images.cocodataset.org/val2017/000000039769.jpg" - im = Image.open(requests.get(url, stream=True).raw) - return im - - -@torch.no_grad() -def convert_ict_checkpoint(ict_name, pytorch_dump_folder_path): - """ - Copy/paste/tweak model's weights to our ICT structure. - """ - - # define default ICT configuration - config = ICTConfig() - base_model = False - # dataset (ImageNet-21k only or also fine-tuned on ImageNet 2012), patch_size and image_size - if ict_name[-5:] == "in21k": - base_model = True - config.patch_size = int(ict_name[-12:-10]) - config.image_size = int(ict_name[-9:-6]) - else: - config.num_labels = 1000 - repo_id = "huggingface/label-files" - filename = "imagenet-1k-id2label.json" - id2label = json.load(open(hf_hub_download(repo_id, filename, repo_type="dataset"), "r")) - id2label = {int(k): v for k, v in id2label.items()} - config.id2label = id2label - config.label2id = {v: k for k, v in id2label.items()} - config.patch_size = int(ict_name[-6:-4]) - config.image_size = int(ict_name[-3:]) - # size of the architecture - if "deit" in ict_name: - if ict_name[9:].startswith("tiny"): - config.hidden_size = 192 - config.intermediate_size = 768 - config.num_hidden_layers = 12 - config.num_attention_heads = 3 - elif ict_name[9:].startswith("small"): - config.hidden_size = 384 - config.intermediate_size = 1536 - config.num_hidden_layers = 12 - config.num_attention_heads = 6 - else: - pass - else: - if ict_name[4:].startswith("small"): - config.hidden_size = 768 - config.intermediate_size = 2304 - config.num_hidden_layers = 8 - config.num_attention_heads = 8 - elif ict_name[4:].startswith("base"): - pass - elif ict_name[4:].startswith("large"): - config.hidden_size = 1024 - config.intermediate_size = 4096 - config.num_hidden_layers = 24 - config.num_attention_heads = 16 - elif ict_name[4:].startswith("huge"): - config.hidden_size = 1280 - config.intermediate_size = 5120 - config.num_hidden_layers = 32 - config.num_attention_heads = 16 - - # load original model from timm - timm_model = timm.create_model(ict_name, pretrained=True) - timm_model.eval() - - # load state_dict of original model, remove and rename some keys - state_dict = timm_model.state_dict() - if base_model: - remove_classification_head_(state_dict) - rename_keys = create_rename_keys(config, base_model) - for src, dest in rename_keys: - rename_key(state_dict, src, dest) - read_in_q_k_v(state_dict, config, base_model) - - # load HuggingFace model - if ict_name[-5:] == "in21k": - model = ICTModel(config).eval() - else: - model = ICTForImageClassification(config).eval() - model.load_state_dict(state_dict) - - # Check outputs on an image, prepared by ViTFeatureExtractor/DeiTFeatureExtractor - if "deit" in ict_name: - feature_extractor = DeiTFeatureExtractor(size=config.image_size) - else: - feature_extractor = ViTFeatureExtractor(size=config.image_size) - encoding = feature_extractor(images=prepare_img(), return_tensors="pt") - pixel_values = encoding["pixel_values"] - outputs = model(pixel_values) - - if base_model: - timm_pooled_output = timm_model.forward_features(pixel_values) - assert timm_pooled_output.shape == outputs.pooler_output.shape - assert torch.allclose(timm_pooled_output, outputs.pooler_output, atol=1e-3) - else: - timm_logits = timm_model(pixel_values) - assert timm_logits.shape == outputs.logits.shape - assert torch.allclose(timm_logits, outputs.logits, atol=1e-3) - - Path(pytorch_dump_folder_path).mkdir(exist_ok=True) - print(f"Saving model {ict_name} to {pytorch_dump_folder_path}") - model.save_pretrained(pytorch_dump_folder_path) - print(f"Saving feature extractor to {pytorch_dump_folder_path}") - feature_extractor.save_pretrained(pytorch_dump_folder_path) - - -if __name__ == "__main__": - parser = argparse.ArgumentParser() - # Required parameters - parser.add_argument( - "--ict_name", - default="ict_base_patch16_224", - type=str, - help="Name of the ICT timm model you'd like to convert.", - ) - parser.add_argument( - "--pytorch_dump_folder_path", default=None, type=str, help="Path to the output PyTorch model directory." - ) - - args = parser.parse_args() - convert_ict_checkpoint(args.ict_name, args.pytorch_dump_folder_path) diff --git a/src/transformers/models/ict/convert_ict_to_pytorch.py b/src/transformers/models/ict/convert_ict_to_pytorch.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index f24ffbf7b212..f60c4466df6b 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -38,7 +38,7 @@ import torch from torch import nn - from transformers import ICTForImageClassification, ICTForMaskedImageModeling, ICTModel + from transformers import ICTForMaskedImageModeling, ICTModel from transformers.models.ict.modeling_ict import ICT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -147,24 +147,6 @@ def create_and_check_for_masked_image_modeling(self, config, pixel_values, label result = model(pixel_values) self.parent.assertEqual(result.logits.shape, (self.batch_size, 1, self.image_size, self.image_size)) - def create_and_check_for_image_classification(self, config, pixel_values, labels): - config.num_labels = self.type_sequence_label_size - model = ICTForImageClassification(config) - model.to(torch_device) - model.eval() - result = model(pixel_values, labels=labels) - self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) - - # test greyscale images - config.num_channels = 1 - model = ICTForImageClassification(config) - model.to(torch_device) - model.eval() - - pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) - result = model(pixel_values) - self.parent.assertEqual(result.logits.shape, (self.batch_size, self.type_sequence_label_size)) - def prepare_config_and_inputs_for_common(self): config_and_inputs = self.prepare_config_and_inputs() ( @@ -186,14 +168,13 @@ class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): all_model_classes = ( ( ICTModel, - ICTForImageClassification, ICTForMaskedImageModeling, ) if is_torch_available() else () ) pipeline_model_mapping = ( - {"feature-extraction": ICTModel, "image-classification": ICTForImageClassification} + {"feature-extraction": ICTModel} if is_torch_available() else {} ) @@ -243,10 +224,6 @@ def test_for_masked_image_modeling(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() self.model_tester.create_and_check_for_masked_image_modeling(*config_and_inputs) - def test_for_image_classification(self): - config_and_inputs = self.model_tester.prepare_config_and_inputs() - self.model_tester.create_and_check_for_image_classification(*config_and_inputs) - @slow def test_model_from_pretrained(self): for model_name in ICT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]: @@ -265,54 +242,7 @@ def prepare_img(): class ICTModelIntegrationTest(unittest.TestCase): @cached_property def default_feature_extractor(self): - return ViTFeatureExtractor.from_pretrained("google/ict-base-patch16-224") if is_vision_available() else None - - @slow - def test_inference_image_classification_head(self): - model = ICTForImageClassification.from_pretrained("google/ict-base-patch16-224").to(torch_device) - - feature_extractor = self.default_feature_extractor - image = prepare_img() - inputs = feature_extractor(images=image, return_tensors="pt").to(torch_device) - - # forward pass - with torch.no_grad(): - outputs = model(**inputs) - - # verify the logits - expected_shape = torch.Size((1, 1000)) - self.assertEqual(outputs.logits.shape, expected_shape) - - expected_slice = torch.tensor([-0.2744, 0.8215, -0.0836]).to(torch_device) - - self.assertTrue(torch.allclose(outputs.logits[0, :3], expected_slice, atol=1e-4)) - - @slow - def test_inference_interpolate_pos_encoding(self): - # ICT models have an `interpolate_pos_encoding` argument in their forward method, - # allowing to interpolate the pre-trained position embeddings in order to use - # the model on higher resolutions. The DINO model by Facebook AI leverages this - # to visualize self-attention on higher resolution images. - model = ICTModel.from_pretrained("facebook/dino-icts8").to(torch_device) - - feature_extractor = ViTFeatureExtractor.from_pretrained("facebook/dino-icts8", size=480) - image = prepare_img() - inputs = feature_extractor(images=image, return_tensors="pt") - pixel_values = inputs.pixel_values.to(torch_device) - - # forward pass - with torch.no_grad(): - outputs = model(pixel_values, interpolate_pos_encoding=True) - - # verify the logits - expected_shape = torch.Size((1, 3601, 384)) - self.assertEqual(outputs.last_hidden_state.shape, expected_shape) - - expected_slice = torch.tensor( - [[4.2340, 4.3906, -6.6692], [4.5463, 1.8928, -6.7257], [4.4429, 0.8496, -5.8585]] - ).to(torch_device) - - self.assertTrue(torch.allclose(outputs.last_hidden_state[0, :3, :3], expected_slice, atol=1e-4)) + return ViTFeatureExtractor.from_pretrained("sheonhan/ict-imagenet-32") if is_vision_available() else None @slow @require_accelerate From 841c464b7056d0444fc106214c725f9efd9da162 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 15 Mar 2023 04:06:17 -0700 Subject: [PATCH 14/70] add configs for guided upsampler and transformer --- .../models/ict/configuration_ict.py | 192 ++++++++++++++++-- 1 file changed, 172 insertions(+), 20 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 3f8703cec3e6..d26cad527b9a 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -1,5 +1,6 @@ # coding=utf-8 -# Copyright 2023 Google AI and The HuggingFace Inc. team. All rights reserved. +# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, +# The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -19,6 +20,8 @@ from packaging import version +import copy + from ...configuration_utils import PretrainedConfig from ...onnx import OnnxConfig from ...utils import logging @@ -31,9 +34,97 @@ } -class ICTConfig(PretrainedConfig): +class ICTGuidedUpsamplerConfig(PretrainedConfig): + r""" + This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate an + [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. Instantiating a + configuration with the defaults will yield a similar configuration to that of the [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). + + Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PretrainedConfig`] for more information. + + + Args: + learning_rate (`float`, *optional*, defaults to 0.0001): + The desired learning rate of the [`ICTGuidedUpsampler`] model. + dis_gen_learning_rate (`float`, *optional*, defaults to 0.1): + The discriminator/generator learning rate ratio. + adam_beta1 (`float`, *optional*, defaults to 0.0): + The beta1 to use in Adam. + adam_beta2 (`float`, *optional*, defaults to 0.9): + The beta2 to use in Adam. + batch_size (`int`, *optional*, defaults to 64): + The batch size for training. + input_size (`int`, *optional*, defaults to 256): + The input image size for training. (0 for the original size.) + max_iteration (`float`, *optional*, defaults to 5e7): + The maximum number of iterations to train the model. + residual_blocks (`int`, *optional*, defaults to 8): + The number of residual blocks. + l1_loss_weight (`float`, *optional*, defaults to 1.0): + The weight of the L1 loss function. + style_loss_weight (`float`, *optional*, defaults to 250.): + The weight of the style loss module. + content_loss_weight (`float`, *optional*, defaults to 0.1): + The weight of the content loss module. + inpaint_adv_loss_weight (`float`, *optional*, defaults to 0.1): + The weight of the adversial loss module. + gan_loss (`str`, *optional*, defaults to`"nsgan"`): + GAN's loss function can be either "nsgan", "lsgan", or "hinge". + + + Example: + + ```python + >>> from transformers import ICTGuidedUpsamplerConfig, ICTGuidedUpsampler + + >>> # Initializing a ICT ict-imagenet-32 style configuration + >>> configuration = ICTGuidedUpsamplerConfig() + + >>> # Initializing a model (with random weights) from the ict-imagenet-32 style configuration + >>> upsampler = ICTGuidedUpsampler(configuration) + + >>> # Accessing the model configuration + >>> configuration = upsampler.config + ```""" + model_type = "ict-guided-upsampler" + + def __init__( + self, + learning_rate=0.0001, + dis_gen_learning_rate=0.1, + adam_beta1=0.0, + adam_beta2=0.9, + batch_size=64, + input_size=256, + max_iteration=5e7, + residual_blocks=8, + l1_loss_weight=1.0, + style_loss_weight=25.0, + content_loss_weight=0.1, + inpaint_adv_loss_weight=0.1, + gan_loss="nsgan", + **kwargs, + ): + super().__init__(**kwargs) + + self.learning_rate = learning_rate + self.dis_gen_learning_rate = dis_gen_learning_rate + self.adam_beta1 = adam_beta1 + self.adam_beta2 = adam_beta2 + self.batch_size = batch_size + self.input_size = input_size + self.max_iteration = max_iteration + self.residual_blocks = residual_blocks + self.l1_loss_weight = l1_loss_weight + self.style_loss_weight = style_loss_weight + self.content_loss_weight = content_loss_weight + self.inpaint_adv_loss_weight = inpaint_adv_loss_weight + self.gan_loss = gan_loss + +class ICTTransformerConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT + This is the configuration class to store the configuration of a [`ICTTransformer`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). @@ -44,7 +135,7 @@ class ICTConfig(PretrainedConfig): Args: vocab_size (`int`, *optional*, defaults to 512): Vocabulary size of the ICT model. Defines the number of different tokens that can be represented by the - `pixel_values` passed when calling [`ICTModel`]. + `pixel_values` passed when calling [`ICTTransformer`]. hidden_size (`int`, *optional*, defaults to 1024): Dimensionality of the embeddings and hidden states. num_hidden_layers (`int`, *optional*, defaults to 35): @@ -76,18 +167,18 @@ class ICTConfig(PretrainedConfig): Example: ```python - >>> from transformers import ICTConfig, ICTModel + >>> from transformers import ICTTransformerConfig, ICTTransformer >>> # Initializing a ICT ict-imagenet-32 style configuration - >>> configuration = ICTConfig() + >>> configuration = ICTTransformerConfig() >>> # Initializing a model (with random weights) from the ict-imagenet-32 style configuration - >>> model = ICTModel(configuration) + >>> model = ICTTransformer(configuration) >>> # Accessing the model configuration >>> configuration = model.config ```""" - model_type = "ict" + model_type = "ict-transformer" def __init__( self, @@ -125,18 +216,79 @@ def __init__( self.num_channels = num_channels self.qkv_bias = qkv_bias +class ICTConfig(PretrainedConfig): + r""" + [`ICTConfig`] is the configuration class to store the configuration of a [`ICTMdel`]. It is used to + instantiate an ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. + Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT + [sheonhan/ict-imagenet-32](https://huggingface.co/sheonhan/ict-imagenet-32) architecture. + Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PretrainedConfig`] for more information. + Args: + transformer_config (`dict`, *optional*): + Dictionary of configuration options used to initialize [`ICTTransformerConfig`]. + guided_upsampler_config (`dict`, *optional*): + Dictionary of configuration options used to initialize [`ICTGuidedUpsamplerConfig`]. + kwargs (*optional*): + Dictionary of keyword arguments. + Example: + ```python + >>> from transformers import ICTConfig, ICTModel + >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-32 style configuration + >>> configuration = ICTConfig() + >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-32 style configuration + >>> model = ICTModel(configuration) + >>> # Accessing the model configuration + >>> configuration = model.config + >>> # We can also initialize a ICTConfig from a ICTTransformerConfig and a ICTGuidedUpsamplerConfig + >>> from transformers import ICTTransformerConfig, ICTGuidedUpsamplerConfig + >>> # Initializing ALIGN Text and Vision configurations + >>> config_transformer = ICTTransformerConfig() + >>> config_guided_upsampler = ICTGuidedUpsamplerConfig() + >>> config = ICTConfig.from_text_guided_upsampler_configs(config_transformer, config_guided_upsampler) + ```""" + + model_type = "ict" + + def __init__( + self, + transformer_config=None, + guided_upsampler_config=None, + **kwargs, + ): + super().__init__(**kwargs) + + if transformer_config is None: + transformer_config = {} + logger.info("transformer_config is None. Initializing the ICTTransformerConfig with default values.") + + if guided_upsampler_config is None: + guided_upsampler_config = {} + logger.info("guided_upsampler_config is None. Initializing the ICTGuidedUpsamplerConfig with default values.") + + self.transformer_config = ICTTransformerConfig(**transformer_config) + self.guided_upsampler_config = ICTGuidedUpsamplerConfig(**guided_upsampler_config) + -class ICTOnnxConfig(OnnxConfig): - torch_onnx_minimum_version = version.parse("1.11") + @classmethod + def from_transformer_and_guided_upsampler_configs(cls, transformer_config: ICTTransformerConfig, guided_upsampler_config: ICTGuidedUpsamplerConfig, **kwargs): + r""" + Instantiate a [`ICTConfig`] (or a derived class) from align text model configuration and align vision model + configuration. + Returns: + [`ICTConfig`]: An instance of a configuration object + """ - @property - def inputs(self) -> Mapping[str, Mapping[int, str]]: - return OrderedDict( - [ - ("pixel_values", {0: "batch", 1: "num_channels", 2: "height", 3: "width"}), - ] - ) + return cls(transformer_config=transformer_config.to_dict(), guided_upsampler_config=guided_upsampler_config.to_dict(), **kwargs) - @property - def atol_for_validation(self) -> float: - return 1e-4 + def to_dict(self): + """ + Serializes this instance to a Python dictionary. Override the default [`~PretrainedConfig.to_dict`]. + Returns: + `Dict[str, any]`: Dictionary of all the attributes that make up this configuration instance, + """ + output = copy.deepcopy(self.__dict__) + output["transformer_config"] = self.transformer_config.to_dict() + output["guided_upsampler_config"] = self.guided_upsampler_config.to_dict() + output["model_type"] = self.__class__.model_type + return output From 3df543dc37d818e274e067edd28688de3a2b3ef4 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 15 Mar 2023 04:06:38 -0700 Subject: [PATCH 15/70] add guided upsampler --- .../models/ict/image_processing_ict.py | 3 +- src/transformers/models/ict/modeling_ict.py | 684 +++++++++++++++--- 2 files changed, 576 insertions(+), 111 deletions(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index eed7a954884f..7accaab6904e 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -1,5 +1,6 @@ # coding=utf-8 -# Copyright 2023 The HuggingFace Inc. team. All rights reserved. +# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, +# The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 408d553859b4..d7a3138de0c9 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -1,5 +1,6 @@ # coding=utf-8 -# Copyright 2023 Google AI, Ross Wightman, The HuggingFace Inc. team. All rights reserved. +# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, +# The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -21,9 +22,11 @@ import torch import torch.utils.checkpoint from torch import nn +import torch.optim as optim + from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, MaskedLMOutput +from ...modeling_outputs import BaseModelOutput, ImageSuperResolutionOutput from ...modeling_utils import PreTrainedModel from ...utils import ( add_code_sample_docstrings, @@ -32,7 +35,7 @@ logging, replace_return_docstrings, ) -from .configuration_ict import ICTConfig +from .configuration_ict import ICTTransformerConfig, ICTGuidedUpsamplerConfig logger = logging.get_logger(__name__) @@ -46,6 +49,8 @@ ICT_PRETRAINED_MODEL_ARCHIVE_LIST = [ + "sheonhan/ict-imagenet-32", + "sheonhan/ict-ffhq-32", "sheonhan/ict-imagenet-32", # See all ICT models at https://huggingface.co/models?filter=ict ] @@ -53,7 +58,7 @@ # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class ICTSelfAttention(nn.Module): - def __init__(self, config: ICTConfig) -> None: + def __init__(self, config: ICTTransformerConfig) -> None: super().__init__() if config.hidden_size % config.num_attention_heads != 0 and not hasattr(config, "embedding_size"): raise ValueError( @@ -143,13 +148,13 @@ def forward(self, hidden_states, output_attentions: bool = False): # Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict -class ICTPreTrainedModel(PreTrainedModel): +class ICTTransformerPreTrainedModel(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained models. """ - config_class = ICTConfig + config_class = ICTTransformerConfig base_model_prefix = "ict" main_input_name = "pixel_values" supports_gradient_checkpointing = True @@ -170,25 +175,25 @@ def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm]) -> module.weight.data.fill_(1.0) def _set_gradient_checkpointing(self, module, value: bool = False) -> None: - if isinstance(module, ICTModel): + if isinstance(module, ICTTransformerModel): module.gradient_checkpointing = value -ICT_START_DOCSTRING = r""" +ICT_TRANSFORMER_START_DOCSTRING = r""" This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and behavior. Parameters: - config ([`ICTConfig`]): Model configuration class with all the parameters of the model. + config ([`ICTTransformerConfig`]): Model configuration class with all the parameters of the model. Initializing with a config file does not load the weights associated with the model, only the configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. """ -ICT_INPUTS_DOCSTRING = r""" +ICT_TRANSFORMER_INPUTS_DOCSTRING = r""" Args: pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): - Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ViTImageProcessor.__call__`] + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): @@ -211,12 +216,12 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: @add_start_docstrings( - "The bare ICT Model transformer outputting raw hidden-states without any specific head on top.", - ICT_START_DOCSTRING, + "The ICT Model transformer outputting raw hidden-states without any specific head on top.", + ICT_TRANSFORMER_START_DOCSTRING, ) # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT -class ICTModel(ICTPreTrainedModel): - def __init__(self, config: ICTConfig, use_mask_token: bool = False): +class ICTTransformerModel(ICTTransformerPreTrainedModel): + def __init__(self, config: ICTTransformerConfig, use_mask_token: bool = False): super().__init__(config) self.config = config @@ -237,7 +242,7 @@ def __init__(self, config: ICTConfig, use_mask_token: bool = False): def get_input_embeddings(self): return self.token_embedding - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @add_start_docstrings_to_model_forward(ICT_TRANSFORMER_INPUTS_DOCSTRING) @add_code_sample_docstrings( checkpoint=_CHECKPOINT_FOR_DOC, output_type=BaseModelOutput, @@ -303,119 +308,578 @@ def custom_forward(*inputs): hidden_states=all_hidden_states, attentions=all_self_attentions, ) + +class BaseNetwork(nn.Module): + def __init__(self): + super().__init__() + def init_weights(self, init_type='normal', gain=0.02): + ''' + initialize network's weights + init_type: normal | xavier | kaiming | orthogonal + https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/9451e70673400885567d08a9e97ade2524c700d0/models/networks.py#L39 + ''' -@add_start_docstrings( - """ICT Model with a decoder on top for masked image modeling, as proposed in [SimMIM](https://arxiv.org/abs/2111.09886). + def init_func(module): + if isinstance(module, (nn.Linear, nn.Conv2d)): + if init_type == 'normal': + nn.init.normal_(module.weight.data, 0.0, gain) + elif init_type == 'xavier': + nn.init.xavier_normal_(module.weight.data, gain=gain) + elif init_type == 'kaiming': + nn.init.kaiming_normal_(module.weight.data, a=0, mode='fan_in') + elif init_type == 'orthogonal': + nn.init.orthogonal_(module.weight.data, gain=gain) - + if hasattr(module, 'bias') and module.bias is not None: + module.bias.data.zero_() - Note that we provide a script to pre-train this model on custom data in our [examples - directory](https://github.com/huggingface/transformers/tree/main/examples/pytorch/image-pretraining). + self.apply(init_func) - - """, - ICT_START_DOCSTRING, -) -# Copied from transformers.models.vit.modeling_vit.ViTForMaskedImageModeling with VIT->ICT,ViT->ICT,vit->ict,google/vit-base-patch16-224-in21k->sheonhan/image-completion-transformer -class ICTForMaskedImageModeling(ICTPreTrainedModel): - def __init__(self, config: ICTConfig) -> None: - super().__init__(config) - self.ict = ICTModel(config, add_pooling_layer=False, use_mask_token=True) +class ResnetBlock(nn.Module): + def __init__(self, dim): + super().__init__() + self.conv_block = nn.Sequential( + nn.ReflectionPad2d(2), + nn.utils.spectral_norm(nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=2, bias=False)), + nn.ReLU(True), + nn.ReflectionPad2d(1), + nn.utils.spectral_norm(nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=1, bias=False)), + ) + + def forward(self, x): + out = x + self.conv_block(x) + # Remove ReLU at the end of the residual block + # http://torch.ch/blog/2016/02/04/resnets.html + + return out + +class InpaintGenerator(BaseNetwork): + def __init__(self, residual_blocks=8): + super().__init__() + + self.encoder = nn.Sequential( + nn.ReflectionPad2d(3), + nn.Conv2d(in_channels=6, out_channels=64, kernel_size=7, padding=0), + nn.ReLU(True), + nn.Conv2d(in_channels=64, out_channels=128, kernel_size=4, stride=2, padding=1), + nn.ReLU(True), + nn.Conv2d(in_channels=128, out_channels=256, kernel_size=4, stride=2, padding=1), + nn.ReLU(True) + ) + + blocks = [ResnetBlock(256) for _ in range(residual_blocks)] + + self.middle = nn.Sequential(*blocks) self.decoder = nn.Sequential( - nn.Conv2d( - in_channels=config.hidden_size, - out_channels=config.encoder_stride**2 * config.num_channels, - kernel_size=1, - ), - nn.PixelShuffle(config.encoder_stride), + nn.ConvTranspose2d(in_channels=256, out_channels=128, kernel_size=4, stride=2, padding=1), + nn.ReLU(True), + nn.ConvTranspose2d(in_channels=128, out_channels=64, kernel_size=4, stride=2, padding=1), + nn.ReLU(True), + nn.ReflectionPad2d(3), + nn.Conv2d(in_channels=64, out_channels=3, kernel_size=7, padding=0), + ) + + self.init_weights() + + def forward(self, x): + x = self.encoder(x) + x = self.middle(x) + x = self.decoder(x) + x = (torch.tanh(x) + 1) / 2 + + return x + +class Discriminator(BaseNetwork): + def __init__(self, in_channels): + super().__init__() + + self.conv1 = nn.Sequential( + nn.utils.spectral_norm(nn.Conv2d(in_channels=in_channels, out_channels=64, kernel_size=4, stride=2, padding=1, bias=False)), + nn.LeakyReLU(0.2, inplace=True), + ) + + self.conv2 = nn.Sequential( + nn.utils.spectral_norm(nn.Conv2d(in_channels=64, out_channels=128, kernel_size=4, stride=2, padding=1, bias=False)), + nn.LeakyReLU(0.2, inplace=True), + ) + + self.conv3 = nn.Sequential( + nn.utils.spectral_norm(nn.Conv2d(in_channels=128, out_channels=256, kernel_size=4, stride=2, padding=1, bias=False)), + nn.LeakyReLU(0.2, inplace=True), + ) + + self.conv4 = nn.Sequential( + nn.utils.spectral_norm(nn.Conv2d(in_channels=256, out_channels=512, kernel_size=4, stride=1, padding=1, bias=False)), + nn.LeakyReLU(0.2, inplace=True), + ) + + self.conv5 = nn.Sequential( + nn.utils.spectral_norm(nn.Conv2d(in_channels=512, out_channels=1, kernel_size=4, stride=1, padding=1, bias=False)), ) + self.init_weights() + + def forward(self, x): + conv1 = self.conv1(x) + conv2 = self.conv2(conv1) + conv3 = self.conv3(conv2) + conv4 = self.conv4(conv3) + conv5 = self.conv5(conv4) + + outputs = conv5 + outputs = torch.sigmoid(conv5) + + return outputs, [conv1, conv2, conv3, conv4, conv5] + +class AdversarialLoss(nn.Module): + r""" + Adversarial loss + https://arxiv.org/abs/1711.10337 + """ + + def __init__(self, gan_loss_function='nsgan', target_real_label=1.0, target_fake_label=0.0): + r""" + gan_loss_function = nsgan | lsgan | hinge + """ + super().__init__() + + self.gan_loss_function = gan_loss_function + self.register_buffer('real_label', torch.tensor(target_real_label)) + self.register_buffer('fake_label', torch.tensor(target_fake_label)) + + if gan_loss_function == 'nsgan': + self.criterion = nn.BCELoss() + + elif gan_loss_function == 'lsgan': + self.criterion = nn.MSELoss() + + elif gan_loss_function == 'hinge': + self.criterion = nn.ReLU() + + def __call__(self, outputs, is_real, is_discriminator=None): + if self.gan_loss_function == 'hinge': + if is_discriminator: + if is_real: + outputs = -outputs + return self.criterion(1 + outputs).mean() + else: + return (-outputs).mean() + + else: + labels = (self.real_label if is_real else self.fake_label).expand_as(outputs) + loss = self.criterion(outputs, labels) + return loss + + +class StyleLoss(nn.Module): + r""" + Perceptual loss, VGG-based + https://arxiv.org/abs/1603.08155 + https://github.com/dxyang/StyleTransfer/blob/master/utils.py + """ + + def __init__(self): + super().__init__() + self.add_module('vgg', VGG19()) + self.criterion = torch.nn.L1Loss() + + def compute_gram_matrix(self, x): + batch_size, channels, height, width = x.size() + f = x.view(batch_size, channels, width * height) + G = f.bmm(f.transpose(1, 2)) / (height * width * channels) + + return G + + def __call__(self, x, y): + # Compute features + x_vgg, y_vgg = self.vgg(x), self.vgg(y) + + # Compute loss + style_loss = 0.0 + style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu2_2']), self.compute_gram_matrix(y_vgg['relu2_2'])) + style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu3_4']), self.compute_gram_matrix(y_vgg['relu3_4'])) + style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu4_4']), self.compute_gram_matrix(y_vgg['relu4_4'])) + style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu5_2']), self.compute_gram_matrix(y_vgg['relu5_2'])) + + return style_loss + + + +class PerceptualLoss(nn.Module): + r""" + Perceptual loss, VGG-based + https://arxiv.org/abs/1603.08155 + https://github.com/dxyang/StyleTransfer/blob/master/utils.py + """ + + def __init__(self, weights=[1.0, 1.0, 1.0, 1.0, 1.0]): + super().__init__() + self.add_module('vgg', VGG19()) + self.criterion = torch.nn.L1Loss() + self.weights = weights + + def __call__(self, x, y): + # Compute features + x_vgg, y_vgg = self.vgg(x), self.vgg(y) + + content_loss = 0.0 + content_loss += self.weights[0] * self.criterion(x_vgg['relu1_1'], y_vgg['relu1_1']) + content_loss += self.weights[1] * self.criterion(x_vgg['relu2_1'], y_vgg['relu2_1']) + content_loss += self.weights[2] * self.criterion(x_vgg['relu3_1'], y_vgg['relu3_1']) + content_loss += self.weights[3] * self.criterion(x_vgg['relu4_1'], y_vgg['relu4_1']) + content_loss += self.weights[4] * self.criterion(x_vgg['relu5_1'], y_vgg['relu5_1']) + + + return content_loss + + + +class VGG19(torch.nn.Module): + def __init__(self): + super().__init__() + features = models.vgg19(pretrained=True).features + self.relu1_1 = torch.nn.Sequential() + self.relu1_2 = torch.nn.Sequential() + + self.relu2_1 = torch.nn.Sequential() + self.relu2_2 = torch.nn.Sequential() + + self.relu3_1 = torch.nn.Sequential() + self.relu3_2 = torch.nn.Sequential() + self.relu3_3 = torch.nn.Sequential() + self.relu3_4 = torch.nn.Sequential() + + self.relu4_1 = torch.nn.Sequential() + self.relu4_2 = torch.nn.Sequential() + self.relu4_3 = torch.nn.Sequential() + self.relu4_4 = torch.nn.Sequential() + + self.relu5_1 = torch.nn.Sequential() + self.relu5_2 = torch.nn.Sequential() + self.relu5_3 = torch.nn.Sequential() + self.relu5_4 = torch.nn.Sequential() + + for x in range(2): + self.relu1_1.add_module(str(x), features[x]) + + for x in range(2, 4): + self.relu1_2.add_module(str(x), features[x]) + + for x in range(4, 7): + self.relu2_1.add_module(str(x), features[x]) + + for x in range(7, 9): + self.relu2_2.add_module(str(x), features[x]) + + for x in range(9, 12): + self.relu3_1.add_module(str(x), features[x]) + + for x in range(12, 14): + self.relu3_2.add_module(str(x), features[x]) + + for x in range(14, 16): + self.relu3_3.add_module(str(x), features[x]) + + for x in range(16, 18): + self.relu3_4.add_module(str(x), features[x]) + + for x in range(18, 21): + self.relu4_1.add_module(str(x), features[x]) + + for x in range(21, 23): + self.relu4_2.add_module(str(x), features[x]) + + for x in range(23, 25): + self.relu4_3.add_module(str(x), features[x]) + + for x in range(25, 27): + self.relu4_4.add_module(str(x), features[x]) + + for x in range(27, 30): + self.relu5_1.add_module(str(x), features[x]) + + for x in range(30, 32): + self.relu5_2.add_module(str(x), features[x]) + + for x in range(32, 34): + self.relu5_3.add_module(str(x), features[x]) + + for x in range(34, 36): + self.relu5_4.add_module(str(x), features[x]) + + # don't need the gradients, just want the features + for param in self.parameters(): + param.requires_grad = False + + def forward(self, x): + relu1_1 = self.relu1_1(x) + relu1_2 = self.relu1_2(relu1_1) + + relu2_1 = self.relu2_1(relu1_2) + relu2_2 = self.relu2_2(relu2_1) + + relu3_1 = self.relu3_1(relu2_2) + relu3_2 = self.relu3_2(relu3_1) + relu3_3 = self.relu3_3(relu3_2) + relu3_4 = self.relu3_4(relu3_3) + + relu4_1 = self.relu4_1(relu3_4) + relu4_2 = self.relu4_2(relu4_1) + relu4_3 = self.relu4_3(relu4_2) + relu4_4 = self.relu4_4(relu4_3) + + relu5_1 = self.relu5_1(relu4_4) + relu5_2 = self.relu5_2(relu5_1) + relu5_3 = self.relu5_3(relu5_2) + relu5_4 = self.relu5_4(relu5_3) + + out = { + 'relu1_1': relu1_1, + 'relu1_2': relu1_2, + + 'relu2_1': relu2_1, + 'relu2_2': relu2_2, + + 'relu3_1': relu3_1, + 'relu3_2': relu3_2, + 'relu3_3': relu3_3, + 'relu3_4': relu3_4, + + 'relu4_1': relu4_1, + 'relu4_2': relu4_2, + 'relu4_3': relu4_3, + 'relu4_4': relu4_4, + + 'relu5_1': relu5_1, + 'relu5_2': relu5_2, + 'relu5_3': relu5_3, + 'relu5_4': relu5_4, + } + return out + +class ICTPretrainedGuidedUpsampler(PreTrainedModel): + """ + An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained + models. + """ + + config_class = ICTGuidedUpsamplerConfig + # base_model_prefix = "ict" + # main_input_name = "pixel_values" + supports_gradient_checkpointing = True + _no_split_modules = [] + + def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm]) -> None: + """Initialize the weights""" + pass + + def _set_gradient_checkpointing(self, module, value: bool = False) -> None: + if isinstance(module, ICTGuidedUpsampler): + module.gradient_checkpointing = value + +ICT_GUIDED_UP_SAMPLER_START_DOCSTRING = r""" + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it + as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and + behavior. + + Parameters: + config ([`ICTGuidedUpsamplerConfig`]): Model configuration class with all the parameters of the model. + Initializing with a config file does not load the weights associated with the model, only the + configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" + +ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING = r""" + Args: + pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] + for details. + + head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): + Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + interpolate_pos_encoding (`bool`, *optional*): + Whether to interpolate the pre-trained position encodings. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. +""" +class ICTGuidedUpsampler(nn.Module): + def __init__(self, config: ICTGuidedUpsamplerConfig): + super().__init__(config) + + generator = InpaintGenerator(config.residual_blocks) + discriminator = Discriminator(in_channels=3, use_sigmoid=config.gan_loss != 'hinge') + + # TODO How to load weights for G and D? + # if len(config.GPU) > 1: + # generator = nn.DataParallel(generator, config.GPU) + # discriminator = nn.DataParallel(discriminator , config.GPU) + + l1_loss = nn.L1Loss() + perceptual_loss = PerceptualLoss() + style_loss = StyleLoss() + adversarial_loss = AdversarialLoss(type=config.gan_loss) + + self.add_module('generator', generator) + self.add_module('discriminator', discriminator) + + self.add_module('l1_loss', l1_loss) + self.add_module('perceptual_loss', perceptual_loss) + self.add_module('style_loss', style_loss) + self.add_module('adversarial_loss', adversarial_loss) + + self.gen_optimizer = optim.Adam( + params=generator.parameters(), + lr=float(config.learning_rate), + betas=(config.adam_beta1, config.adam_beta2) + ) + + self.dis_optimizer = optim.Adam( + params=discriminator.parameters(), + lr=float(config.learning_rate) * float(config.dis_gen_learning_rate), + betas=(config.adam_beta1, config.adam_beta2) + ) + + def process(self, images, edges, masks): + self.iteration += 1 + + # zero optimizers + self.gen_optimizer.zero_grad() + self.dis_optimizer.zero_grad() + + # process outputs + outputs = self(images, edges, masks) + gen_loss = 0 + dis_loss = 0 + + # discriminator loss + dis_input_real = images + dis_input_fake = outputs.detach() + dis_real, _ = self.discriminator(dis_input_real) + dis_fake, _ = self.discriminator(dis_input_fake) + dis_real_loss = self.adversarial_loss(dis_real, True) + dis_fake_loss = self.adversarial_loss(dis_fake, False) + dis_loss += (dis_real_loss + dis_fake_loss) / 2 + + dis_loss.backward() + self.dis_optimizer.step() + + # generator adversarial loss + gen_input_fake = outputs + gen_fake, _ = self.discriminator(gen_input_fake) + gen_gan_loss = self.adversarial_loss(gen_fake, True) * self.config.INPAINT_ADV_LOSS_WEIGHT + gen_loss += gen_gan_loss + + # generator l1 loss + gen_l1_loss = self.l1_loss(outputs, images) * self.config.L1_LOSS_WEIGHT / torch.mean(masks) + gen_loss += gen_l1_loss + + # generator perceptual loss + gen_content_loss = self.perceptual_loss(outputs, images) + gen_content_loss = gen_content_loss * self.config.CONTENT_LOSS_WEIGHT + gen_loss += gen_content_loss + + # generator style loss + gen_style_loss = self.style_loss(outputs * masks, images * masks) + gen_style_loss = gen_style_loss * self.config.STYLE_LOSS_WEIGHT + gen_loss += gen_style_loss + + gen_loss.backward() + self.gen_optimizer.step() + + return outputs, gen_loss, dis_loss + + def forward(self, images, edges, masks): + images_masked = (images * (1 - masks).float()) + masks + inputs = torch.cat((images_masked, edges), dim=1) + outputs = self.generator(inputs) + return outputs + + +@add_start_docstrings( + "The ICTGuidedUpsampler outputting the completed images.", + ICT_GUIDED_UP_SAMPLER_START_DOCSTRING, +) + +# Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT +class ICTModel(ICTPretrainedGuidedUpsampler): + def __init__(self, config: ICTConfig): + super().__init__(config) + self.config = config + self.inpaint_model = ICTInpaintingModel(config) + # Initialize weights and apply final processing - self.post_init() + # self.post_init() - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @replace_return_docstrings(output_type=MaskedLMOutput, config_class=_CONFIG_FOR_DOC) + @add_start_docstrings_to_model_forward(ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING) + @replace_return_docstrings(output_type=ImageSuperResolutionOutput, config_class=_CONFIG_FOR_DOC) def forward( self, pixel_values: Optional[torch.Tensor] = None, - bool_masked_pos: Optional[torch.BoolTensor] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, - ) -> Union[tuple, MaskedLMOutput]: - r""" - bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, num_patches)`): - Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). - - Returns: - - Examples: - ```python - >>> from transformers import AutoImageProcessor, ICTForMaskedImageModeling - >>> import torch - >>> from PIL import Image - >>> import requests - - >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" - >>> image = Image.open(requests.get(url, stream=True).raw) - - >>> image_processor = AutoImageProcessor.from_pretrained("sheonhan/image-completion-transformer") - >>> model = ICTForMaskedImageModeling.from_pretrained("sheonhan/image-completion-transformer") - - >>> num_patches = (model.config.image_size // model.config.patch_size) ** 2 - >>> pixel_values = image_processor(images=image, return_tensors="pt").pixel_values - >>> # create random boolean mask of shape (batch_size, num_patches) - >>> bool_masked_pos = torch.randint(low=0, high=2, size=(1, num_patches)).bool() - - >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) - >>> loss, reconstructed_pixel_values = outputs.loss, outputs.logits - >>> list(reconstructed_pixel_values.shape) - [1, 3, 224, 224] - ```""" - return_dict = return_dict if return_dict is not None else self.config.use_return_dict - - outputs = self.ict( - pixel_values, - bool_masked_pos=bool_masked_pos, - output_attentions=output_attentions, - output_hidden_states=output_hidden_states, - return_dict=return_dict, - ) + ) -> Union[Tuple, BaseModelOutput]: + all_hidden_states = () if output_hidden_states else None + all_self_attentions = () if output_attentions else None - sequence_output = outputs[0] - - # Reshape to (batch_size, num_channels, height, width) - sequence_output = sequence_output[:, 1:] - batch_size, sequence_length, num_channels = sequence_output.shape - height = width = math.floor(sequence_length**0.5) - sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) - - # Reconstruct pixel values - reconstructed_pixel_values = self.decoder(sequence_output) - - masked_im_loss = None - if bool_masked_pos is not None: - size = self.config.image_size // self.config.patch_size - bool_masked_pos = bool_masked_pos.reshape(-1, size, size) - mask = ( - bool_masked_pos.repeat_interleave(self.config.patch_size, 1) - .repeat_interleave(self.config.patch_size, 2) - .unsqueeze(1) - .contiguous() - ) - reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") - masked_im_loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels + if pixel_values is None: + raise ValueError("You have to specify pixel_values") + + pixel_values = pixel_values.to(torch.long) + _, t = pixel_values.size() + + inputs_embeds = self.token_embedding(pixel_values) + + if masks: + masks = masks.unsqueeze(2) + inputs_embeds = inputs_embeds * (1 - masks) + + position_embeds = self.position_embedding[:, :t, :] + hidden_states = inputs_embeds + position_embeds + hidden_states = self.drop(hidden_states) + + for _, block in enumerate(self.blocks): + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + if self.gradient_checkpointing and self.training: + + def create_custom_forward(module): + def custom_forward(*inputs): + return module(*inputs, output_attentions) + + return custom_forward + + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(block), + hidden_states, + ) + else: + layer_outputs = block(hidden_states, output_attentions) + + hidden_states = layer_outputs[0] + + if output_attentions: + all_self_attentions = all_self_attentions + (layer_outputs[1],) if not return_dict: - output = (reconstructed_pixel_values,) + outputs[1:] - return ((masked_im_loss,) + output) if masked_im_loss is not None else output - - return MaskedLMOutput( - loss=masked_im_loss, - logits=reconstructed_pixel_values, - hidden_states=outputs.hidden_states, - attentions=outputs.attentions, + return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) + + return BaseModelOutput( + last_hidden_state=hidden_states, + hidden_states=all_hidden_states, + attentions=all_self_attentions, ) + \ No newline at end of file From 731586dbe2780ce7fc8c1f35439270d506399fb5 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 15 Mar 2023 04:08:32 -0700 Subject: [PATCH 16/70] make style and quality --- .../models/ict/configuration_ict.py | 29 +-- .../models/ict/image_processing_ict.py | 2 +- src/transformers/models/ict/modeling_ict.py | 179 ++++++++++-------- tests/models/ict/test_modeling_ict.py | 6 +- 4 files changed, 118 insertions(+), 98 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index d26cad527b9a..b6953990b4dc 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, +# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, # The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -15,15 +15,11 @@ # limitations under the License. """ ICT model configuration""" -from collections import OrderedDict -from typing import Mapping -from packaging import version import copy from ...configuration_utils import PretrainedConfig -from ...onnx import OnnxConfig from ...utils import logging @@ -36,8 +32,8 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate an - [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. Instantiating a + This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate an + [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the @@ -70,7 +66,7 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): inpaint_adv_loss_weight (`float`, *optional*, defaults to 0.1): The weight of the adversial loss module. gan_loss (`str`, *optional*, defaults to`"nsgan"`): - GAN's loss function can be either "nsgan", "lsgan", or "hinge". + GAN's loss function can be either "nsgan", "lsgan", or "hinge". Example: @@ -122,6 +118,7 @@ def __init__( self.inpaint_adv_loss_weight = inpaint_adv_loss_weight self.gan_loss = gan_loss + class ICTTransformerConfig(PretrainedConfig): r""" This is the configuration class to store the configuration of a [`ICTTransformer`]. It is used to instantiate an ICT @@ -216,6 +213,7 @@ def __init__( self.num_channels = num_channels self.qkv_bias = qkv_bias + class ICTConfig(PretrainedConfig): r""" [`ICTConfig`] is the configuration class to store the configuration of a [`ICTMdel`]. It is used to @@ -264,14 +262,17 @@ def __init__( if guided_upsampler_config is None: guided_upsampler_config = {} - logger.info("guided_upsampler_config is None. Initializing the ICTGuidedUpsamplerConfig with default values.") + logger.info( + "guided_upsampler_config is None. Initializing the ICTGuidedUpsamplerConfig with default values." + ) self.transformer_config = ICTTransformerConfig(**transformer_config) self.guided_upsampler_config = ICTGuidedUpsamplerConfig(**guided_upsampler_config) - @classmethod - def from_transformer_and_guided_upsampler_configs(cls, transformer_config: ICTTransformerConfig, guided_upsampler_config: ICTGuidedUpsamplerConfig, **kwargs): + def from_transformer_and_guided_upsampler_configs( + cls, transformer_config: ICTTransformerConfig, guided_upsampler_config: ICTGuidedUpsamplerConfig, **kwargs + ): r""" Instantiate a [`ICTConfig`] (or a derived class) from align text model configuration and align vision model configuration. @@ -279,7 +280,11 @@ def from_transformer_and_guided_upsampler_configs(cls, transformer_config: ICTTr [`ICTConfig`]: An instance of a configuration object """ - return cls(transformer_config=transformer_config.to_dict(), guided_upsampler_config=guided_upsampler_config.to_dict(), **kwargs) + return cls( + transformer_config=transformer_config.to_dict(), + guided_upsampler_config=guided_upsampler_config.to_dict(), + **kwargs, + ) def to_dict(self): """ diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 7accaab6904e..cfc4b886b6c6 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, +# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, # The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index d7a3138de0c9..fd251a48431b 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -1,5 +1,5 @@ # coding=utf-8 -# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, +# Copyright 2023 Authors at City University of Hong Kong, Microsoft Cloud + AI, # The HuggingFace Inc. team. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); @@ -20,10 +20,9 @@ from typing import Optional, Tuple, Union import torch +import torch.optim as optim import torch.utils.checkpoint from torch import nn -import torch.optim as optim - from ...activations import ACT2FN from ...modeling_outputs import BaseModelOutput, ImageSuperResolutionOutput @@ -35,7 +34,7 @@ logging, replace_return_docstrings, ) -from .configuration_ict import ICTTransformerConfig, ICTGuidedUpsamplerConfig +from .configuration_ict import ICTConfig, ICTGuidedUpsamplerConfig, ICTTransformerConfig logger = logging.get_logger(__name__) @@ -308,30 +307,31 @@ def custom_forward(*inputs): hidden_states=all_hidden_states, attentions=all_self_attentions, ) - + + class BaseNetwork(nn.Module): def __init__(self): super().__init__() - def init_weights(self, init_type='normal', gain=0.02): - ''' + def init_weights(self, init_type="normal", gain=0.02): + """ initialize network's weights init_type: normal | xavier | kaiming | orthogonal https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/9451e70673400885567d08a9e97ade2524c700d0/models/networks.py#L39 - ''' + """ def init_func(module): if isinstance(module, (nn.Linear, nn.Conv2d)): - if init_type == 'normal': + if init_type == "normal": nn.init.normal_(module.weight.data, 0.0, gain) - elif init_type == 'xavier': + elif init_type == "xavier": nn.init.xavier_normal_(module.weight.data, gain=gain) - elif init_type == 'kaiming': - nn.init.kaiming_normal_(module.weight.data, a=0, mode='fan_in') - elif init_type == 'orthogonal': + elif init_type == "kaiming": + nn.init.kaiming_normal_(module.weight.data, a=0, mode="fan_in") + elif init_type == "orthogonal": nn.init.orthogonal_(module.weight.data, gain=gain) - if hasattr(module, 'bias') and module.bias is not None: + if hasattr(module, "bias") and module.bias is not None: module.bias.data.zero_() self.apply(init_func) @@ -342,10 +342,14 @@ def __init__(self, dim): super().__init__() self.conv_block = nn.Sequential( nn.ReflectionPad2d(2), - nn.utils.spectral_norm(nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=2, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=2, bias=False) + ), nn.ReLU(True), nn.ReflectionPad2d(1), - nn.utils.spectral_norm(nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=1, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=1, bias=False) + ), ) def forward(self, x): @@ -355,6 +359,7 @@ def forward(self, x): return out + class InpaintGenerator(BaseNetwork): def __init__(self, residual_blocks=8): super().__init__() @@ -366,7 +371,7 @@ def __init__(self, residual_blocks=8): nn.Conv2d(in_channels=64, out_channels=128, kernel_size=4, stride=2, padding=1), nn.ReLU(True), nn.Conv2d(in_channels=128, out_channels=256, kernel_size=4, stride=2, padding=1), - nn.ReLU(True) + nn.ReLU(True), ) blocks = [ResnetBlock(256) for _ in range(residual_blocks)] @@ -381,7 +386,7 @@ def __init__(self, residual_blocks=8): nn.ReflectionPad2d(3), nn.Conv2d(in_channels=64, out_channels=3, kernel_size=7, padding=0), ) - + self.init_weights() def forward(self, x): @@ -391,33 +396,44 @@ def forward(self, x): x = (torch.tanh(x) + 1) / 2 return x - + + class Discriminator(BaseNetwork): def __init__(self, in_channels): super().__init__() self.conv1 = nn.Sequential( - nn.utils.spectral_norm(nn.Conv2d(in_channels=in_channels, out_channels=64, kernel_size=4, stride=2, padding=1, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=in_channels, out_channels=64, kernel_size=4, stride=2, padding=1, bias=False) + ), nn.LeakyReLU(0.2, inplace=True), ) self.conv2 = nn.Sequential( - nn.utils.spectral_norm(nn.Conv2d(in_channels=64, out_channels=128, kernel_size=4, stride=2, padding=1, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=64, out_channels=128, kernel_size=4, stride=2, padding=1, bias=False) + ), nn.LeakyReLU(0.2, inplace=True), ) self.conv3 = nn.Sequential( - nn.utils.spectral_norm(nn.Conv2d(in_channels=128, out_channels=256, kernel_size=4, stride=2, padding=1, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=128, out_channels=256, kernel_size=4, stride=2, padding=1, bias=False) + ), nn.LeakyReLU(0.2, inplace=True), ) self.conv4 = nn.Sequential( - nn.utils.spectral_norm(nn.Conv2d(in_channels=256, out_channels=512, kernel_size=4, stride=1, padding=1, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=256, out_channels=512, kernel_size=4, stride=1, padding=1, bias=False) + ), nn.LeakyReLU(0.2, inplace=True), ) self.conv5 = nn.Sequential( - nn.utils.spectral_norm(nn.Conv2d(in_channels=512, out_channels=1, kernel_size=4, stride=1, padding=1, bias=False)), + nn.utils.spectral_norm( + nn.Conv2d(in_channels=512, out_channels=1, kernel_size=4, stride=1, padding=1, bias=False) + ), ) self.init_weights() @@ -434,33 +450,34 @@ def forward(self, x): return outputs, [conv1, conv2, conv3, conv4, conv5] + class AdversarialLoss(nn.Module): r""" Adversarial loss https://arxiv.org/abs/1711.10337 """ - def __init__(self, gan_loss_function='nsgan', target_real_label=1.0, target_fake_label=0.0): + def __init__(self, gan_loss_function="nsgan", target_real_label=1.0, target_fake_label=0.0): r""" gan_loss_function = nsgan | lsgan | hinge """ super().__init__() self.gan_loss_function = gan_loss_function - self.register_buffer('real_label', torch.tensor(target_real_label)) - self.register_buffer('fake_label', torch.tensor(target_fake_label)) + self.register_buffer("real_label", torch.tensor(target_real_label)) + self.register_buffer("fake_label", torch.tensor(target_fake_label)) - if gan_loss_function == 'nsgan': + if gan_loss_function == "nsgan": self.criterion = nn.BCELoss() - elif gan_loss_function == 'lsgan': + elif gan_loss_function == "lsgan": self.criterion = nn.MSELoss() - elif gan_loss_function == 'hinge': + elif gan_loss_function == "hinge": self.criterion = nn.ReLU() def __call__(self, outputs, is_real, is_discriminator=None): - if self.gan_loss_function == 'hinge': + if self.gan_loss_function == "hinge": if is_discriminator: if is_real: outputs = -outputs @@ -483,7 +500,7 @@ class StyleLoss(nn.Module): def __init__(self): super().__init__() - self.add_module('vgg', VGG19()) + self.add_module("vgg", VGG19()) self.criterion = torch.nn.L1Loss() def compute_gram_matrix(self, x): @@ -499,15 +516,22 @@ def __call__(self, x, y): # Compute loss style_loss = 0.0 - style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu2_2']), self.compute_gram_matrix(y_vgg['relu2_2'])) - style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu3_4']), self.compute_gram_matrix(y_vgg['relu3_4'])) - style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu4_4']), self.compute_gram_matrix(y_vgg['relu4_4'])) - style_loss += self.criterion(self.compute_gram_matrix(x_vgg['relu5_2']), self.compute_gram_matrix(y_vgg['relu5_2'])) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu2_2"]), self.compute_gram_matrix(y_vgg["relu2_2"]) + ) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu3_4"]), self.compute_gram_matrix(y_vgg["relu3_4"]) + ) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu4_4"]), self.compute_gram_matrix(y_vgg["relu4_4"]) + ) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu5_2"]), self.compute_gram_matrix(y_vgg["relu5_2"]) + ) return style_loss - class PerceptualLoss(nn.Module): r""" Perceptual loss, VGG-based @@ -517,7 +541,7 @@ class PerceptualLoss(nn.Module): def __init__(self, weights=[1.0, 1.0, 1.0, 1.0, 1.0]): super().__init__() - self.add_module('vgg', VGG19()) + self.add_module("vgg", VGG19()) self.criterion = torch.nn.L1Loss() self.weights = weights @@ -526,17 +550,15 @@ def __call__(self, x, y): x_vgg, y_vgg = self.vgg(x), self.vgg(y) content_loss = 0.0 - content_loss += self.weights[0] * self.criterion(x_vgg['relu1_1'], y_vgg['relu1_1']) - content_loss += self.weights[1] * self.criterion(x_vgg['relu2_1'], y_vgg['relu2_1']) - content_loss += self.weights[2] * self.criterion(x_vgg['relu3_1'], y_vgg['relu3_1']) - content_loss += self.weights[3] * self.criterion(x_vgg['relu4_1'], y_vgg['relu4_1']) - content_loss += self.weights[4] * self.criterion(x_vgg['relu5_1'], y_vgg['relu5_1']) - + content_loss += self.weights[0] * self.criterion(x_vgg["relu1_1"], y_vgg["relu1_1"]) + content_loss += self.weights[1] * self.criterion(x_vgg["relu2_1"], y_vgg["relu2_1"]) + content_loss += self.weights[2] * self.criterion(x_vgg["relu3_1"], y_vgg["relu3_1"]) + content_loss += self.weights[3] * self.criterion(x_vgg["relu4_1"], y_vgg["relu4_1"]) + content_loss += self.weights[4] * self.criterion(x_vgg["relu5_1"], y_vgg["relu5_1"]) return content_loss - class VGG19(torch.nn.Module): def __init__(self): super().__init__() @@ -637,29 +659,26 @@ def forward(self, x): relu5_4 = self.relu5_4(relu5_3) out = { - 'relu1_1': relu1_1, - 'relu1_2': relu1_2, - - 'relu2_1': relu2_1, - 'relu2_2': relu2_2, - - 'relu3_1': relu3_1, - 'relu3_2': relu3_2, - 'relu3_3': relu3_3, - 'relu3_4': relu3_4, - - 'relu4_1': relu4_1, - 'relu4_2': relu4_2, - 'relu4_3': relu4_3, - 'relu4_4': relu4_4, - - 'relu5_1': relu5_1, - 'relu5_2': relu5_2, - 'relu5_3': relu5_3, - 'relu5_4': relu5_4, + "relu1_1": relu1_1, + "relu1_2": relu1_2, + "relu2_1": relu2_1, + "relu2_2": relu2_2, + "relu3_1": relu3_1, + "relu3_2": relu3_2, + "relu3_3": relu3_3, + "relu3_4": relu3_4, + "relu4_1": relu4_1, + "relu4_2": relu4_2, + "relu4_3": relu4_3, + "relu4_4": relu4_4, + "relu5_1": relu5_1, + "relu5_2": relu5_2, + "relu5_3": relu5_3, + "relu5_4": relu5_4, } return out + class ICTPretrainedGuidedUpsampler(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained @@ -680,6 +699,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: if isinstance(module, ICTGuidedUpsampler): module.gradient_checkpointing = value + ICT_GUIDED_UP_SAMPLER_START_DOCSTRING = r""" This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and @@ -714,12 +734,14 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: return_dict (`bool`, *optional*): Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ + + class ICTGuidedUpsampler(nn.Module): def __init__(self, config: ICTGuidedUpsamplerConfig): super().__init__(config) generator = InpaintGenerator(config.residual_blocks) - discriminator = Discriminator(in_channels=3, use_sigmoid=config.gan_loss != 'hinge') + discriminator = Discriminator(in_channels=3, use_sigmoid=config.gan_loss != "hinge") # TODO How to load weights for G and D? # if len(config.GPU) > 1: @@ -731,24 +753,22 @@ def __init__(self, config: ICTGuidedUpsamplerConfig): style_loss = StyleLoss() adversarial_loss = AdversarialLoss(type=config.gan_loss) - self.add_module('generator', generator) - self.add_module('discriminator', discriminator) + self.add_module("generator", generator) + self.add_module("discriminator", discriminator) - self.add_module('l1_loss', l1_loss) - self.add_module('perceptual_loss', perceptual_loss) - self.add_module('style_loss', style_loss) - self.add_module('adversarial_loss', adversarial_loss) + self.add_module("l1_loss", l1_loss) + self.add_module("perceptual_loss", perceptual_loss) + self.add_module("style_loss", style_loss) + self.add_module("adversarial_loss", adversarial_loss) self.gen_optimizer = optim.Adam( - params=generator.parameters(), - lr=float(config.learning_rate), - betas=(config.adam_beta1, config.adam_beta2) + params=generator.parameters(), lr=float(config.learning_rate), betas=(config.adam_beta1, config.adam_beta2) ) self.dis_optimizer = optim.Adam( params=discriminator.parameters(), lr=float(config.learning_rate) * float(config.dis_gen_learning_rate), - betas=(config.adam_beta1, config.adam_beta2) + betas=(config.adam_beta1, config.adam_beta2), ) def process(self, images, edges, masks): @@ -766,8 +786,8 @@ def process(self, images, edges, masks): # discriminator loss dis_input_real = images dis_input_fake = outputs.detach() - dis_real, _ = self.discriminator(dis_input_real) - dis_fake, _ = self.discriminator(dis_input_fake) + dis_real, _ = self.discriminator(dis_input_real) + dis_fake, _ = self.discriminator(dis_input_fake) dis_real_loss = self.adversarial_loss(dis_real, True) dis_fake_loss = self.adversarial_loss(dis_fake, False) dis_loss += (dis_real_loss + dis_fake_loss) / 2 @@ -777,7 +797,7 @@ def process(self, images, edges, masks): # generator adversarial loss gen_input_fake = outputs - gen_fake, _ = self.discriminator(gen_input_fake) + gen_fake, _ = self.discriminator(gen_input_fake) gen_gan_loss = self.adversarial_loss(gen_fake, True) * self.config.INPAINT_ADV_LOSS_WEIGHT gen_loss += gen_gan_loss @@ -882,4 +902,3 @@ def custom_forward(*inputs): hidden_states=all_hidden_states, attentions=all_self_attentions, ) - \ No newline at end of file diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index f60c4466df6b..346a88721ff2 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -173,11 +173,7 @@ class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): if is_torch_available() else () ) - pipeline_model_mapping = ( - {"feature-extraction": ICTModel} - if is_torch_available() - else {} - ) + pipeline_model_mapping = {"feature-extraction": ICTModel} if is_torch_available() else {} fx_compatible = False test_pruning = False From 1fdd92c417273c69a157f842156a5c63ba8eb194 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 15 Mar 2023 04:09:41 -0700 Subject: [PATCH 17/70] delete kmeans clustser --- setup.py | 6 +++--- .../models/ict/assets/kmeans_centers.npy | Bin 6272 -> 0 bytes 2 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 src/transformers/models/ict/assets/kmeans_centers.npy diff --git a/setup.py b/setup.py index 17a3e8c128bf..c4eee4914d63 100644 --- a/setup.py +++ b/setup.py @@ -256,8 +256,8 @@ def run(self): extras["ja"] = deps_list("fugashi", "ipadic", "unidic_lite", "unidic", "sudachipy", "sudachidict_core", "rhoknp") extras["sklearn"] = deps_list("scikit-learn") -extras["tf"] = deps_list("tensorflow", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp") -extras["tf-cpu"] = deps_list("tensorflow-cpu", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp") +extras["tf"] = deps_list("onnxconverter-common", "tf2onnx", "keras-nlp") +extras["tf-cpu"] = deps_list("tensorflow-cpu", "onnxconverter-common", "tf2onnx", "keras-nlp") extras["torch"] = deps_list("torch", "accelerate") extras["accelerate"] = deps_list("accelerate") @@ -296,7 +296,7 @@ def run(self): extras["torch-vision"] = deps_list("torchvision") + extras["vision"] extras["natten"] = deps_list("natten") extras["codecarbon"] = deps_list("codecarbon") -extras["video"] = deps_list("decord", "av") +extras["video"] = deps_list("av") extras["sentencepiece"] = deps_list("sentencepiece", "protobuf") extras["testing"] = ( diff --git a/src/transformers/models/ict/assets/kmeans_centers.npy b/src/transformers/models/ict/assets/kmeans_centers.npy deleted file mode 100644 index 15da07b0fa3eb2fab6f90137ed029ef094b59b6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6272 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 z Date: Wed, 15 Mar 2023 04:31:21 -0700 Subject: [PATCH 18/70] simplify ICTModel --- src/transformers/models/ict/modeling_ict.py | 102 +++++++++++--------- 1 file changed, 59 insertions(+), 43 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index fd251a48431b..43c127384c89 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -834,10 +834,28 @@ def forward(self, images, edges, masks): # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class ICTModel(ICTPretrainedGuidedUpsampler): + config_class = ICTConfig + def __init__(self, config: ICTConfig): super().__init__(config) + + if not isinstance(config.transformer_config, ICTTransformerConfig): + raise ValueError( + "config.transformer_config is expected to be of type ICTTransformerConfig but is of type" + f" {type(config.transformer_config)}." + ) + + if not isinstance(config.guided_upsampler_config, ICTGuidedUpsamplerConfig): + raise ValueError( + "config.guided_upsampler_config is expected to be of type ICTGuidedUpsamplerConfig but is of type" + f" {type(config.guided_upsampler_config)}." + ) + + transformer_config = config.transformer_config + guided_upsampler_config = config.guided_upsampler_config self.config = config - self.inpaint_model = ICTInpaintingModel(config) + self.transformer = ICTTransformerModel(transformer_config) + self.guided_upsampler = ICTGuidedUpsampler(guided_upsampler_config) # Initialize weights and apply final processing # self.post_init() @@ -851,54 +869,52 @@ def forward( output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, ) -> Union[Tuple, BaseModelOutput]: - all_hidden_states = () if output_hidden_states else None - all_self_attentions = () if output_attentions else None - - if pixel_values is None: - raise ValueError("You have to specify pixel_values") - - pixel_values = pixel_values.to(torch.long) - _, t = pixel_values.size() - - inputs_embeds = self.token_embedding(pixel_values) - - if masks: - masks = masks.unsqueeze(2) - inputs_embeds = inputs_embeds * (1 - masks) - - position_embeds = self.position_embedding[:, :t, :] - hidden_states = inputs_embeds + position_embeds - hidden_states = self.drop(hidden_states) - - for _, block in enumerate(self.blocks): - if output_hidden_states: - all_hidden_states = all_hidden_states + (hidden_states,) + r""" + Returns: - if self.gradient_checkpointing and self.training: + Example: + ```python + >>> import torch + >>> import numpy as np + >>> from PIL import Image + >>> import requests - def create_custom_forward(module): - def custom_forward(*inputs): - return module(*inputs, output_attentions) + >>> from transformers import AutoImageProcessor, ICTModel - return custom_forward + >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-32") + >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-32") - layer_outputs = torch.utils.checkpoint.checkpoint( - create_custom_forward(block), - hidden_states, - ) - else: - layer_outputs = block(hidden_states, output_attentions) + >>> url = "TODO" + >>> image = Image.open(requests.get(url, stream=True).raw) + >>> # prepare image for the model + >>> inputs = processor(image, return_tensors="pt") - hidden_states = layer_outputs[0] + >>> # forward pass + >>> with torch.no_grad(): + ... outputs = model(**inputs) - if output_attentions: - all_self_attentions = all_self_attentions + (layer_outputs[1],) + >>> output = TODO + ```""" + return_dict = return_dict if return_dict is not None else self.config.use_return_dict + if pixel_values is None: + raise ValueError("You have to specify pixel_values") + + height, width = pixel_values.shape[2:] + + outputs = self.tranformer( + pixel_values, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) - if not return_dict: - return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) + sequence_output = outputs[0] - return BaseModelOutput( - last_hidden_state=hidden_states, - hidden_states=all_hidden_states, - attentions=all_self_attentions, + image_output = self.guided_upsampler() + + return ImageSuperResolutionOutput( + loss=loss, + reconstruction=reconstruction, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, ) From a88ae23191ccd4f0672a996090f8f7e2a0f18335 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 15 Mar 2023 04:38:11 -0700 Subject: [PATCH 19/70] clean up --- .../models/ict/configuration_ict.py | 35 ++++++++--------- .../models/ict/image_processing_ict.py | 4 +- src/transformers/models/ict/modeling_ict.py | 38 +++++++------------ 3 files changed, 33 insertions(+), 44 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index b6953990b4dc..7d738974ba1a 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -16,7 +16,6 @@ """ ICT model configuration""" - import copy from ...configuration_utils import PretrainedConfig @@ -32,9 +31,10 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate an - [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. Instantiating a - configuration with the defaults will yield a similar configuration to that of the [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). + This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate + an [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. + Instantiating a configuration with the defaults will yield a similar configuration to that of the + [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. @@ -121,9 +121,10 @@ def __init__( class ICTTransformerConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTTransformer`]. It is used to instantiate an ICT - model according to the specified arguments, defining the model architecture. Instantiating a configuration with the - defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). + This is the configuration class to store the configuration of a [`ICTTransformer`]. It is used to instantiate an + ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with + the defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet + dataset](https://huggingface.co/sheonhan/ict-imagenet-32). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. @@ -216,13 +217,13 @@ def __init__( class ICTConfig(PretrainedConfig): r""" - [`ICTConfig`] is the configuration class to store the configuration of a [`ICTMdel`]. It is used to - instantiate an ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. - Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT - [sheonhan/ict-imagenet-32](https://huggingface.co/sheonhan/ict-imagenet-32) architecture. - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. Args: + [`ICTConfig`] is the configuration class to store the configuration of a [`ICTMdel`]. It is used to instantiate an + ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. + Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT + [sheonhan/ict-imagenet-32](https://huggingface.co/sheonhan/ict-imagenet-32) architecture. Configuration objects + inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from + [`PretrainedConfig`] for more information. transformer_config (`dict`, *optional*): Dictionary of configuration options used to initialize [`ICTTransformerConfig`]. guided_upsampler_config (`dict`, *optional*): @@ -232,6 +233,7 @@ class ICTConfig(PretrainedConfig): Example: ```python >>> from transformers import ICTConfig, ICTModel + >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-32 style configuration >>> configuration = ICTConfig() >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-32 style configuration @@ -240,6 +242,7 @@ class ICTConfig(PretrainedConfig): >>> configuration = model.config >>> # We can also initialize a ICTConfig from a ICTTransformerConfig and a ICTGuidedUpsamplerConfig >>> from transformers import ICTTransformerConfig, ICTGuidedUpsamplerConfig + >>> # Initializing ALIGN Text and Vision configurations >>> config_transformer = ICTTransformerConfig() >>> config_guided_upsampler = ICTGuidedUpsamplerConfig() @@ -275,8 +278,7 @@ def from_transformer_and_guided_upsampler_configs( ): r""" Instantiate a [`ICTConfig`] (or a derived class) from align text model configuration and align vision model - configuration. - Returns: + configuration. Returns: [`ICTConfig`]: An instance of a configuration object """ @@ -288,8 +290,7 @@ def from_transformer_and_guided_upsampler_configs( def to_dict(self): """ - Serializes this instance to a Python dictionary. Override the default [`~PretrainedConfig.to_dict`]. - Returns: + Serializes this instance to a Python dictionary. Override the default [`~PretrainedConfig.to_dict`]. Returns: `Dict[str, any]`: Dictionary of all the attributes that make up this configuration instance, """ output = copy.deepcopy(self.__dict__) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index cfc4b886b6c6..ce5bc3dca0b3 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -251,8 +251,8 @@ def preprocess( do_discretize (`bool`, *optional*, defaults to `self.do_color_quantize`): Whether to discretize the image. clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): - Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if - `do_discretize` is set to `True`. + Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_discretize` + is set to `True`. return_tensors (`str` or `TensorType`, *optional*): The type of tensors to return. Can be one of: - Unset: Return a list of `np.ndarray`. diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 43c127384c89..421d5a01260a 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -22,6 +22,7 @@ import torch import torch.optim as optim import torch.utils.checkpoint +import torchvision.models as models from torch import nn from ...activations import ACT2FN @@ -267,9 +268,9 @@ def forward( inputs_embeds = self.token_embedding(pixel_values) - if masks: - masks = masks.unsqueeze(2) - inputs_embeds = inputs_embeds * (1 - masks) + # if masks: + # masks = masks.unsqueeze(2) + # inputs_embeds = inputs_embeds * (1 - masks) position_embeds = self.position_embedding[:, :t, :] hidden_states = inputs_embeds + position_embeds @@ -315,8 +316,7 @@ def __init__(self): def init_weights(self, init_type="normal", gain=0.02): """ - initialize network's weights - init_type: normal | xavier | kaiming | orthogonal + initialize network's weights init_type: normal | xavier | kaiming | orthogonal https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/9451e70673400885567d08a9e97ade2524c700d0/models/networks.py#L39 """ @@ -453,8 +453,7 @@ def forward(self, x): class AdversarialLoss(nn.Module): r""" - Adversarial loss - https://arxiv.org/abs/1711.10337 + Adversarial loss https://arxiv.org/abs/1711.10337 """ def __init__(self, gan_loss_function="nsgan", target_real_label=1.0, target_fake_label=0.0): @@ -493,8 +492,7 @@ def __call__(self, outputs, is_real, is_discriminator=None): class StyleLoss(nn.Module): r""" - Perceptual loss, VGG-based - https://arxiv.org/abs/1603.08155 + Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py """ @@ -534,8 +532,7 @@ def __call__(self, x, y): class PerceptualLoss(nn.Module): r""" - Perceptual loss, VGG-based - https://arxiv.org/abs/1603.08155 + Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py """ @@ -831,14 +828,12 @@ def forward(self, images, edges, masks): "The ICTGuidedUpsampler outputting the completed images.", ICT_GUIDED_UP_SAMPLER_START_DOCSTRING, ) - -# Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class ICTModel(ICTPretrainedGuidedUpsampler): config_class = ICTConfig - + def __init__(self, config: ICTConfig): super().__init__(config) - + if not isinstance(config.transformer_config, ICTTransformerConfig): raise ValueError( "config.transformer_config is expected to be of type ICTTransformerConfig but is of type" @@ -898,7 +893,7 @@ def forward( return_dict = return_dict if return_dict is not None else self.config.use_return_dict if pixel_values is None: raise ValueError("You have to specify pixel_values") - + height, width = pixel_values.shape[2:] outputs = self.tranformer( @@ -908,13 +903,6 @@ def forward( return_dict=return_dict, ) - sequence_output = outputs[0] + self.guided_upsampler(outputs) - image_output = self.guided_upsampler() - - return ImageSuperResolutionOutput( - loss=loss, - reconstruction=reconstruction, - hidden_states=outputs.hidden_states, - attentions=outputs.attentions, - ) + pass From c44d96140b34b104feff915f3e0ba5c0d1b9a319 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 15 Mar 2023 11:19:24 -0700 Subject: [PATCH 20/70] restore some deleted files --- setup.py | 6 +++--- src/transformers/__init__.py | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/setup.py b/setup.py index c4eee4914d63..17a3e8c128bf 100644 --- a/setup.py +++ b/setup.py @@ -256,8 +256,8 @@ def run(self): extras["ja"] = deps_list("fugashi", "ipadic", "unidic_lite", "unidic", "sudachipy", "sudachidict_core", "rhoknp") extras["sklearn"] = deps_list("scikit-learn") -extras["tf"] = deps_list("onnxconverter-common", "tf2onnx", "keras-nlp") -extras["tf-cpu"] = deps_list("tensorflow-cpu", "onnxconverter-common", "tf2onnx", "keras-nlp") +extras["tf"] = deps_list("tensorflow", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp") +extras["tf-cpu"] = deps_list("tensorflow-cpu", "onnxconverter-common", "tf2onnx", "tensorflow-text", "keras-nlp") extras["torch"] = deps_list("torch", "accelerate") extras["accelerate"] = deps_list("accelerate") @@ -296,7 +296,7 @@ def run(self): extras["torch-vision"] = deps_list("torchvision") + extras["vision"] extras["natten"] = deps_list("natten") extras["codecarbon"] = deps_list("codecarbon") -extras["video"] = deps_list("av") +extras["video"] = deps_list("decord", "av") extras["sentencepiece"] = deps_list("sentencepiece", "protobuf") extras["testing"] = ( diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index 7c04d5ea0cea..94f92e0cb662 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -1834,6 +1834,14 @@ "IBertPreTrainedModel", ] ) + _import_structure["models.ict"].extend( + [ + "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", + "ICTForMaskedImageModeling", + "ICTModel", + "ICTPreTrainedModel", + ] + ) _import_structure["models.imagegpt"].extend( [ "IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST", @@ -2744,14 +2752,6 @@ "ViTPreTrainedModel", ] ) - _import_structure["models.ict"].extend( - [ - "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTForMaskedImageModeling", - "ICTModel", - "ICTPreTrainedModel", - ] - ) _import_structure["models.vit_hybrid"].extend( [ "VIT_HYBRID_PRETRAINED_MODEL_ARCHIVE_LIST", From dc1b961d60f9ee7adfbdceeff988c6ee2855090c Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 16 Mar 2023 04:10:24 -0700 Subject: [PATCH 21/70] change to ict-imagenet-256 --- .../models/ict/configuration_ict.py | 20 +++++++++---------- .../models/ict/image_processing_ict.py | 2 +- src/transformers/models/ict/modeling_ict.py | 14 ++++++------- tests/models/ict/test_modeling_ict.py | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 7d738974ba1a..a0e17dbd88f3 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -25,7 +25,7 @@ logger = logging.get_logger(__name__) ICT_PRETRAINED_CONFIG_ARCHIVE_MAP = { - "sheonhan/ict-imagenet-32": "https://huggingface.co/sheonhan/ict-imagenet-32/resolve/main/config.json", + "sheonhan/ict-imagenet-256": "https://huggingface.co/sheonhan/ict-imagenet-256/resolve/main/config.json", } @@ -34,7 +34,7 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate an [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the - [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-32). + [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. @@ -74,10 +74,10 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): ```python >>> from transformers import ICTGuidedUpsamplerConfig, ICTGuidedUpsampler - >>> # Initializing a ICT ict-imagenet-32 style configuration + >>> # Initializing a ICT ict-imagenet-256 style configuration >>> configuration = ICTGuidedUpsamplerConfig() - >>> # Initializing a model (with random weights) from the ict-imagenet-32 style configuration + >>> # Initializing a model (with random weights) from the ict-imagenet-256 style configuration >>> upsampler = ICTGuidedUpsampler(configuration) >>> # Accessing the model configuration @@ -124,7 +124,7 @@ class ICTTransformerConfig(PretrainedConfig): This is the configuration class to store the configuration of a [`ICTTransformer`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet - dataset](https://huggingface.co/sheonhan/ict-imagenet-32). + dataset](https://huggingface.co/sheonhan/ict-imagenet-256). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. @@ -167,10 +167,10 @@ class ICTTransformerConfig(PretrainedConfig): ```python >>> from transformers import ICTTransformerConfig, ICTTransformer - >>> # Initializing a ICT ict-imagenet-32 style configuration + >>> # Initializing a ICT ict-imagenet-256 style configuration >>> configuration = ICTTransformerConfig() - >>> # Initializing a model (with random weights) from the ict-imagenet-32 style configuration + >>> # Initializing a model (with random weights) from the ict-imagenet-256 style configuration >>> model = ICTTransformer(configuration) >>> # Accessing the model configuration @@ -221,7 +221,7 @@ class ICTConfig(PretrainedConfig): [`ICTConfig`] is the configuration class to store the configuration of a [`ICTMdel`]. It is used to instantiate an ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT - [sheonhan/ict-imagenet-32](https://huggingface.co/sheonhan/ict-imagenet-32) architecture. Configuration objects + [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256) architecture. Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. transformer_config (`dict`, *optional*): @@ -234,9 +234,9 @@ class ICTConfig(PretrainedConfig): ```python >>> from transformers import ICTConfig, ICTModel - >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-32 style configuration + >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-256 style configuration >>> configuration = ICTConfig() - >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-32 style configuration + >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-256 style configuration >>> model = ICTModel(configuration) >>> # Accessing the model configuration >>> configuration = model.config diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index ce5bc3dca0b3..2781d7c22f4a 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -100,7 +100,7 @@ def __init__( self.clusters = np.array(clusters) if clusters is not None else self.get_image_net_clusters() def get_image_net_clusters(self): - kmeans_centers = np.load(hf_hub_download(repo_id="sheonhan/ict-imagenet-32", filename="kmeans_centers.npy")) + kmeans_centers = np.load(hf_hub_download(repo_id="sheonhan/ict-imagenet-256", filename="kmeans_centers.npy")) return np.rint(127.5 * (kmeans_centers + 1.0)) def resize( diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 421d5a01260a..d557f728d87a 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -44,14 +44,14 @@ _CONFIG_FOR_DOC = "ICTConfig" # Base docstring -_CHECKPOINT_FOR_DOC = "sheonhan/ict-imagenet-32" -_EXPECTED_OUTPUT_SHAPE = [1, 197, 768] # TODO +_CHECKPOINT_FOR_DOC = "sheonhan/ict-imagenet-256" +_EXPECTED_OUTPUT_SHAPE = [3, 256, 256] ICT_PRETRAINED_MODEL_ARCHIVE_LIST = [ - "sheonhan/ict-imagenet-32", - "sheonhan/ict-ffhq-32", - "sheonhan/ict-imagenet-32", + "sheonhan/ict-imagenet-256", + "sheonhan/ict-ffhq-256", + "sheonhan/ict-places-256", # See all ICT models at https://huggingface.co/models?filter=ict ] @@ -876,8 +876,8 @@ def forward( >>> from transformers import AutoImageProcessor, ICTModel - >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-32") - >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-32") + >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") + >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") >>> url = "TODO" >>> image = Image.open(requests.get(url, stream=True).raw) diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index 346a88721ff2..27eb482030db 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -238,7 +238,7 @@ def prepare_img(): class ICTModelIntegrationTest(unittest.TestCase): @cached_property def default_feature_extractor(self): - return ViTFeatureExtractor.from_pretrained("sheonhan/ict-imagenet-32") if is_vision_available() else None + return ViTFeatureExtractor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None @slow @require_accelerate From 510400ac838efa95e3b99adf62ffcfe61722a7e0 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 16 Mar 2023 04:25:20 -0700 Subject: [PATCH 22/70] use MaskedImageCompletionOutput --- src/transformers/models/ict/configuration_ict.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index a0e17dbd88f3..5216f1189785 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -83,7 +83,7 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): >>> # Accessing the model configuration >>> configuration = upsampler.config ```""" - model_type = "ict-guided-upsampler" + model_type = "ict_guided_upsampler" def __init__( self, @@ -176,7 +176,7 @@ class ICTTransformerConfig(PretrainedConfig): >>> # Accessing the model configuration >>> configuration = model.config ```""" - model_type = "ict-transformer" + model_type = "ict_transformer" def __init__( self, From 0f7059abd512a43a1704665c766d857a3e5ac34d Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 16 Mar 2023 04:26:04 -0700 Subject: [PATCH 23/70] rename BaseNetwork --- src/transformers/models/ict/modeling_ict.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index d557f728d87a..d6c920436ef1 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -26,7 +26,7 @@ from torch import nn from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, ImageSuperResolutionOutput +from ...modeling_outputs import BaseModelOutput, MaskedImageCompletionOutput from ...modeling_utils import PreTrainedModel from ...utils import ( add_code_sample_docstrings, @@ -55,7 +55,6 @@ # See all ICT models at https://huggingface.co/models?filter=ict ] - # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class ICTSelfAttention(nn.Module): def __init__(self, config: ICTTransformerConfig) -> None: @@ -310,7 +309,7 @@ def custom_forward(*inputs): ) -class BaseNetwork(nn.Module): +class ICTPretrainedModel(PreTrainedModel): def __init__(self): super().__init__() @@ -360,7 +359,7 @@ def forward(self, x): return out -class InpaintGenerator(BaseNetwork): +class InpaintGenerator(ICTPretrainedModel): def __init__(self, residual_blocks=8): super().__init__() @@ -398,7 +397,7 @@ def forward(self, x): return x -class Discriminator(BaseNetwork): +class Discriminator(ICTPretrainedModel): def __init__(self, in_channels): super().__init__() @@ -856,7 +855,7 @@ def __init__(self, config: ICTConfig): # self.post_init() @add_start_docstrings_to_model_forward(ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING) - @replace_return_docstrings(output_type=ImageSuperResolutionOutput, config_class=_CONFIG_FOR_DOC) + @replace_return_docstrings(output_type=MaskedImageCompletionOutput, config_class=_CONFIG_FOR_DOC) def forward( self, pixel_values: Optional[torch.Tensor] = None, From 6d5eaeea8342a71142a56ad92ce3e90b83ac0502 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 16 Mar 2023 04:37:20 -0700 Subject: [PATCH 24/70] remove reference to ICTForMaskedImageModeling --- docs/source/en/model_doc/ict.mdx | 10 ---------- src/transformers/__init__.py | 2 -- src/transformers/models/ict/__init__.py | 2 -- src/transformers/models/ict/modeling_ict.py | 4 ++-- tests/models/ict/test_modeling_ict.py | 22 +-------------------- 5 files changed, 3 insertions(+), 37 deletions(-) diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx index d0d9161e661d..3a56386aa72f 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.mdx @@ -37,13 +37,3 @@ The original code can be found [here](). [[autodoc]] ICTModel - forward - -## ICTForMaskedImageModeling - -[[autodoc]] ICTForMaskedImageModeling - - forward - -## ICTForImageClassification - -[[autodoc]] ICTForImageClassification - - forward diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index 94f92e0cb662..0832444227ee 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -1837,7 +1837,6 @@ _import_structure["models.ict"].extend( [ "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTForMaskedImageModeling", "ICTModel", "ICTPreTrainedModel", ] @@ -5500,7 +5499,6 @@ ) from .models.ict import ( ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTForMaskedImageModeling, ICTModel, ICTPreTrainedModel, ) diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py index 340bfd91f8ed..1cb050a82bc1 100644 --- a/src/transformers/models/ict/__init__.py +++ b/src/transformers/models/ict/__init__.py @@ -41,7 +41,6 @@ else: _import_structure["modeling_ict"] = [ "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTForMaskedImageModeling", "ICTModel", "ICTPreTrainedModel", ] @@ -65,7 +64,6 @@ else: from .modeling_ict import ( ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTForMaskedImageModeling, ICTModel, ICTPreTrainedModel, ) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index d6c920436ef1..b8b49a05c138 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -26,7 +26,7 @@ from torch import nn from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, MaskedImageCompletionOutput +from ...modeling_outputs import BaseModelOutput, MaskedLMOutput from ...modeling_utils import PreTrainedModel from ...utils import ( add_code_sample_docstrings, @@ -855,7 +855,7 @@ def __init__(self, config: ICTConfig): # self.post_init() @add_start_docstrings_to_model_forward(ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING) - @replace_return_docstrings(output_type=MaskedImageCompletionOutput, config_class=_CONFIG_FOR_DOC) + @replace_return_docstrings(output_type=MaskedLMOutput, config_class=_CONFIG_FOR_DOC) def forward( self, pixel_values: Optional[torch.Tensor] = None, diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index 27eb482030db..a1f95515fbea 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -38,7 +38,7 @@ import torch from torch import nn - from transformers import ICTForMaskedImageModeling, ICTModel + from transformers import ICTModel from transformers.models.ict.modeling_ict import ICT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -128,25 +128,6 @@ def create_and_check_model(self, config, pixel_values, labels): result = model(pixel_values) self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, self.seq_length, self.hidden_size)) - def create_and_check_for_masked_image_modeling(self, config, pixel_values, labels): - model = ICTForMaskedImageModeling(config=config) - model.to(torch_device) - model.eval() - result = model(pixel_values) - self.parent.assertEqual( - result.logits.shape, (self.batch_size, self.num_channels, self.image_size, self.image_size) - ) - - # test greyscale images - config.num_channels = 1 - model = ICTForMaskedImageModeling(config) - model.to(torch_device) - model.eval() - - pixel_values = floats_tensor([self.batch_size, 1, self.image_size, self.image_size]) - result = model(pixel_values) - self.parent.assertEqual(result.logits.shape, (self.batch_size, 1, self.image_size, self.image_size)) - def prepare_config_and_inputs_for_common(self): config_and_inputs = self.prepare_config_and_inputs() ( @@ -168,7 +149,6 @@ class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): all_model_classes = ( ( ICTModel, - ICTForMaskedImageModeling, ) if is_torch_available() else () From c2e58db3ae4b362dc969e85c215aff8802ec6edb Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 17 Mar 2023 03:43:49 -0700 Subject: [PATCH 25/70] implement bool_masked_pos --- .../models/ict/configuration_ict.py | 2 +- .../models/ict/image_processing_ict.py | 2 +- src/transformers/models/ict/modeling_ict.py | 248 +++++++----------- 3 files changed, 90 insertions(+), 162 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 5216f1189785..74848940b4f0 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -181,7 +181,7 @@ class ICTTransformerConfig(PretrainedConfig): def __init__( self, vocab_size=512, - hidden_size=768, + hidden_size=1024, num_hidden_layers=35, num_attention_heads=8, intermediate_size=4096, diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 2781d7c22f4a..acfc5539f4eb 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -198,7 +198,7 @@ def discretize(self, image: np.ndarray): Image to reduce dimensions. Returns: - `np.ndarray`: The image with reduced dimension. + `np.ndarray`: The image with reduced dimension with shape of [`size['height']` * `size['width']`]. """ image = np.array(image).reshape((-1, 3)) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index b8b49a05c138..55d07b3c8c25 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -147,38 +147,40 @@ def forward(self, hidden_states, output_attentions: bool = False): # Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict -class ICTTransformerPreTrainedModel(PreTrainedModel): +class ICTPretrainedModel(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained models. """ - config_class = ICTTransformerConfig + config_class = ICTConfig base_model_prefix = "ict" main_input_name = "pixel_values" supports_gradient_checkpointing = True _no_split_modules = [] - def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm]) -> None: + def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm, nn.Conv2d]) -> None: """Initialize the weights""" - if isinstance(module, (nn.Linear, nn.Embedding)): - # Slightly different from the ViT version which uses truncated_normal for initialization - # https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/models/model.py#L159-L166 + if isinstance(module, (nn.Linear, nn.Embedding, nn.Conv2d)): module.weight.data = nn.init.normal_( module.weight.data.to(torch.float32), mean=0.0, std=self.config.initializer_range ).to(module.weight.dtype) - if isinstance(module, nn.Linear) and module.bias is not None: + if isinstance(module, (nn.Linear, nn.Conv2d)) and module.bias is not None: module.bias.data.zero_() elif isinstance(module, nn.LayerNorm): module.bias.data.zero_() module.weight.data.fill_(1.0) def _set_gradient_checkpointing(self, module, value: bool = False) -> None: - if isinstance(module, ICTTransformerModel): + if isinstance(module, (ICTTransformerModel, ICTGuidedUpsampler)): module.gradient_checkpointing = value ICT_TRANSFORMER_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and behavior. @@ -189,18 +191,14 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. """ + ICT_TRANSFORMER_INPUTS_DOCSTRING = r""" Args: - pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): + pixel_values (`torch.FloatTensor` of shape `(batch_size, height * width)`): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. - - head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): - Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: - - - 1 indicates the head is **not masked**, - - 0 indicates the head is **masked**. - + bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): + Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). output_attentions (`bool`, *optional*): Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned tensors for more detail. @@ -213,14 +211,16 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ - @add_start_docstrings( - "The ICT Model transformer outputting raw hidden-states without any specific head on top.", + "The transformer for outputting raw hidden-states without any specific head on top.", ICT_TRANSFORMER_START_DOCSTRING, ) # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT -class ICTTransformerModel(ICTTransformerPreTrainedModel): - def __init__(self, config: ICTTransformerConfig, use_mask_token: bool = False): +class ICTTransformerModel(ICTPretrainedModel): + config_class = ICTTransformerConfig + main_input_name = "pixel_values" + + def __init__(self, config: ICTTransformerConfig): super().__init__(config) self.config = config @@ -252,6 +252,7 @@ def get_input_embeddings(self): def forward( self, pixel_values: Optional[torch.Tensor] = None, + bool_masked_pos: Optional[torch.BoolTensor] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, @@ -263,15 +264,18 @@ def forward( raise ValueError("You have to specify pixel_values") pixel_values = pixel_values.to(torch.long) - _, t = pixel_values.size() + batch_size, num_pixel = pixel_values.size() inputs_embeds = self.token_embedding(pixel_values) - # if masks: - # masks = masks.unsqueeze(2) - # inputs_embeds = inputs_embeds * (1 - masks) + if bool_masked_pos: + masks = masks.unsqueeze(2).ong() + inputs_embeds = inputs_embeds * (1 - masks.long()) + else: + masks = torch.randint(low=0, high=2, size=(batch_size, num_pixel)) + inputs_embeds = inputs_embeds * (1 - masks) - position_embeds = self.position_embedding[:, :t, :] + position_embeds = self.position_embedding[:, :num_pixel, :] hidden_states = inputs_embeds + position_embeds hidden_states = self.drop(hidden_states) @@ -309,33 +313,6 @@ def custom_forward(*inputs): ) -class ICTPretrainedModel(PreTrainedModel): - def __init__(self): - super().__init__() - - def init_weights(self, init_type="normal", gain=0.02): - """ - initialize network's weights init_type: normal | xavier | kaiming | orthogonal - https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/9451e70673400885567d08a9e97ade2524c700d0/models/networks.py#L39 - """ - - def init_func(module): - if isinstance(module, (nn.Linear, nn.Conv2d)): - if init_type == "normal": - nn.init.normal_(module.weight.data, 0.0, gain) - elif init_type == "xavier": - nn.init.xavier_normal_(module.weight.data, gain=gain) - elif init_type == "kaiming": - nn.init.kaiming_normal_(module.weight.data, a=0, mode="fan_in") - elif init_type == "orthogonal": - nn.init.orthogonal_(module.weight.data, gain=gain) - - if hasattr(module, "bias") and module.bias is not None: - module.bias.data.zero_() - - self.apply(init_func) - - class ResnetBlock(nn.Module): def __init__(self, dim): super().__init__() @@ -674,29 +651,11 @@ def forward(self, x): } return out - -class ICTPretrainedGuidedUpsampler(PreTrainedModel): - """ - An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained - models. - """ - - config_class = ICTGuidedUpsamplerConfig - # base_model_prefix = "ict" - # main_input_name = "pixel_values" - supports_gradient_checkpointing = True - _no_split_modules = [] - - def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm]) -> None: - """Initialize the weights""" - pass - - def _set_gradient_checkpointing(self, module, value: bool = False) -> None: - if isinstance(module, ICTGuidedUpsampler): - module.gradient_checkpointing = value - - ICT_GUIDED_UP_SAMPLER_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and behavior. @@ -731,103 +690,71 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ - -class ICTGuidedUpsampler(nn.Module): +@add_start_docstrings( + "The guided sampler for outputting the completed images.", + ICT_GUIDED_UP_SAMPLER_START_DOCSTRING, +) +class ICTGuidedUpsampler(ICTPretrainedModel): def __init__(self, config: ICTGuidedUpsamplerConfig): super().__init__(config) - generator = InpaintGenerator(config.residual_blocks) - discriminator = Discriminator(in_channels=3, use_sigmoid=config.gan_loss != "hinge") - - # TODO How to load weights for G and D? - # if len(config.GPU) > 1: - # generator = nn.DataParallel(generator, config.GPU) - # discriminator = nn.DataParallel(discriminator , config.GPU) - - l1_loss = nn.L1Loss() - perceptual_loss = PerceptualLoss() - style_loss = StyleLoss() - adversarial_loss = AdversarialLoss(type=config.gan_loss) - - self.add_module("generator", generator) - self.add_module("discriminator", discriminator) - - self.add_module("l1_loss", l1_loss) - self.add_module("perceptual_loss", perceptual_loss) - self.add_module("style_loss", style_loss) - self.add_module("adversarial_loss", adversarial_loss) - - self.gen_optimizer = optim.Adam( - params=generator.parameters(), lr=float(config.learning_rate), betas=(config.adam_beta1, config.adam_beta2) - ) - - self.dis_optimizer = optim.Adam( - params=discriminator.parameters(), - lr=float(config.learning_rate) * float(config.dis_gen_learning_rate), - betas=(config.adam_beta1, config.adam_beta2), - ) - - def process(self, images, edges, masks): - self.iteration += 1 - - # zero optimizers - self.gen_optimizer.zero_grad() - self.dis_optimizer.zero_grad() - - # process outputs - outputs = self(images, edges, masks) - gen_loss = 0 - dis_loss = 0 - - # discriminator loss - dis_input_real = images - dis_input_fake = outputs.detach() - dis_real, _ = self.discriminator(dis_input_real) - dis_fake, _ = self.discriminator(dis_input_fake) - dis_real_loss = self.adversarial_loss(dis_real, True) - dis_fake_loss = self.adversarial_loss(dis_fake, False) - dis_loss += (dis_real_loss + dis_fake_loss) / 2 - - dis_loss.backward() - self.dis_optimizer.step() + self.generator = InpaintGenerator(config.residual_blocks) + self.discriminator = Discriminator(in_channels=3, use_sigmoid=config.gan_loss != "hinge") + self.l1_loss = nn.L1Loss() + self.perceptual_loss = PerceptualLoss() + self.style_loss = StyleLoss() + self.adversarial_loss = AdversarialLoss(type=config.gan_loss) + + self.init_weights() + - # generator adversarial loss - gen_input_fake = outputs - gen_fake, _ = self.discriminator(gen_input_fake) - gen_gan_loss = self.adversarial_loss(gen_fake, True) * self.config.INPAINT_ADV_LOSS_WEIGHT - gen_loss += gen_gan_loss + def forward(self, images, edges, masks): + images_masked = (images * (1 - masks).float()) + masks + inputs = torch.cat((images_masked, edges), dim=1) + outputs = self.generator(inputs) + return outputs - # generator l1 loss - gen_l1_loss = self.l1_loss(outputs, images) * self.config.L1_LOSS_WEIGHT / torch.mean(masks) - gen_loss += gen_l1_loss +ICT_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) - # generator perceptual loss - gen_content_loss = self.perceptual_loss(outputs, images) - gen_content_loss = gen_content_loss * self.config.CONTENT_LOSS_WEIGHT - gen_loss += gen_content_loss + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it + as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and + behavior. - # generator style loss - gen_style_loss = self.style_loss(outputs * masks, images * masks) - gen_style_loss = gen_style_loss * self.config.STYLE_LOSS_WEIGHT - gen_loss += gen_style_loss + Parameters: + config ([`ICTConfig`]): Model configuration class with all the parameters of the model. + Initializing with a config file does not load the weights associated with the model, only the + configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" - gen_loss.backward() - self.gen_optimizer.step() +ICT_INPUTS_DOCSTRING = r""" + Args: + pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] + for details. - return outputs, gen_loss, dis_loss + head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): + Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: - def forward(self, images, edges, masks): - images_masked = (images * (1 - masks).float()) + masks - inputs = torch.cat((images_masked, edges), dim=1) - outputs = self.generator(inputs) - return outputs + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + interpolate_pos_encoding (`bool`, *optional*): + Whether to interpolate the pre-trained position encodings. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. +""" -@add_start_docstrings( - "The ICTGuidedUpsampler outputting the completed images.", - ICT_GUIDED_UP_SAMPLER_START_DOCSTRING, -) -class ICTModel(ICTPretrainedGuidedUpsampler): +@add_start_docstrings(ICT_START_DOCSTRING) +class ICTModel(ICTPretrainedModel): config_class = ICTConfig def __init__(self, config: ICTConfig): @@ -852,13 +779,14 @@ def __init__(self, config: ICTConfig): self.guided_upsampler = ICTGuidedUpsampler(guided_upsampler_config) # Initialize weights and apply final processing - # self.post_init() + self.post_init() @add_start_docstrings_to_model_forward(ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING) @replace_return_docstrings(output_type=MaskedLMOutput, config_class=_CONFIG_FOR_DOC) def forward( self, pixel_values: Optional[torch.Tensor] = None, + bool_masked_pos: Optional[torch.BoolTensor] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, From 9b2b9e1fe180e9306b12f9b279c83f0da307bc58 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 17 Mar 2023 05:02:50 -0700 Subject: [PATCH 26/70] prune heads --- src/transformers/models/ict/modeling_ict.py | 142 ++++++++++++-------- 1 file changed, 85 insertions(+), 57 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 55d07b3c8c25..9506fb12850e 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -17,17 +17,18 @@ import math -from typing import Optional, Tuple, Union +from typing import Dict, List, Optional, Set, Tuple, Union import torch -import torch.optim as optim import torch.utils.checkpoint import torchvision.models as models from torch import nn from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, MaskedLMOutput +from ...modeling_outputs import BaseModelOutput, MaskedImageCompletionOutput from ...modeling_utils import PreTrainedModel +from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer + from ...utils import ( add_code_sample_docstrings, add_start_docstrings, @@ -73,7 +74,7 @@ def __init__(self, config: ICTTransformerConfig) -> None: self.key = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) self.value = nn.Linear(config.hidden_size, self.all_head_size, bias=config.qkv_bias) - self.output_projection = nn.Linear(config.hidden_size, config.hidden_size) + self.output = nn.Linear(config.hidden_size, config.hidden_size) self.attention_dropout = nn.Dropout(config.attention_probs_dropout_prob) self.residual_dropout = nn.Dropout(config.residual_dropout_prob) @@ -82,6 +83,24 @@ def transpose_for_scores(self, x: torch.Tensor) -> torch.Tensor: new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size) x = x.view(new_x_shape) return x.permute(0, 2, 1, 3) + + def prune_heads(self, heads: Set[int]) -> None: + if len(heads) == 0: + return + heads, index = find_pruneable_heads_and_indices( + heads, self.num_attention_heads, self.attention_head_size, self.pruned_heads + ) + + # Prune linear layers + self.query = prune_linear_layer(self.query, index) + self.key = prune_linear_layer(self.key, index) + self.value = prune_linear_layer(self.value, index) + self.output.dense = prune_linear_layer(self.output.dense, index, dim=1) + + # Update hyper params and store pruned heads + self.num_attention_heads = self.num_attention_heads - len(heads) + self.all_head_size = self.attention_head_size * self.num_attention_heads + self.pruned_heads = self.pruned_heads.union(heads) def forward( self, hidden_states, output_attentions: bool = False @@ -110,7 +129,7 @@ def forward( new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) context_layer = context_layer.view(new_context_layer_shape) - outputs = self.output_projection(context_layer) + outputs = self.output(context_layer) outputs = self.residual_dropout(outputs) return (outputs, attention_probs) if output_attentions else (outputs,) @@ -198,15 +217,14 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): - Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). + Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). + Generate random masks if not provided. output_attentions (`bool`, *optional*): Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned tensors for more detail. output_hidden_states (`bool`, *optional*): Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for more detail. - interpolate_pos_encoding (`bool`, *optional*): - Whether to interpolate the pre-trained position encodings. return_dict (`bool`, *optional*): Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ @@ -241,6 +259,14 @@ def __init__(self, config: ICTTransformerConfig): def get_input_embeddings(self): return self.token_embedding + def _prune_heads(self, heads_to_prune: Dict[int, List[int]]) -> None: + """ + Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base + class PreTrainedModel + """ + for block, heads in heads_to_prune.items(): + self.blocks[block].attention.prune_heads(heads) + @add_start_docstrings_to_model_forward(ICT_TRANSFORMER_INPUTS_DOCSTRING) @add_code_sample_docstrings( checkpoint=_CHECKPOINT_FOR_DOC, @@ -671,23 +697,6 @@ def forward(self, x): pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. - - head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): - Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: - - - 1 indicates the head is **not masked**, - - 0 indicates the head is **masked**. - - output_attentions (`bool`, *optional*): - Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned - tensors for more detail. - output_hidden_states (`bool`, *optional*): - Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for - more detail. - interpolate_pos_encoding (`bool`, *optional*): - Whether to interpolate the pre-trained position encodings. - return_dict (`bool`, *optional*): - Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ @add_start_docstrings( @@ -734,21 +743,15 @@ def forward(self, images, edges, masks): pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. - - head_mask (`torch.FloatTensor` of shape `(num_heads,)` or `(num_layers, num_heads)`, *optional*): - Mask to nullify selected heads of the self-attention modules. Mask values selected in `[0, 1]`: - - - 1 indicates the head is **not masked**, - - 0 indicates the head is **masked**. - + bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): + Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). + Generate random masks if not provided. output_attentions (`bool`, *optional*): Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned tensors for more detail. output_hidden_states (`bool`, *optional*): Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for more detail. - interpolate_pos_encoding (`bool`, *optional*): - Whether to interpolate the pre-trained position encodings. return_dict (`bool`, *optional*): Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ @@ -781,8 +784,8 @@ def __init__(self, config: ICTConfig): # Initialize weights and apply final processing self.post_init() - @add_start_docstrings_to_model_forward(ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING) - @replace_return_docstrings(output_type=MaskedLMOutput, config_class=_CONFIG_FOR_DOC) + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @replace_return_docstrings(output_type=MaskedImageCompletionOutput, config_class=_CONFIG_FOR_DOC) def forward( self, pixel_values: Optional[torch.Tensor] = None, @@ -795,28 +798,26 @@ def forward( Returns: Example: - ```python - >>> import torch - >>> import numpy as np - >>> from PIL import Image - >>> import requests - - >>> from transformers import AutoImageProcessor, ICTModel + ```python + >>> import torch + >>> import numpy as np + >>> from PIL import Image + >>> import requests - >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") - >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") + >>> from transformers import AutoImageProcessor, ICTModel - >>> url = "TODO" - >>> image = Image.open(requests.get(url, stream=True).raw) - >>> # prepare image for the model - >>> inputs = processor(image, return_tensors="pt") + >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") + >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") - >>> # forward pass - >>> with torch.no_grad(): - ... outputs = model(**inputs) - - >>> output = TODO - ```""" + >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" + >>> image = Image.open(requests.get(url, stream=True).raw) + >>> pixel_values = processor(image, return_tensors="pt").pixel_values + + >>> # create random boolean mask of shape (batch_size, num_patches) + >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() +ask + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) + ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict if pixel_values is None: raise ValueError("You have to specify pixel_values") @@ -825,11 +826,38 @@ def forward( outputs = self.tranformer( pixel_values, + bool_masked_pos=bool_masked_pos, output_attentions=output_attentions, output_hidden_states=output_hidden_states, return_dict=return_dict, ) - self.guided_upsampler(outputs) + sequence_output = outputs[0] + + # TODO: Reshaping + + reconstructed_pixel_values = self.guided_upsampler(sequence_output) + + masked_image_completion_loss = None + if bool_masked_pos is not None: + size = self.config.image_size // self.config.patch_size + bool_masked_pos = bool_masked_pos.reshape(-1, size, size) + mask = ( + bool_masked_pos.repeat_interleave(self.config.patch_size, 1) + .repeat_interleave(self.config.patch_size, 2) + .unsqueeze(1) + .contiguous() + ) + reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") + masked_image_completion_loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels - pass + if not return_dict: + output = (reconstructed_pixel_values,) + outputs[1:] + return ((masked_image_completion_loss,) + output) if masked_image_completion_loss is not None else output + + return MaskedImageCompletionOutput( + loss=masked_image_completion_loss, + reconstruction=reconstructed_pixel_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) From 85ad7137f754323f44bbc5095410d6350e009431 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 17 Mar 2023 05:12:06 -0700 Subject: [PATCH 27/70] make style --- src/transformers/models/ict/modeling_ict.py | 88 +++++++++++---------- tests/models/ict/test_modeling_ict.py | 8 +- 2 files changed, 49 insertions(+), 47 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 9506fb12850e..64e284e9a4fb 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -28,7 +28,6 @@ from ...modeling_outputs import BaseModelOutput, MaskedImageCompletionOutput from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer - from ...utils import ( add_code_sample_docstrings, add_start_docstrings, @@ -56,6 +55,7 @@ # See all ICT models at https://huggingface.co/models?filter=ict ] + # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class ICTSelfAttention(nn.Module): def __init__(self, config: ICTTransformerConfig) -> None: @@ -83,7 +83,7 @@ def transpose_for_scores(self, x: torch.Tensor) -> torch.Tensor: new_x_shape = x.size()[:-1] + (self.num_attention_heads, self.attention_head_size) x = x.view(new_x_shape) return x.permute(0, 2, 1, 3) - + def prune_heads(self, heads: Set[int]) -> None: if len(heads) == 0: return @@ -199,7 +199,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads etc.) - + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and behavior. @@ -217,8 +217,8 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): - Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). - Generate random masks if not provided. + Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random + masks if not provided. output_attentions (`bool`, *optional*): Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned tensors for more detail. @@ -229,6 +229,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ + @add_start_docstrings( "The transformer for outputting raw hidden-states without any specific head on top.", ICT_TRANSFORMER_START_DOCSTRING, @@ -237,7 +238,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: class ICTTransformerModel(ICTPretrainedModel): config_class = ICTTransformerConfig main_input_name = "pixel_values" - + def __init__(self, config: ICTTransformerConfig): super().__init__(config) self.config = config @@ -290,12 +291,12 @@ def forward( raise ValueError("You have to specify pixel_values") pixel_values = pixel_values.to(torch.long) - batch_size, num_pixel = pixel_values.size() + batch_size, num_pixel = pixel_values.size() inputs_embeds = self.token_embedding(pixel_values) if bool_masked_pos: - masks = masks.unsqueeze(2).ong() + masks = bool_masked_pos.unsqueeze(2).ong() inputs_embeds = inputs_embeds * (1 - masks.long()) else: masks = torch.randint(low=0, high=2, size=(batch_size, num_pixel)) @@ -677,11 +678,12 @@ def forward(self, x): } return out + ICT_GUIDED_UP_SAMPLER_START_DOCSTRING = r""" This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads etc.) - + This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and behavior. @@ -699,6 +701,7 @@ def forward(self, x): for details. """ + @add_start_docstrings( "The guided sampler for outputting the completed images.", ICT_GUIDED_UP_SAMPLER_START_DOCSTRING, @@ -713,9 +716,8 @@ def __init__(self, config: ICTGuidedUpsamplerConfig): self.perceptual_loss = PerceptualLoss() self.style_loss = StyleLoss() self.adversarial_loss = AdversarialLoss(type=config.gan_loss) - + self.init_weights() - def forward(self, images, edges, masks): images_masked = (images * (1 - masks).float()) + masks @@ -723,6 +725,7 @@ def forward(self, images, edges, masks): outputs = self.generator(inputs) return outputs + ICT_START_DOCSTRING = r""" This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads @@ -744,8 +747,8 @@ def forward(self, images, edges, masks): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] for details. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): - Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). - Generate random masks if not provided. + Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random + masks if not provided. output_attentions (`bool`, *optional*): Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned tensors for more detail. @@ -756,6 +759,7 @@ def forward(self, images, edges, masks): Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. """ + @add_start_docstrings(ICT_START_DOCSTRING) class ICTModel(ICTPretrainedModel): config_class = ICTConfig @@ -795,29 +799,31 @@ def forward( return_dict: Optional[bool] = None, ) -> Union[Tuple, BaseModelOutput]: r""" - Returns: - - Example: - ```python - >>> import torch - >>> import numpy as np - >>> from PIL import Image - >>> import requests - - >>> from transformers import AutoImageProcessor, ICTModel - - >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") - >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") - - >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" - >>> image = Image.open(requests.get(url, stream=True).raw) - >>> pixel_values = processor(image, return_tensors="pt").pixel_values - - >>> # create random boolean mask of shape (batch_size, num_patches) - >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() -ask - >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) - ```""" + Returns: + + Example: + ```python + >>> import torch + >>> import numpy as np + >>> from PIL import Image + >>> import requests + + >>> from transformers import AutoImageProcessor, ICTModel + + >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") + >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") + + >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" + >>> image = Image.open(requests.get(url, stream=True).raw) + >>> pixel_values = processor(image, return_tensors="pt").pixel_values + + >>> # create random boolean mask of shape (batch_size, num_patches) + >>> bool_masked_pos = torch.randint( + ... low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1]) + ... ).bool() + + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) + ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict if pixel_values is None: raise ValueError("You have to specify pixel_values") @@ -833,9 +839,9 @@ def forward( ) sequence_output = outputs[0] - + # TODO: Reshaping - + reconstructed_pixel_values = self.guided_upsampler(sequence_output) masked_image_completion_loss = None @@ -849,12 +855,14 @@ def forward( .contiguous() ) reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") - masked_image_completion_loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels + masked_image_completion_loss = ( + (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels + ) if not return_dict: output = (reconstructed_pixel_values,) + outputs[1:] return ((masked_image_completion_loss,) + output) if masked_image_completion_loss is not None else output - + return MaskedImageCompletionOutput( loss=masked_image_completion_loss, reconstruction=reconstructed_pixel_values, diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index a1f95515fbea..ed7fcc046d6d 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -146,13 +146,7 @@ class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): attention_mask and seq_length. """ - all_model_classes = ( - ( - ICTModel, - ) - if is_torch_available() - else () - ) + all_model_classes = (ICTModel,) if is_torch_available() else () pipeline_model_mapping = {"feature-extraction": ICTModel} if is_torch_available() else {} fx_compatible = False From 450b13bc60a6c616b6577a01575992d4f392e40e Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 19 Apr 2023 04:18:04 -0700 Subject: [PATCH 28/70] remove unnecessary params --- src/transformers/models/ict/configuration_ict.py | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 74848940b4f0..ed02741df352 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -41,14 +41,6 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): Args: - learning_rate (`float`, *optional*, defaults to 0.0001): - The desired learning rate of the [`ICTGuidedUpsampler`] model. - dis_gen_learning_rate (`float`, *optional*, defaults to 0.1): - The discriminator/generator learning rate ratio. - adam_beta1 (`float`, *optional*, defaults to 0.0): - The beta1 to use in Adam. - adam_beta2 (`float`, *optional*, defaults to 0.9): - The beta2 to use in Adam. batch_size (`int`, *optional*, defaults to 64): The batch size for training. input_size (`int`, *optional*, defaults to 256): @@ -87,10 +79,6 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): def __init__( self, - learning_rate=0.0001, - dis_gen_learning_rate=0.1, - adam_beta1=0.0, - adam_beta2=0.9, batch_size=64, input_size=256, max_iteration=5e7, @@ -104,10 +92,6 @@ def __init__( ): super().__init__(**kwargs) - self.learning_rate = learning_rate - self.dis_gen_learning_rate = dis_gen_learning_rate - self.adam_beta1 = adam_beta1 - self.adam_beta2 = adam_beta2 self.batch_size = batch_size self.input_size = input_size self.max_iteration = max_iteration From c182635d01b7d6ab9626778e5b5b6977af6cebc2 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 19 Apr 2023 04:35:28 -0700 Subject: [PATCH 29/70] break up into encoder, middle, decoder --- src/transformers/models/ict/modeling_ict.py | 67 +-------------------- 1 file changed, 3 insertions(+), 64 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 64e284e9a4fb..5bac2430f8d8 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -362,8 +362,7 @@ def forward(self, x): return out - -class InpaintGenerator(ICTPretrainedModel): +class InpaintGenerator(nn.Module): def __init__(self, residual_blocks=8): super().__init__() @@ -390,8 +389,6 @@ def __init__(self, residual_blocks=8): nn.Conv2d(in_channels=64, out_channels=3, kernel_size=7, padding=0), ) - self.init_weights() - def forward(self, x): x = self.encoder(x) x = self.middle(x) @@ -401,59 +398,6 @@ def forward(self, x): return x -class Discriminator(ICTPretrainedModel): - def __init__(self, in_channels): - super().__init__() - - self.conv1 = nn.Sequential( - nn.utils.spectral_norm( - nn.Conv2d(in_channels=in_channels, out_channels=64, kernel_size=4, stride=2, padding=1, bias=False) - ), - nn.LeakyReLU(0.2, inplace=True), - ) - - self.conv2 = nn.Sequential( - nn.utils.spectral_norm( - nn.Conv2d(in_channels=64, out_channels=128, kernel_size=4, stride=2, padding=1, bias=False) - ), - nn.LeakyReLU(0.2, inplace=True), - ) - - self.conv3 = nn.Sequential( - nn.utils.spectral_norm( - nn.Conv2d(in_channels=128, out_channels=256, kernel_size=4, stride=2, padding=1, bias=False) - ), - nn.LeakyReLU(0.2, inplace=True), - ) - - self.conv4 = nn.Sequential( - nn.utils.spectral_norm( - nn.Conv2d(in_channels=256, out_channels=512, kernel_size=4, stride=1, padding=1, bias=False) - ), - nn.LeakyReLU(0.2, inplace=True), - ) - - self.conv5 = nn.Sequential( - nn.utils.spectral_norm( - nn.Conv2d(in_channels=512, out_channels=1, kernel_size=4, stride=1, padding=1, bias=False) - ), - ) - - self.init_weights() - - def forward(self, x): - conv1 = self.conv1(x) - conv2 = self.conv2(conv1) - conv3 = self.conv3(conv2) - conv4 = self.conv4(conv3) - conv5 = self.conv5(conv4) - - outputs = conv5 - outputs = torch.sigmoid(conv5) - - return outputs, [conv1, conv2, conv3, conv4, conv5] - - class AdversarialLoss(nn.Module): r""" Adversarial loss https://arxiv.org/abs/1711.10337 @@ -711,13 +655,8 @@ def __init__(self, config: ICTGuidedUpsamplerConfig): super().__init__(config) self.generator = InpaintGenerator(config.residual_blocks) - self.discriminator = Discriminator(in_channels=3, use_sigmoid=config.gan_loss != "hinge") - self.l1_loss = nn.L1Loss() - self.perceptual_loss = PerceptualLoss() - self.style_loss = StyleLoss() - self.adversarial_loss = AdversarialLoss(type=config.gan_loss) - - self.init_weights() + + self.post_init() def forward(self, images, edges, masks): images_masked = (images * (1 - masks).float()) + masks From 98a0247ae9cb6a09ca8b9c9aae7db430233b5a96 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 20 Apr 2023 17:14:11 -0700 Subject: [PATCH 30/70] use num_residual_blocks --- src/transformers/models/ict/configuration_ict.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index ed02741df352..e49599b9fe96 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -47,7 +47,7 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): The input image size for training. (0 for the original size.) max_iteration (`float`, *optional*, defaults to 5e7): The maximum number of iterations to train the model. - residual_blocks (`int`, *optional*, defaults to 8): + num_residual_blocks (`int`, *optional*, defaults to 8): The number of residual blocks. l1_loss_weight (`float`, *optional*, defaults to 1.0): The weight of the L1 loss function. @@ -82,7 +82,7 @@ def __init__( batch_size=64, input_size=256, max_iteration=5e7, - residual_blocks=8, + num_residual_blocks=8, l1_loss_weight=1.0, style_loss_weight=25.0, content_loss_weight=0.1, @@ -95,7 +95,7 @@ def __init__( self.batch_size = batch_size self.input_size = input_size self.max_iteration = max_iteration - self.residual_blocks = residual_blocks + self.num_residual_blocks = num_residual_blocks self.l1_loss_weight = l1_loss_weight self.style_loss_weight = style_loss_weight self.content_loss_weight = content_loss_weight From 7afe32e6bf39c4b1546e548aa12d6228234a2702 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 20 Apr 2023 17:14:22 -0700 Subject: [PATCH 31/70] add more comment about output type --- src/transformers/models/ict/image_processing_ict.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index acfc5539f4eb..1d6b03ebc37f 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -198,7 +198,8 @@ def discretize(self, image: np.ndarray): Image to reduce dimensions. Returns: - `np.ndarray`: The image with reduced dimension with shape of [`size['height']` * `size['width']`]. + `np.ndarray`: The image with reduced dimension with shape of [`size['height']` * `size['width']`] where + each value corresponds to the index of self.clusters. """ image = np.array(image).reshape((-1, 3)) From 45cc569fb5efed338c6caab87bc07280433ce476 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 20 Apr 2023 17:41:14 -0700 Subject: [PATCH 32/70] refactor to use the same structure as ViT --- src/transformers/models/ict/modeling_ict.py | 197 +++++++++++++------- 1 file changed, 128 insertions(+), 69 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 5bac2430f8d8..5a1fa26b9959 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -25,7 +25,7 @@ from torch import nn from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, MaskedImageCompletionOutput +from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageCompletionOutput from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer from ...utils import ( @@ -55,6 +55,42 @@ # See all ICT models at https://huggingface.co/models?filter=ict ] +class ICTEmbeddings(nn.Module): + """ + Construct the embeddings. Optionally, also the mask token. + """ + + def __init__(self, config, use_mask_token=False): + super().__init__() + + self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) + self.position_embedding = nn.Parameter(torch.zeros(1, config.block_size, config.hidden_size)) + self.dropout = nn.Dropout(config.residual_dropout_prob) + + self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None + + def forward( + self, pixel_values: Optional[torch.FloatTensor], bool_masked_pos: Optional[torch.BoolTensor] = None + ) -> Tuple[torch.Tensor]: + batch_size, num_pixel = pixel_values.shape + + embeddings = self.token_embedding(pixel_values) + + if bool_masked_pos is not None: + seq_length = embeddings.shape[1] + mask_tokens = self.mask_token.expand(batch_size, seq_length, -1) + # replace the masked visual tokens by mask_tokens + mask = bool_masked_pos.unsqueeze(-1).type_as(mask_tokens) + embeddings = embeddings * (1.0 - mask) + mask_tokens * mask + + # each position maps to a learnable vector + # NOTE: Need [:, :num_pixel, :]? + position_embeds = self.position_embedding[:, :num_pixel, :] + embeddings = embeddings + position_embeds + embeddings = self.dropout(embeddings) + + return embeddings + # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class ICTSelfAttention(nn.Module): @@ -135,7 +171,7 @@ def forward( return (outputs, attention_probs) if output_attentions else (outputs,) -class ICTBlock(nn.Module): +class ICTLayer(nn.Module): def __init__(self, config): super().__init__() num_embed = config.hidden_size @@ -165,6 +201,56 @@ def forward(self, hidden_states, output_attentions: bool = False): return outputs +class ICTEncoder(nn.Module): + def __init__(self, config: ICTConfig) -> None: + super().__init__() + self.config = config + self.layers = nn.ModuleList([ICTLayer(config) for _ in range(config.num_hidden_layers)]) + self.gradient_checkpointing = False + + def forward( + self, + hidden_states: torch.Tensor, + output_attentions: bool = False, + output_hidden_states: bool = False, + return_dict: bool = True, + ) -> Union[tuple, BaseModelOutput]: + all_hidden_states = () if output_hidden_states else None + all_self_attentions = () if output_attentions else None + + for _, layer in enumerate(self.layers): + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + + if self.gradient_checkpointing and self.training: + + def create_custom_forward(module): + def custom_forward(*inputs): + return module(*inputs, output_attentions) + + return custom_forward + + layer_outputs = torch.utils.checkpoint.checkpoint( + create_custom_forward(layer), + hidden_states, + ) + else: + layer_outputs = layer(hidden_states, output_attentions) + + hidden_states = layer_outputs[0] + + if output_attentions: + all_self_attentions = all_self_attentions + (layer_outputs[1],) + + if not return_dict: + return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) + + return BaseModelOutput( + last_hidden_state=hidden_states, + hidden_states=all_hidden_states, + attentions=all_self_attentions, + ) + # Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict class ICTPretrainedModel(PreTrainedModel): """ @@ -239,18 +325,13 @@ class ICTTransformerModel(ICTPretrainedModel): config_class = ICTTransformerConfig main_input_name = "pixel_values" - def __init__(self, config: ICTTransformerConfig): + def __init__(self, config: ICTTransformerConfig, use_mask_token: bool = False): super().__init__(config) self.config = config - self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) - self.position_embedding = nn.Parameter(torch.zeros(1, config.block_size, config.hidden_size)) - self.drop = nn.Dropout(config.residual_dropout_prob) - - self.gradient_checkpointing = False - self.blocks = nn.ModuleList([ICTBlock(config) for _ in range(config.num_hidden_layers)]) + self.embeddings = ICTEmbeddings(config, use_mask_token=use_mask_token) + self.encoder = ICTEncoder(config) - # Decoder head self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) @@ -258,15 +339,15 @@ def __init__(self, config: ICTTransformerConfig): self.post_init() def get_input_embeddings(self): - return self.token_embedding + return self.embeddings.token_embedding def _prune_heads(self, heads_to_prune: Dict[int, List[int]]) -> None: """ Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base class PreTrainedModel """ - for block, heads in heads_to_prune.items(): - self.blocks[block].attention.prune_heads(heads) + for layer, heads in heads_to_prune.items(): + self.encoder.layers[layer].attention.prune_heads(heads) @add_start_docstrings_to_model_forward(ICT_TRANSFORMER_INPUTS_DOCSTRING) @add_code_sample_docstrings( @@ -284,59 +365,39 @@ def forward( output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, ) -> Union[Tuple, BaseModelOutput]: - all_hidden_states = () if output_hidden_states else None - all_self_attentions = () if output_attentions else None + output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_hidden_states = ( + output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + ) + return_dict = return_dict if return_dict is not None else self.config.use_return_dict if pixel_values is None: raise ValueError("You have to specify pixel_values") + # Unlike ViT, each value in pixel_values is an index that corresponds to the visual vocabulary pixel_values = pixel_values.to(torch.long) - batch_size, num_pixel = pixel_values.size() - - inputs_embeds = self.token_embedding(pixel_values) - - if bool_masked_pos: - masks = bool_masked_pos.unsqueeze(2).ong() - inputs_embeds = inputs_embeds * (1 - masks.long()) - else: - masks = torch.randint(low=0, high=2, size=(batch_size, num_pixel)) - inputs_embeds = inputs_embeds * (1 - masks) - - position_embeds = self.position_embedding[:, :num_pixel, :] - hidden_states = inputs_embeds + position_embeds - hidden_states = self.drop(hidden_states) - - for _, block in enumerate(self.blocks): - if output_hidden_states: - all_hidden_states = all_hidden_states + (hidden_states,) - - if self.gradient_checkpointing and self.training: - - def create_custom_forward(module): - def custom_forward(*inputs): - return module(*inputs, output_attentions) - - return custom_forward - - layer_outputs = torch.utils.checkpoint.checkpoint( - create_custom_forward(block), - hidden_states, - ) - else: - layer_outputs = block(hidden_states, output_attentions) - - hidden_states = layer_outputs[0] - - if output_attentions: - all_self_attentions = all_self_attentions + (layer_outputs[1],) - + + embedding_output = self.embeddings(pixel_values, bool_masked_pos=bool_masked_pos) + + encoder_outputs = self.encoder( + embedding_output, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + sequence_output = encoder_outputs[0] + sequence_output = self.layernorm(sequence_output) + pooled_output = self.head(sequence_output) + if not return_dict: - return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) - - return BaseModelOutput( - last_hidden_state=hidden_states, - hidden_states=all_hidden_states, - attentions=all_self_attentions, + head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) + return head_outputs + encoder_outputs[1:] + + return BaseModelOutputWithPooling( + last_hidden_state=sequence_output, + pooler_output=pooled_output, + hidden_states=encoder_outputs.hidden_states, + attentions=encoder_outputs.attentions, ) @@ -703,7 +764,7 @@ def forward(self, images, edges, masks): class ICTModel(ICTPretrainedModel): config_class = ICTConfig - def __init__(self, config: ICTConfig): + def __init__(self, config: ICTConfig, use_mask_token: bool = True): super().__init__(config) if not isinstance(config.transformer_config, ICTTransformerConfig): @@ -718,11 +779,9 @@ def __init__(self, config: ICTConfig): f" {type(config.guided_upsampler_config)}." ) - transformer_config = config.transformer_config - guided_upsampler_config = config.guided_upsampler_config self.config = config - self.transformer = ICTTransformerModel(transformer_config) - self.guided_upsampler = ICTGuidedUpsampler(guided_upsampler_config) + self.transformer = ICTTransformerModel(config.transformer_config, use_mask_token=use_mask_token) + self.guided_upsampler = ICTGuidedUpsampler(config.guided_upsampler_config) # Initialize weights and apply final processing self.post_init() @@ -783,7 +842,7 @@ def forward( reconstructed_pixel_values = self.guided_upsampler(sequence_output) - masked_image_completion_loss = None + loss = None if bool_masked_pos is not None: size = self.config.image_size // self.config.patch_size bool_masked_pos = bool_masked_pos.reshape(-1, size, size) @@ -794,16 +853,16 @@ def forward( .contiguous() ) reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") - masked_image_completion_loss = ( + loss = ( (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels ) if not return_dict: output = (reconstructed_pixel_values,) + outputs[1:] - return ((masked_image_completion_loss,) + output) if masked_image_completion_loss is not None else output + return ((loss,) + output) if loss is not None else output return MaskedImageCompletionOutput( - loss=masked_image_completion_loss, + loss=loss, reconstruction=reconstructed_pixel_values, hidden_states=outputs.hidden_states, attentions=outputs.attentions, From d498b5b697511eb3f8757502c92d571274bc192c Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 20 Apr 2023 17:50:25 -0700 Subject: [PATCH 33/70] fix boolean masking part --- src/transformers/models/ict/configuration_ict.py | 5 ++--- .../models/ict/image_processing_ict.py | 2 +- src/transformers/models/ict/modeling_ict.py | 16 ++++++++-------- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index e49599b9fe96..fd7c47ae1fb5 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -139,7 +139,7 @@ class ICTTransformerConfig(PretrainedConfig): The standard deviation of the truncated_normal_initializer for initializing all weight matrices. layer_norm_eps (`float`, *optional*, defaults to 1e-12): The epsilon used by the layer normalization layers. - image_size (`int`, *optional*, defaults to `32`): + image_size (`int`, *optional*, defaults to `1024`): The size (resolution) of each image. num_channels (`int`, *optional*, defaults to `3`): The number of input channels. @@ -175,7 +175,7 @@ def __init__( attention_probs_dropout_prob=0.0, initializer_range=0.02, layer_norm_eps=1e-12, - image_size=32, + image_size=1024, num_channels=3, qkv_bias=False, **kwargs, @@ -194,7 +194,6 @@ def __init__( self.initializer_range = initializer_range self.layer_norm_eps = layer_norm_eps self.image_size = image_size - self.block_size = self.image_size * self.image_size self.num_channels = num_channels self.qkv_bias = qkv_bias diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 1d6b03ebc37f..6906326d53d2 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -312,7 +312,7 @@ def preprocess( # Copied from transformers.models.imagegpt.image_processing_imagegpt.preprocess if do_discretize: images = [to_channel_dimension_format(image, data_format) for image in images] - # reshape each image to (image_size * image_size) + # reshape each image to image_size images = [self.discretize(image=image) for image in images] else: images = [to_channel_dimension_format(image, data_format) for image in images] diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 5a1fa26b9959..08bfa0a87ada 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -64,7 +64,7 @@ def __init__(self, config, use_mask_token=False): super().__init__() self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) - self.position_embedding = nn.Parameter(torch.zeros(1, config.block_size, config.hidden_size)) + self.position_embedding = nn.Parameter(torch.zeros(1, config.image_size, config.hidden_size)) self.dropout = nn.Dropout(config.residual_dropout_prob) self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None @@ -826,8 +826,6 @@ def forward( if pixel_values is None: raise ValueError("You have to specify pixel_values") - height, width = pixel_values.shape[2:] - outputs = self.tranformer( pixel_values, bool_masked_pos=bool_masked_pos, @@ -838,17 +836,19 @@ def forward( sequence_output = outputs[0] - # TODO: Reshaping + sequence_output = sequence_output[:, 1:] + batch_size, sequence_length, num_channels = sequence_output.shape + height = width = math.floor(sequence_length**0.5) + sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) reconstructed_pixel_values = self.guided_upsampler(sequence_output) loss = None if bool_masked_pos is not None: - size = self.config.image_size // self.config.patch_size - bool_masked_pos = bool_masked_pos.reshape(-1, size, size) + bool_masked_pos = bool_masked_pos.reshape(-1, self.config.image_size, self.config.image_size) mask = ( - bool_masked_pos.repeat_interleave(self.config.patch_size, 1) - .repeat_interleave(self.config.patch_size, 2) + bool_masked_pos.repeat_interleave(1, 1) + .repeat_interleave(1, 2) .unsqueeze(1) .contiguous() ) From fcb61488036f320f11ecf05d79ec26d46a2a3672 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 20 Apr 2023 17:54:12 -0700 Subject: [PATCH 34/70] make style and quality --- src/transformers/models/ict/modeling_ict.py | 70 ++++++++++----------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 08bfa0a87ada..0ef750cdddcf 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -55,6 +55,7 @@ # See all ICT models at https://huggingface.co/models?filter=ict ] + class ICTEmbeddings(nn.Module): """ Construct the embeddings. Optionally, also the mask token. @@ -66,14 +67,14 @@ def __init__(self, config, use_mask_token=False): self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) self.position_embedding = nn.Parameter(torch.zeros(1, config.image_size, config.hidden_size)) self.dropout = nn.Dropout(config.residual_dropout_prob) - + self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None def forward( self, pixel_values: Optional[torch.FloatTensor], bool_masked_pos: Optional[torch.BoolTensor] = None ) -> Tuple[torch.Tensor]: batch_size, num_pixel = pixel_values.shape - + embeddings = self.token_embedding(pixel_values) if bool_masked_pos is not None: @@ -85,7 +86,7 @@ def forward( # each position maps to a learnable vector # NOTE: Need [:, :num_pixel, :]? - position_embeds = self.position_embedding[:, :num_pixel, :] + position_embeds = self.position_embedding[:, :num_pixel, :] embeddings = embeddings + position_embeds embeddings = self.dropout(embeddings) @@ -207,7 +208,7 @@ def __init__(self, config: ICTConfig) -> None: self.config = config self.layers = nn.ModuleList([ICTLayer(config) for _ in range(config.num_hidden_layers)]) self.gradient_checkpointing = False - + def forward( self, hidden_states: torch.Tensor, @@ -217,7 +218,7 @@ def forward( ) -> Union[tuple, BaseModelOutput]: all_hidden_states = () if output_hidden_states else None all_self_attentions = () if output_attentions else None - + for _, layer in enumerate(self.layers): if output_hidden_states: all_hidden_states = all_hidden_states + (hidden_states,) @@ -251,6 +252,7 @@ def custom_forward(*inputs): attentions=all_self_attentions, ) + # Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict class ICTPretrainedModel(PreTrainedModel): """ @@ -376,9 +378,9 @@ def forward( # Unlike ViT, each value in pixel_values is an index that corresponds to the visual vocabulary pixel_values = pixel_values.to(torch.long) - + embedding_output = self.embeddings(pixel_values, bool_masked_pos=bool_masked_pos) - + encoder_outputs = self.encoder( embedding_output, output_attentions=output_attentions, @@ -388,11 +390,11 @@ def forward( sequence_output = encoder_outputs[0] sequence_output = self.layernorm(sequence_output) pooled_output = self.head(sequence_output) - + if not return_dict: head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) return head_outputs + encoder_outputs[1:] - + return BaseModelOutputWithPooling( last_hidden_state=sequence_output, pooler_output=pooled_output, @@ -423,6 +425,7 @@ def forward(self, x): return out + class InpaintGenerator(nn.Module): def __init__(self, residual_blocks=8): super().__init__() @@ -716,7 +719,7 @@ def __init__(self, config: ICTGuidedUpsamplerConfig): super().__init__(config) self.generator = InpaintGenerator(config.residual_blocks) - + self.post_init() def forward(self, images, edges, masks): @@ -797,31 +800,29 @@ def forward( return_dict: Optional[bool] = None, ) -> Union[Tuple, BaseModelOutput]: r""" - Returns: + Returns: - Example: - ```python - >>> import torch - >>> import numpy as np - >>> from PIL import Image - >>> import requests + Example: + ```python + >>> import torch + >>> import numpy as np + >>> from PIL import Image + >>> import requests - >>> from transformers import AutoImageProcessor, ICTModel + >>> from transformers import AutoImageProcessor, ICTModel - >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") - >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") + >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") + >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") - >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" - >>> image = Image.open(requests.get(url, stream=True).raw) - >>> pixel_values = processor(image, return_tensors="pt").pixel_values + >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" + >>> image = Image.open(requests.get(url, stream=True).raw) + >>> pixel_values = processor(image, return_tensors="pt").pixel_values - >>> # create random boolean mask of shape (batch_size, num_patches) - >>> bool_masked_pos = torch.randint( - ... low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1]) - ... ).bool() + >>> # create random boolean mask of shape (batch_size, num_patches) + >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() - >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) - ```""" + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) + ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict if pixel_values is None: raise ValueError("You have to specify pixel_values") @@ -846,16 +847,9 @@ def forward( loss = None if bool_masked_pos is not None: bool_masked_pos = bool_masked_pos.reshape(-1, self.config.image_size, self.config.image_size) - mask = ( - bool_masked_pos.repeat_interleave(1, 1) - .repeat_interleave(1, 2) - .unsqueeze(1) - .contiguous() - ) + mask = bool_masked_pos.repeat_interleave(1, 1).repeat_interleave(1, 2).unsqueeze(1).contiguous() reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") - loss = ( - (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels - ) + loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels if not return_dict: output = (reconstructed_pixel_values,) + outputs[1:] From c1cbdd80ec19c473059aaaaf281c842cd46a6475 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Tue, 25 Apr 2023 18:42:11 -0700 Subject: [PATCH 35/70] changes per comments first pass --- .../models/ict/configuration_ict.py | 18 +-- .../models/ict/image_processing_ict.py | 40 +++--- src/transformers/models/ict/modeling_ict.py | 118 ++++-------------- 3 files changed, 53 insertions(+), 123 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index fd7c47ae1fb5..11a7b10be8da 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -41,8 +41,6 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): Args: - batch_size (`int`, *optional*, defaults to 64): - The batch size for training. input_size (`int`, *optional*, defaults to 256): The input image size for training. (0 for the original size.) max_iteration (`float`, *optional*, defaults to 5e7): @@ -79,7 +77,6 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): def __init__( self, - batch_size=64, input_size=256, max_iteration=5e7, num_residual_blocks=8, @@ -92,7 +89,6 @@ def __init__( ): super().__init__(**kwargs) - self.batch_size = batch_size self.input_size = input_size self.max_iteration = max_iteration self.num_residual_blocks = num_residual_blocks @@ -139,9 +135,9 @@ class ICTTransformerConfig(PretrainedConfig): The standard deviation of the truncated_normal_initializer for initializing all weight matrices. layer_norm_eps (`float`, *optional*, defaults to 1e-12): The epsilon used by the layer normalization layers. - image_size (`int`, *optional*, defaults to `1024`): + image_size (`int`, *optional*, defaults to 1024): The size (resolution) of each image. - num_channels (`int`, *optional*, defaults to `3`): + num_channels (`int`, *optional*, defaults to 3): The number of input channels. qkv_bias (`bool`, *optional*, defaults to `False`): Whether to add a bias to the queries, keys and values. @@ -200,13 +196,14 @@ def __init__( class ICTConfig(PretrainedConfig): r""" - Args: - [`ICTConfig`] is the configuration class to store the configuration of a [`ICTMdel`]. It is used to instantiate an + This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256) architecture. Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. + + Args: transformer_config (`dict`, *optional*): Dictionary of configuration options used to initialize [`ICTTransformerConfig`]. guided_upsampler_config (`dict`, *optional*): @@ -219,14 +216,17 @@ class ICTConfig(PretrainedConfig): >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-256 style configuration >>> configuration = ICTConfig() + >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-256 style configuration >>> model = ICTModel(configuration) + >>> # Accessing the model configuration >>> configuration = model.config + >>> # We can also initialize a ICTConfig from a ICTTransformerConfig and a ICTGuidedUpsamplerConfig >>> from transformers import ICTTransformerConfig, ICTGuidedUpsamplerConfig - >>> # Initializing ALIGN Text and Vision configurations + >>> # Initializing ICT Transformer and GuidedUpsampler configurations >>> config_transformer = ICTTransformerConfig() >>> config_guided_upsampler = ICTGuidedUpsamplerConfig() >>> config = ICTConfig.from_text_guided_upsampler_configs(config_transformer, config_guided_upsampler) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 6906326d53d2..752e0d8ba17a 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -58,7 +58,7 @@ class ICTImageProcessor(BaseImageProcessor): rescale_factor (`int` or `float`, *optional*, defaults to `1/255`): Scale factor to use if rescaling the image. Can be overridden by the `rescale_factor` parameter in the `preprocess` method. - do_normalize: + do_normalize (`bool`, *optional*, defaults to `True`):: Whether to normalize the image. Can be overridden by the `do_normalize` parameter in the `preprocess` method. image_mean (`float` or `List[float]`, *optional*, defaults to `IMAGENET_STANDARD_MEAN`): @@ -67,6 +67,12 @@ class ICTImageProcessor(BaseImageProcessor): image_std (`float` or `List[float]`, *optional*, defaults to `IMAGENET_STANDARD_STD`): Standard deviation to use if normalizing the image. This is a float or list of floats the length of the number of channels in the image. Can be overridden by the `image_std` parameter in the `preprocess` method. + do_color_quantize (`bool`, *optional*, defaults to `self.do_color_quantize`): + Whether to color quantize the image. Can be overridden by the `do_color_quantize` parameter in the `preprocess` + method. + clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): + Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_color_quantize` + is set to `True`. """ model_input_names = ["pixel_values"] @@ -81,7 +87,7 @@ def __init__( do_normalize: bool = True, image_mean: Optional[Union[float, List[float]]] = None, image_std: Optional[Union[float, List[float]]] = None, - do_discretize: bool = True, + do_color_quantize: bool = True, clusters: Optional[np.ndarray] = None, **kwargs, ) -> None: @@ -96,7 +102,7 @@ def __init__( self.rescale_factor = rescale_factor self.image_mean = image_mean if image_mean is not None else IMAGENET_STANDARD_MEAN self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD - self.do_discretize = do_discretize + self.do_color_quantize = do_color_quantize self.clusters = np.array(clusters) if clusters is not None else self.get_image_net_clusters() def get_image_net_clusters(self): @@ -188,9 +194,9 @@ def normalize( """ return normalize(image, mean=mean, std=std, data_format=data_format, **kwargs) - def discretize(self, image: np.ndarray): + def color_quantize(self, image: np.ndarray, clusters: Optional[np.ndarray] = None): """ - Reduce the dimension by using an extra visual vocabulary with spatial size 512 × 3, which was generated using + Reduce the dimension by using an extra visual vocabulary with spatial size num_clusters × 3, which was generated using k-means clustered centers of the ImageNet RGB pixel spaces. Args: @@ -198,14 +204,14 @@ def discretize(self, image: np.ndarray): Image to reduce dimensions. Returns: - `np.ndarray`: The image with reduced dimension with shape of [`size['height']` * `size['width']`] where - each value corresponds to the index of self.clusters. + `np.ndarray`: The image with reduced dimension of shape `[input_height * input_width]` where + each value corresponds to the index of clusters. """ image = np.array(image).reshape((-1, 3)) image = image.astype(np.float32) # Copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L98 - image = ((image[:, None, :] - self.clusters[None, :, :]) ** 2).sum(-1).argmin(1) + image = ((image[:, None, :] - clusters[None, :, :]) ** 2).sum(-1).argmin(1) return image def preprocess( @@ -219,7 +225,7 @@ def preprocess( do_normalize: Optional[bool] = None, image_mean: Optional[Union[float, List[float]]] = None, image_std: Optional[Union[float, List[float]]] = None, - do_discretize: bool = True, + do_color_quantize: bool = True, clusters: Optional[np.ndarray] = None, return_tensors: Optional[Union[str, TensorType]] = None, data_format: Union[str, ChannelDimension] = ChannelDimension.FIRST, @@ -249,10 +255,10 @@ def preprocess( Image mean to use if `do_normalize` is set to `True`. image_std (`float` or `List[float]`, *optional*, defaults to `self.image_std`): Image standard deviation to use if `do_normalize` is set to `True`. - do_discretize (`bool`, *optional*, defaults to `self.do_color_quantize`): - Whether to discretize the image. + do_color_quantize (`bool`, *optional*, defaults to `self.do_color_quantize`): + Whether to color quantize the image. clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): - Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_discretize` + Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_color_quantize` is set to `True`. return_tensors (`str` or `TensorType`, *optional*): The type of tensors to return. Can be one of: @@ -274,7 +280,7 @@ def preprocess( rescale_factor = rescale_factor if rescale_factor is not None else self.rescale_factor image_mean = image_mean if image_mean is not None else self.image_mean image_std = image_std if image_std is not None else self.image_std - do_discretize = do_discretize if do_discretize is not None else self.do_discretize + do_color_quantize = do_color_quantize if do_color_quantize is not None else self.do_color_quantize clusters = clusters if clusters is not None else self.clusters size = size if size is not None else self.size @@ -294,8 +300,8 @@ def preprocess( if do_rescale and rescale_factor is None: raise ValueError("Rescale factor must be specified if do_rescale is True.") - if do_discretize and clusters is None: - raise ValueError("Clusters must be specified if do_discretize is True.") + if do_color_quantize and clusters is None: + raise ValueError("Clusters must be specified if do_color_quantize is True.") # All transformations expect numpy arrays. images = [to_numpy_array(image) for image in images] @@ -310,10 +316,10 @@ def preprocess( images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] # Copied from transformers.models.imagegpt.image_processing_imagegpt.preprocess - if do_discretize: + if do_color_quantize: images = [to_channel_dimension_format(image, data_format) for image in images] # reshape each image to image_size - images = [self.discretize(image=image) for image in images] + images = [self.color_quantize(image=image, clusters=clusters) for image in images] else: images = [to_channel_dimension_format(image, data_format) for image in images] diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 0ef750cdddcf..ad18ea50f00c 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -29,7 +29,6 @@ from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer from ...utils import ( - add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, logging, @@ -179,9 +178,9 @@ def __init__(self, config): intermediate_size = config.intermediate_size self.intermediate_act_fn = ACT2FN[config.activation_function] - self.ln_1 = nn.LayerNorm(num_embed) + self.ln_1 = nn.LayerNorm(num_embed, eps=config.layer_norm_eps) self.attention = ICTSelfAttention(config) - self.ln_2 = nn.LayerNorm(num_embed) + self.ln_2 = nn.LayerNorm(num_embed, eps=config.layer_norm_eps) self.mlp = nn.Sequential( nn.Linear(num_embed, intermediate_size), self.intermediate_act_fn, @@ -282,46 +281,6 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: if isinstance(module, (ICTTransformerModel, ICTGuidedUpsampler)): module.gradient_checkpointing = value - -ICT_TRANSFORMER_START_DOCSTRING = r""" - This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the - library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads - etc.) - - This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it - as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and - behavior. - - Parameters: - config ([`ICTTransformerConfig`]): Model configuration class with all the parameters of the model. - Initializing with a config file does not load the weights associated with the model, only the - configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. -""" - - -ICT_TRANSFORMER_INPUTS_DOCSTRING = r""" - Args: - pixel_values (`torch.FloatTensor` of shape `(batch_size, height * width)`): - Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] - for details. - bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): - Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random - masks if not provided. - output_attentions (`bool`, *optional*): - Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned - tensors for more detail. - output_hidden_states (`bool`, *optional*): - Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for - more detail. - return_dict (`bool`, *optional*): - Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. -""" - - -@add_start_docstrings( - "The transformer for outputting raw hidden-states without any specific head on top.", - ICT_TRANSFORMER_START_DOCSTRING, -) # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class ICTTransformerModel(ICTPretrainedModel): config_class = ICTTransformerConfig @@ -351,14 +310,6 @@ class PreTrainedModel for layer, heads in heads_to_prune.items(): self.encoder.layers[layer].attention.prune_heads(heads) - @add_start_docstrings_to_model_forward(ICT_TRANSFORMER_INPUTS_DOCSTRING) - @add_code_sample_docstrings( - checkpoint=_CHECKPOINT_FOR_DOC, - output_type=BaseModelOutput, - config_class=_CONFIG_FOR_DOC, - modality="vision", - expected_output=_EXPECTED_OUTPUT_SHAPE, - ) def forward( self, pixel_values: Optional[torch.Tensor] = None, @@ -403,31 +354,31 @@ def forward( ) -class ResnetBlock(nn.Module): - def __init__(self, dim): +class ICTResnetBlock(nn.Module): + """ + ResNet block without the final ReLU (https://torch.ch/blog/2016/02/04/resnets.html). + """ + def __init__(self): super().__init__() self.conv_block = nn.Sequential( nn.ReflectionPad2d(2), nn.utils.spectral_norm( - nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=2, bias=False) + nn.Conv2d(in_channels=256, out_channels=256, kernel_size=3, padding=0, dilation=2, bias=False) ), nn.ReLU(True), nn.ReflectionPad2d(1), nn.utils.spectral_norm( - nn.Conv2d(in_channels=dim, out_channels=dim, kernel_size=3, padding=0, dilation=1, bias=False) + nn.Conv2d(in_channels=256, out_channels=256, kernel_size=3, padding=0, dilation=1, bias=False) ), ) def forward(self, x): out = x + self.conv_block(x) - # Remove ReLU at the end of the residual block - # http://torch.ch/blog/2016/02/04/resnets.html - return out -class InpaintGenerator(nn.Module): - def __init__(self, residual_blocks=8): +class ICTInpaintGenerator(nn.Module): + def __init__(self, config): super().__init__() self.encoder = nn.Sequential( @@ -440,7 +391,7 @@ def __init__(self, residual_blocks=8): nn.ReLU(True), ) - blocks = [ResnetBlock(256) for _ in range(residual_blocks)] + blocks = [ICTResnetBlock(256) for _ in range(config.num_residual_blocks)] self.middle = nn.Sequential(*blocks) @@ -462,7 +413,7 @@ def forward(self, x): return x -class AdversarialLoss(nn.Module): +class ICTAdversarialLoss(nn.Module): r""" Adversarial loss https://arxiv.org/abs/1711.10337 """ @@ -501,7 +452,7 @@ def __call__(self, outputs, is_real, is_discriminator=None): return loss -class StyleLoss(nn.Module): +class ICTStyleLoss(nn.Module): r""" Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py @@ -514,10 +465,10 @@ def __init__(self): def compute_gram_matrix(self, x): batch_size, channels, height, width = x.size() - f = x.view(batch_size, channels, width * height) - G = f.bmm(f.transpose(1, 2)) / (height * width * channels) + features = x.view(batch_size, channels, width * height) + gram = features.bmm(features.transpose(1, 2)) / (height * width * channels) - return G + return gram def __call__(self, x, y): # Compute features @@ -541,17 +492,17 @@ def __call__(self, x, y): return style_loss -class PerceptualLoss(nn.Module): +class ICTPerceptualLoss(nn.Module): r""" Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py """ - def __init__(self, weights=[1.0, 1.0, 1.0, 1.0, 1.0]): + def __init__(self, weights=None): super().__init__() self.add_module("vgg", VGG19()) self.criterion = torch.nn.L1Loss() - self.weights = weights + self.weights = weights if weights is not None else [1.0, 1.0, 1.0, 1.0, 1.0] def __call__(self, x, y): # Compute features @@ -687,38 +638,11 @@ def forward(self, x): return out -ICT_GUIDED_UP_SAMPLER_START_DOCSTRING = r""" - This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the - library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads - etc.) - - This model is a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. Use it - as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage and - behavior. - - Parameters: - config ([`ICTGuidedUpsamplerConfig`]): Model configuration class with all the parameters of the model. - Initializing with a config file does not load the weights associated with the model, only the - configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. -""" - -ICT_GUIDED_UP_SAMPLER_INPUTS_DOCSTRING = r""" - Args: - pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): - Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] - for details. -""" - - -@add_start_docstrings( - "The guided sampler for outputting the completed images.", - ICT_GUIDED_UP_SAMPLER_START_DOCSTRING, -) class ICTGuidedUpsampler(ICTPretrainedModel): def __init__(self, config: ICTGuidedUpsamplerConfig): super().__init__(config) - self.generator = InpaintGenerator(config.residual_blocks) + self.generator = ICTInpaintGenerator(config) self.post_init() From 177d2de43b8168809ee59edd117c59eece70c792 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Tue, 25 Apr 2023 21:28:24 -0700 Subject: [PATCH 36/70] make style and quality --- src/transformers/models/ict/configuration_ict.py | 12 ++++++------ .../models/ict/image_processing_ict.py | 16 ++++++++-------- src/transformers/models/ict/modeling_ict.py | 2 ++ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 11a7b10be8da..04ba3d727839 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -196,13 +196,13 @@ def __init__( class ICTConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an - ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. + This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT + model according to the specified arguments, defining the transformer model and guided upsampler configs. Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256) architecture. Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. - + Args: transformer_config (`dict`, *optional*): Dictionary of configuration options used to initialize [`ICTTransformerConfig`]. @@ -216,13 +216,13 @@ class ICTConfig(PretrainedConfig): >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-256 style configuration >>> configuration = ICTConfig() - + >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-256 style configuration >>> model = ICTModel(configuration) - + >>> # Accessing the model configuration >>> configuration = model.config - + >>> # We can also initialize a ICTConfig from a ICTTransformerConfig and a ICTGuidedUpsamplerConfig >>> from transformers import ICTTransformerConfig, ICTGuidedUpsamplerConfig diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 752e0d8ba17a..a2c5d3112c78 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -68,8 +68,8 @@ class ICTImageProcessor(BaseImageProcessor): Standard deviation to use if normalizing the image. This is a float or list of floats the length of the number of channels in the image. Can be overridden by the `image_std` parameter in the `preprocess` method. do_color_quantize (`bool`, *optional*, defaults to `self.do_color_quantize`): - Whether to color quantize the image. Can be overridden by the `do_color_quantize` parameter in the `preprocess` - method. + Whether to color quantize the image. Can be overridden by the `do_color_quantize` parameter in the + `preprocess` method. clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_color_quantize` is set to `True`. @@ -196,16 +196,16 @@ def normalize( def color_quantize(self, image: np.ndarray, clusters: Optional[np.ndarray] = None): """ - Reduce the dimension by using an extra visual vocabulary with spatial size num_clusters × 3, which was generated using - k-means clustered centers of the ImageNet RGB pixel spaces. + Reduce the dimension by using an extra visual vocabulary with spatial size num_clusters × 3, which was + generated using k-means clustered centers of the ImageNet RGB pixel spaces. Args: image (`np.ndarray`): Image to reduce dimensions. Returns: - `np.ndarray`: The image with reduced dimension of shape `[input_height * input_width]` where - each value corresponds to the index of clusters. + `np.ndarray`: The image with reduced dimension of shape `[input_height * input_width]` where each value + corresponds to the index of clusters. """ image = np.array(image).reshape((-1, 3)) @@ -258,8 +258,8 @@ def preprocess( do_color_quantize (`bool`, *optional*, defaults to `self.do_color_quantize`): Whether to color quantize the image. clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): - Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_color_quantize` - is set to `True`. + Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if + `do_color_quantize` is set to `True`. return_tensors (`str` or `TensorType`, *optional*): The type of tensors to return. Can be one of: - Unset: Return a list of `np.ndarray`. diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index ad18ea50f00c..17760033100f 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -281,6 +281,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: if isinstance(module, (ICTTransformerModel, ICTGuidedUpsampler)): module.gradient_checkpointing = value + # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class ICTTransformerModel(ICTPretrainedModel): config_class = ICTTransformerConfig @@ -358,6 +359,7 @@ class ICTResnetBlock(nn.Module): """ ResNet block without the final ReLU (https://torch.ch/blog/2016/02/04/resnets.html). """ + def __init__(self): super().__init__() self.conv_block = nn.Sequential( From 4077b0491229aaf5deb052b690343d72f229dcea Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 27 Apr 2023 10:35:24 -0700 Subject: [PATCH 37/70] rename ICT to Ict --- docs/source/en/model_doc/ict.mdx | 8 +- src/transformers/__init__.py | 16 ++-- .../models/auto/configuration_auto.py | 2 +- .../models/auto/image_processing_auto.py | 2 +- src/transformers/models/auto/modeling_auto.py | 2 +- src/transformers/models/ict/__init__.py | 16 ++-- .../models/ict/configuration_ict.py | 68 ++++++++-------- .../models/ict/image_processing_ict.py | 2 +- src/transformers/models/ict/modeling_ict.py | 80 +++++++++---------- tests/models/ict/test_image_processing_ict.py | 10 +-- tests/models/ict/test_modeling_ict.py | 26 +++--- 11 files changed, 116 insertions(+), 116 deletions(-) diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx index 3a56386aa72f..1979db2af93e 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.mdx @@ -29,11 +29,11 @@ This model was contributed by [INSERT YOUR HF USERNAME HERE](https://huggingface The original code can be found [here](). -## ICTConfig +## IctConfig -[[autodoc]] ICTConfig +[[autodoc]] IctConfig -## ICTModel +## IctModel -[[autodoc]] ICTModel +[[autodoc]] IctModel - forward diff --git a/src/transformers/__init__.py b/src/transformers/__init__.py index 0832444227ee..36ca591dc503 100644 --- a/src/transformers/__init__.py +++ b/src/transformers/__init__.py @@ -330,7 +330,7 @@ "models.herbert": ["HerbertTokenizer"], "models.hubert": ["HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "HubertConfig"], "models.ibert": ["IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP", "IBertConfig"], - "models.ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ICTConfig"], + "models.ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "IctConfig"], "models.imagegpt": ["IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ImageGPTConfig"], "models.informer": ["INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP", "InformerConfig"], "models.instructblip": [ @@ -910,7 +910,7 @@ _import_structure["models.efficientnet"].append("EfficientNetImageProcessor") _import_structure["models.flava"].extend(["FlavaFeatureExtractor", "FlavaImageProcessor", "FlavaProcessor"]) _import_structure["models.glpn"].extend(["GLPNFeatureExtractor", "GLPNImageProcessor"]) - _import_structure["models.ict"].extend(["ICTImageProcessor"]) + _import_structure["models.ict"].extend(["IctImageProcessor"]) _import_structure["models.imagegpt"].extend(["ImageGPTFeatureExtractor", "ImageGPTImageProcessor"]) _import_structure["models.layoutlmv2"].extend(["LayoutLMv2FeatureExtractor", "LayoutLMv2ImageProcessor"]) _import_structure["models.layoutlmv3"].extend(["LayoutLMv3FeatureExtractor", "LayoutLMv3ImageProcessor"]) @@ -1837,8 +1837,8 @@ _import_structure["models.ict"].extend( [ "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTModel", - "ICTPreTrainedModel", + "IctModel", + "IctPreTrainedModel", ] ) _import_structure["models.imagegpt"].extend( @@ -4210,7 +4210,7 @@ from .models.herbert import HerbertTokenizer from .models.hubert import HUBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, HubertConfig from .models.ibert import IBERT_PRETRAINED_CONFIG_ARCHIVE_MAP, IBertConfig - from .models.ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig + from .models.ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, IctConfig from .models.imagegpt import IMAGEGPT_PRETRAINED_CONFIG_ARCHIVE_MAP, ImageGPTConfig from .models.informer import INFORMER_PRETRAINED_CONFIG_ARCHIVE_MAP, InformerConfig from .models.instructblip import ( @@ -4729,7 +4729,7 @@ from .models.efficientnet import EfficientNetImageProcessor from .models.flava import FlavaFeatureExtractor, FlavaImageProcessor, FlavaProcessor from .models.glpn import GLPNFeatureExtractor, GLPNImageProcessor - from .models.ict import ICTImageProcessor + from .models.ict import IctImageProcessor from .models.imagegpt import ImageGPTFeatureExtractor, ImageGPTImageProcessor from .models.layoutlmv2 import LayoutLMv2FeatureExtractor, LayoutLMv2ImageProcessor from .models.layoutlmv3 import LayoutLMv3FeatureExtractor, LayoutLMv3ImageProcessor @@ -5499,8 +5499,8 @@ ) from .models.ict import ( ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTModel, - ICTPreTrainedModel, + IctModel, + IctPreTrainedModel, ) from .models.imagegpt import ( IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST, diff --git a/src/transformers/models/auto/configuration_auto.py b/src/transformers/models/auto/configuration_auto.py index f3f111d3db33..6dd4b1b502d7 100755 --- a/src/transformers/models/auto/configuration_auto.py +++ b/src/transformers/models/auto/configuration_auto.py @@ -105,7 +105,7 @@ ("groupvit", "GroupViTConfig"), ("hubert", "HubertConfig"), ("ibert", "IBertConfig"), - ("ict", "ICTConfig"), + ("ict", "IctConfig"), ("imagegpt", "ImageGPTConfig"), ("informer", "InformerConfig"), ("instructblip", "InstructBlipConfig"), diff --git a/src/transformers/models/auto/image_processing_auto.py b/src/transformers/models/auto/image_processing_auto.py index e73946d782d7..d3c2db1af300 100644 --- a/src/transformers/models/auto/image_processing_auto.py +++ b/src/transformers/models/auto/image_processing_auto.py @@ -65,7 +65,7 @@ ("git", "CLIPImageProcessor"), ("glpn", "GLPNImageProcessor"), ("groupvit", "CLIPImageProcessor"), - ("ict", "ICTImageProcessor"), + ("ict", "IctImageProcessor"), ("imagegpt", "ImageGPTImageProcessor"), ("instructblip", "BlipImageProcessor"), ("layoutlmv2", "LayoutLMv2ImageProcessor"), diff --git a/src/transformers/models/auto/modeling_auto.py b/src/transformers/models/auto/modeling_auto.py index 42ad1215d159..1a1128d916e9 100755 --- a/src/transformers/models/auto/modeling_auto.py +++ b/src/transformers/models/auto/modeling_auto.py @@ -103,7 +103,7 @@ ("groupvit", "GroupViTModel"), ("hubert", "HubertModel"), ("ibert", "IBertModel"), - ("ict", "ICTModel"), + ("ict", "IctModel"), ("imagegpt", "ImageGPTModel"), ("informer", "InformerModel"), ("jukebox", "JukeboxModel"), diff --git a/src/transformers/models/ict/__init__.py b/src/transformers/models/ict/__init__.py index 1cb050a82bc1..b58bca645d16 100644 --- a/src/transformers/models/ict/__init__.py +++ b/src/transformers/models/ict/__init__.py @@ -23,7 +23,7 @@ ) -_import_structure = {"configuration_ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "ICTConfig", "ICTOnnxConfig"]} +_import_structure = {"configuration_ict": ["ICT_PRETRAINED_CONFIG_ARCHIVE_MAP", "IctConfig"]} try: if not is_vision_available(): @@ -31,7 +31,7 @@ except OptionalDependencyNotAvailable: pass else: - _import_structure["image_processing_ict"] = ["ICTImageProcessor"] + _import_structure["image_processing_ict"] = ["IctImageProcessor"] try: if not is_torch_available(): @@ -41,12 +41,12 @@ else: _import_structure["modeling_ict"] = [ "ICT_PRETRAINED_MODEL_ARCHIVE_LIST", - "ICTModel", - "ICTPreTrainedModel", + "IctModel", + "IctPreTrainedModel", ] if TYPE_CHECKING: - from .configuration_ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, ICTConfig, ICTOnnxConfig + from .configuration_ict import ICT_PRETRAINED_CONFIG_ARCHIVE_MAP, IctConfig try: if not is_vision_available(): @@ -54,7 +54,7 @@ except OptionalDependencyNotAvailable: pass else: - from .image_processing_ict import ICTImageProcessor + from .image_processing_ict import IctImageProcessor try: if not is_torch_available(): @@ -64,8 +64,8 @@ else: from .modeling_ict import ( ICT_PRETRAINED_MODEL_ARCHIVE_LIST, - ICTModel, - ICTPreTrainedModel, + IctModel, + IctPreTrainedModel, ) else: diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 04ba3d727839..19020380baaa 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -29,12 +29,12 @@ } -class ICTGuidedUpsamplerConfig(PretrainedConfig): +class IctGuidedUpsamplerConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTGuidedUpsampler`]. It is used to instantiate - an [`ICTGuidedUpsampler`] model according to the specified arguments, defining the model architecture. + This is the configuration class to store the configuration of a [`IctGuidedUpsampler`]. It is used to instantiate + an [`IctGuidedUpsampler`] model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the - [ICTGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). + [IctGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. @@ -62,13 +62,13 @@ class ICTGuidedUpsamplerConfig(PretrainedConfig): Example: ```python - >>> from transformers import ICTGuidedUpsamplerConfig, ICTGuidedUpsampler + >>> from transformers import IctGuidedUpsamplerConfig, IctGuidedUpsampler >>> # Initializing a ICT ict-imagenet-256 style configuration - >>> configuration = ICTGuidedUpsamplerConfig() + >>> configuration = IctGuidedUpsamplerConfig() >>> # Initializing a model (with random weights) from the ict-imagenet-256 style configuration - >>> upsampler = ICTGuidedUpsampler(configuration) + >>> upsampler = IctGuidedUpsampler(configuration) >>> # Accessing the model configuration >>> configuration = upsampler.config @@ -99,9 +99,9 @@ def __init__( self.gan_loss = gan_loss -class ICTTransformerConfig(PretrainedConfig): +class IctTransformerConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTTransformer`]. It is used to instantiate an + This is the configuration class to store the configuration of a [`IctTransformer`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). @@ -113,7 +113,7 @@ class ICTTransformerConfig(PretrainedConfig): Args: vocab_size (`int`, *optional*, defaults to 512): Vocabulary size of the ICT model. Defines the number of different tokens that can be represented by the - `pixel_values` passed when calling [`ICTTransformer`]. + `pixel_values` passed when calling [`IctTransformer`]. hidden_size (`int`, *optional*, defaults to 1024): Dimensionality of the embeddings and hidden states. num_hidden_layers (`int`, *optional*, defaults to 35): @@ -145,13 +145,13 @@ class ICTTransformerConfig(PretrainedConfig): Example: ```python - >>> from transformers import ICTTransformerConfig, ICTTransformer + >>> from transformers import IctTransformerConfig, IctTransformer >>> # Initializing a ICT ict-imagenet-256 style configuration - >>> configuration = ICTTransformerConfig() + >>> configuration = IctTransformerConfig() >>> # Initializing a model (with random weights) from the ict-imagenet-256 style configuration - >>> model = ICTTransformer(configuration) + >>> model = IctTransformer(configuration) >>> # Accessing the model configuration >>> configuration = model.config @@ -194,9 +194,9 @@ def __init__( self.qkv_bias = qkv_bias -class ICTConfig(PretrainedConfig): +class IctConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`ICTModel`]. It is used to instantiate an ICT + This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an ICT model according to the specified arguments, defining the transformer model and guided upsampler configs. Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256) architecture. Configuration objects @@ -205,31 +205,31 @@ class ICTConfig(PretrainedConfig): Args: transformer_config (`dict`, *optional*): - Dictionary of configuration options used to initialize [`ICTTransformerConfig`]. + Dictionary of configuration options used to initialize [`IctTransformerConfig`]. guided_upsampler_config (`dict`, *optional*): - Dictionary of configuration options used to initialize [`ICTGuidedUpsamplerConfig`]. + Dictionary of configuration options used to initialize [`IctGuidedUpsamplerConfig`]. kwargs (*optional*): Dictionary of keyword arguments. Example: ```python - >>> from transformers import ICTConfig, ICTModel + >>> from transformers import IctConfig, IctModel - >>> # Initializing a ICTConfig with sheonhan/ict-imagenet-256 style configuration - >>> configuration = ICTConfig() + >>> # Initializing a IctConfig with sheonhan/ict-imagenet-256 style configuration + >>> configuration = IctConfig() - >>> # Initializing a ICTModel (with random weights) from the sheonhan/ict-imagenet-256 style configuration - >>> model = ICTModel(configuration) + >>> # Initializing a IctModel (with random weights) from the sheonhan/ict-imagenet-256 style configuration + >>> model = IctModel(configuration) >>> # Accessing the model configuration >>> configuration = model.config - >>> # We can also initialize a ICTConfig from a ICTTransformerConfig and a ICTGuidedUpsamplerConfig - >>> from transformers import ICTTransformerConfig, ICTGuidedUpsamplerConfig + >>> # We can also initialize a IctConfig from a IctTransformerConfig and a IctGuidedUpsamplerConfig + >>> from transformers import IctTransformerConfig, IctGuidedUpsamplerConfig >>> # Initializing ICT Transformer and GuidedUpsampler configurations - >>> config_transformer = ICTTransformerConfig() - >>> config_guided_upsampler = ICTGuidedUpsamplerConfig() - >>> config = ICTConfig.from_text_guided_upsampler_configs(config_transformer, config_guided_upsampler) + >>> config_transformer = IctTransformerConfig() + >>> config_guided_upsampler = IctGuidedUpsamplerConfig() + >>> config = IctConfig.from_text_guided_upsampler_configs(config_transformer, config_guided_upsampler) ```""" model_type = "ict" @@ -244,25 +244,25 @@ def __init__( if transformer_config is None: transformer_config = {} - logger.info("transformer_config is None. Initializing the ICTTransformerConfig with default values.") + logger.info("transformer_config is None. Initializing the IctTransformerConfig with default values.") if guided_upsampler_config is None: guided_upsampler_config = {} logger.info( - "guided_upsampler_config is None. Initializing the ICTGuidedUpsamplerConfig with default values." + "guided_upsampler_config is None. Initializing the IctGuidedUpsamplerConfig with default values." ) - self.transformer_config = ICTTransformerConfig(**transformer_config) - self.guided_upsampler_config = ICTGuidedUpsamplerConfig(**guided_upsampler_config) + self.transformer_config = IctTransformerConfig(**transformer_config) + self.guided_upsampler_config = IctGuidedUpsamplerConfig(**guided_upsampler_config) @classmethod def from_transformer_and_guided_upsampler_configs( - cls, transformer_config: ICTTransformerConfig, guided_upsampler_config: ICTGuidedUpsamplerConfig, **kwargs + cls, transformer_config: IctTransformerConfig, guided_upsampler_config: IctGuidedUpsamplerConfig, **kwargs ): r""" - Instantiate a [`ICTConfig`] (or a derived class) from align text model configuration and align vision model + Instantiate a [`IctConfig`] (or a derived class) from align text model configuration and align vision model configuration. Returns: - [`ICTConfig`]: An instance of a configuration object + [`IctConfig`]: An instance of a configuration object """ return cls( diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index a2c5d3112c78..53ef4e5953b1 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -38,7 +38,7 @@ logger = logging.get_logger(__name__) -class ICTImageProcessor(BaseImageProcessor): +class IctImageProcessor(BaseImageProcessor): r""" Constructs a ICT image processor. diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 17760033100f..50d24b3e3a9a 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -34,13 +34,13 @@ logging, replace_return_docstrings, ) -from .configuration_ict import ICTConfig, ICTGuidedUpsamplerConfig, ICTTransformerConfig +from .configuration_ict import IctConfig, IctGuidedUpsamplerConfig, IctTransformerConfig logger = logging.get_logger(__name__) # General docstring -_CONFIG_FOR_DOC = "ICTConfig" +_CONFIG_FOR_DOC = "IctConfig" # Base docstring _CHECKPOINT_FOR_DOC = "sheonhan/ict-imagenet-256" @@ -55,7 +55,7 @@ ] -class ICTEmbeddings(nn.Module): +class IctEmbeddings(nn.Module): """ Construct the embeddings. Optionally, also the mask token. """ @@ -93,8 +93,8 @@ def forward( # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT -class ICTSelfAttention(nn.Module): - def __init__(self, config: ICTTransformerConfig) -> None: +class IctSelfAttention(nn.Module): + def __init__(self, config: IctTransformerConfig) -> None: super().__init__() if config.hidden_size % config.num_attention_heads != 0 and not hasattr(config, "embedding_size"): raise ValueError( @@ -171,7 +171,7 @@ def forward( return (outputs, attention_probs) if output_attentions else (outputs,) -class ICTLayer(nn.Module): +class IctLayer(nn.Module): def __init__(self, config): super().__init__() num_embed = config.hidden_size @@ -179,7 +179,7 @@ def __init__(self, config): self.intermediate_act_fn = ACT2FN[config.activation_function] self.ln_1 = nn.LayerNorm(num_embed, eps=config.layer_norm_eps) - self.attention = ICTSelfAttention(config) + self.attention = IctSelfAttention(config) self.ln_2 = nn.LayerNorm(num_embed, eps=config.layer_norm_eps) self.mlp = nn.Sequential( nn.Linear(num_embed, intermediate_size), @@ -201,11 +201,11 @@ def forward(self, hidden_states, output_attentions: bool = False): return outputs -class ICTEncoder(nn.Module): - def __init__(self, config: ICTConfig) -> None: +class IctEncoder(nn.Module): + def __init__(self, config: IctConfig) -> None: super().__init__() self.config = config - self.layers = nn.ModuleList([ICTLayer(config) for _ in range(config.num_hidden_layers)]) + self.layers = nn.ModuleList([IctLayer(config) for _ in range(config.num_hidden_layers)]) self.gradient_checkpointing = False def forward( @@ -253,13 +253,13 @@ def custom_forward(*inputs): # Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict -class ICTPretrainedModel(PreTrainedModel): +class IctPretrainedModel(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained models. """ - config_class = ICTConfig + config_class = IctConfig base_model_prefix = "ict" main_input_name = "pixel_values" supports_gradient_checkpointing = True @@ -278,21 +278,21 @@ def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm, nn. module.weight.data.fill_(1.0) def _set_gradient_checkpointing(self, module, value: bool = False) -> None: - if isinstance(module, (ICTTransformerModel, ICTGuidedUpsampler)): + if isinstance(module, (IctTransformerModel, IctGuidedUpsampler)): module.gradient_checkpointing = value # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT -class ICTTransformerModel(ICTPretrainedModel): - config_class = ICTTransformerConfig +class IctTransformerModel(IctPretrainedModel): + config_class = IctTransformerConfig main_input_name = "pixel_values" - def __init__(self, config: ICTTransformerConfig, use_mask_token: bool = False): + def __init__(self, config: IctTransformerConfig, use_mask_token: bool = False): super().__init__(config) self.config = config - self.embeddings = ICTEmbeddings(config, use_mask_token=use_mask_token) - self.encoder = ICTEncoder(config) + self.embeddings = IctEmbeddings(config, use_mask_token=use_mask_token) + self.encoder = IctEncoder(config) self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) @@ -355,7 +355,7 @@ def forward( ) -class ICTResnetBlock(nn.Module): +class IctResnetBlock(nn.Module): """ ResNet block without the final ReLU (https://torch.ch/blog/2016/02/04/resnets.html). """ @@ -379,7 +379,7 @@ def forward(self, x): return out -class ICTInpaintGenerator(nn.Module): +class IctInpaintGenerator(nn.Module): def __init__(self, config): super().__init__() @@ -393,7 +393,7 @@ def __init__(self, config): nn.ReLU(True), ) - blocks = [ICTResnetBlock(256) for _ in range(config.num_residual_blocks)] + blocks = [IctResnetBlock(256) for _ in range(config.num_residual_blocks)] self.middle = nn.Sequential(*blocks) @@ -415,7 +415,7 @@ def forward(self, x): return x -class ICTAdversarialLoss(nn.Module): +class IctAdversarialLoss(nn.Module): r""" Adversarial loss https://arxiv.org/abs/1711.10337 """ @@ -454,7 +454,7 @@ def __call__(self, outputs, is_real, is_discriminator=None): return loss -class ICTStyleLoss(nn.Module): +class IctStyleLoss(nn.Module): r""" Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py @@ -494,7 +494,7 @@ def __call__(self, x, y): return style_loss -class ICTPerceptualLoss(nn.Module): +class IctPerceptualLoss(nn.Module): r""" Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py @@ -640,11 +640,11 @@ def forward(self, x): return out -class ICTGuidedUpsampler(ICTPretrainedModel): - def __init__(self, config: ICTGuidedUpsamplerConfig): +class IctGuidedUpsampler(IctPretrainedModel): + def __init__(self, config: IctGuidedUpsamplerConfig): super().__init__(config) - self.generator = ICTInpaintGenerator(config) + self.generator = IctInpaintGenerator(config) self.post_init() @@ -665,7 +665,7 @@ def forward(self, images, edges, masks): behavior. Parameters: - config ([`ICTConfig`]): Model configuration class with all the parameters of the model. + config ([`IctConfig`]): Model configuration class with all the parameters of the model. Initializing with a config file does not load the weights associated with the model, only the configuration. Check out the [`~PreTrainedModel.from_pretrained`] method to load the model weights. """ @@ -673,7 +673,7 @@ def forward(self, images, edges, masks): ICT_INPUTS_DOCSTRING = r""" Args: pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): - Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`ICTImageProcessor.__call__`] + Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`IctImageProcessor.__call__`] for details. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random @@ -690,27 +690,27 @@ def forward(self, images, edges, masks): @add_start_docstrings(ICT_START_DOCSTRING) -class ICTModel(ICTPretrainedModel): - config_class = ICTConfig +class IctModel(IctPretrainedModel): + config_class = IctConfig - def __init__(self, config: ICTConfig, use_mask_token: bool = True): + def __init__(self, config: IctConfig, use_mask_token: bool = True): super().__init__(config) - if not isinstance(config.transformer_config, ICTTransformerConfig): + if not isinstance(config.transformer_config, IctTransformerConfig): raise ValueError( - "config.transformer_config is expected to be of type ICTTransformerConfig but is of type" + "config.transformer_config is expected to be of type IctTransformerConfig but is of type" f" {type(config.transformer_config)}." ) - if not isinstance(config.guided_upsampler_config, ICTGuidedUpsamplerConfig): + if not isinstance(config.guided_upsampler_config, IctGuidedUpsamplerConfig): raise ValueError( - "config.guided_upsampler_config is expected to be of type ICTGuidedUpsamplerConfig but is of type" + "config.guided_upsampler_config is expected to be of type IctGuidedUpsamplerConfig but is of type" f" {type(config.guided_upsampler_config)}." ) self.config = config - self.transformer = ICTTransformerModel(config.transformer_config, use_mask_token=use_mask_token) - self.guided_upsampler = ICTGuidedUpsampler(config.guided_upsampler_config) + self.transformer = IctTransformerModel(config.transformer_config, use_mask_token=use_mask_token) + self.guided_upsampler = IctGuidedUpsampler(config.guided_upsampler_config) # Initialize weights and apply final processing self.post_init() @@ -735,10 +735,10 @@ def forward( >>> from PIL import Image >>> import requests - >>> from transformers import AutoImageProcessor, ICTModel + >>> from transformers import AutoImageProcessor, IctModel >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") - >>> model = ICTModel.from_pretrained("sheonhan/ict-imagenet-256") + >>> model = IctModel.from_pretrained("sheonhan/ict-imagenet-256") >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" >>> image = Image.open(requests.get(url, stream=True).raw) diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py index 30e828710ea1..0269eba20b74 100644 --- a/tests/models/ict/test_image_processing_ict.py +++ b/tests/models/ict/test_image_processing_ict.py @@ -32,10 +32,10 @@ if is_vision_available(): from PIL import Image - from transformers import ICTImageProcessor + from transformers import IctImageProcessor -class ICTImageProcessingTester(unittest.TestCase): +class IctImageProcessingTester(unittest.TestCase): def __init__( self, parent, @@ -75,11 +75,11 @@ def prepare_image_processor_dict(self): @require_torch @require_vision -class ICTImageProcessingTest(ImageProcessingSavingTestMixin, unittest.TestCase): - image_processing_class = ICTImageProcessor if is_vision_available() else None +class IctImageProcessingTest(ImageProcessingSavingTestMixin, unittest.TestCase): + image_processing_class = IctImageProcessor if is_vision_available() else None def setUp(self): - self.image_processor_tester = ICTImageProcessingTester(self) + self.image_processor_tester = IctImageProcessingTester(self) @property def image_processor_dict(self): diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index ed7fcc046d6d..b8cc9ad741e4 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -18,7 +18,7 @@ import inspect import unittest -from transformers import ICTConfig +from transformers import IctConfig from transformers.testing_utils import ( require_accelerate, require_torch, @@ -38,7 +38,7 @@ import torch from torch import nn - from transformers import ICTModel + from transformers import IctModel from transformers.models.ict.modeling_ict import ICT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -48,7 +48,7 @@ from transformers import ViTFeatureExtractor -class ICTModelTester: +class IctModelTester: def __init__( self, parent, @@ -105,7 +105,7 @@ def prepare_config_and_inputs(self): return config, pixel_values, labels def get_config(self): - return ICTConfig( + return IctConfig( image_size=self.image_size, patch_size=self.patch_size, num_channels=self.num_channels, @@ -122,7 +122,7 @@ def get_config(self): ) def create_and_check_model(self, config, pixel_values, labels): - model = ICTModel(config=config) + model = IctModel(config=config) model.to(torch_device) model.eval() result = model(pixel_values) @@ -140,14 +140,14 @@ def prepare_config_and_inputs_for_common(self): @require_torch -class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): +class IctModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): """ Here we also overwrite some of the tests of test_modeling_common.py, as ICT does not use input_ids, inputs_embeds, attention_mask and seq_length. """ - all_model_classes = (ICTModel,) if is_torch_available() else () - pipeline_model_mapping = {"feature-extraction": ICTModel} if is_torch_available() else {} + all_model_classes = (IctModel,) if is_torch_available() else () + pipeline_model_mapping = {"feature-extraction": IctModel} if is_torch_available() else {} fx_compatible = False test_pruning = False @@ -155,8 +155,8 @@ class ICTModelTest(ModelTesterMixin, PipelineTesterMixin, unittest.TestCase): test_head_masking = False def setUp(self): - self.model_tester = ICTModelTester(self) - self.config_tester = ConfigTester(self, config_class=ICTConfig, has_text_modality=False, hidden_size=37) + self.model_tester = IctModelTester(self) + self.config_tester = ConfigTester(self, config_class=IctConfig, has_text_modality=False, hidden_size=37) def test_config(self): self.config_tester.run_common_tests() @@ -197,7 +197,7 @@ def test_for_masked_image_modeling(self): @slow def test_model_from_pretrained(self): for model_name in ICT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]: - model = ICTModel.from_pretrained(model_name) + model = IctModel.from_pretrained(model_name) self.assertIsNotNone(model) @@ -209,7 +209,7 @@ def prepare_img(): @require_torch @require_vision -class ICTModelIntegrationTest(unittest.TestCase): +class IctModelIntegrationTest(unittest.TestCase): @cached_property def default_feature_extractor(self): return ViTFeatureExtractor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None @@ -221,7 +221,7 @@ def test_inference_fp16(self): r""" A small test to make sure that inference work in half precision without any problem. """ - model = ICTModel.from_pretrained("facebook/dino-icts8", torch_dtype=torch.float16, device_map="auto") + model = IctModel.from_pretrained("facebook/dino-icts8", torch_dtype=torch.float16, device_map="auto") feature_extractor = self.default_feature_extractor image = prepare_img() From 48b588998859d9f36baa0b2f436ab6799878400d Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 27 Apr 2023 11:21:14 -0700 Subject: [PATCH 38/70] just use IctConfig --- .../models/ict/configuration_ict.py | 176 +----------------- src/transformers/models/ict/modeling_ict.py | 26 +-- 2 files changed, 17 insertions(+), 185 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 19020380baaa..d6d232fb3071 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -28,80 +28,9 @@ "sheonhan/ict-imagenet-256": "https://huggingface.co/sheonhan/ict-imagenet-256/resolve/main/config.json", } - -class IctGuidedUpsamplerConfig(PretrainedConfig): - r""" - This is the configuration class to store the configuration of a [`IctGuidedUpsampler`]. It is used to instantiate - an [`IctGuidedUpsampler`] model according to the specified arguments, defining the model architecture. - Instantiating a configuration with the defaults will yield a similar configuration to that of the - [IctGuidedUpsampler model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). - - Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the - documentation from [`PretrainedConfig`] for more information. - - - Args: - input_size (`int`, *optional*, defaults to 256): - The input image size for training. (0 for the original size.) - max_iteration (`float`, *optional*, defaults to 5e7): - The maximum number of iterations to train the model. - num_residual_blocks (`int`, *optional*, defaults to 8): - The number of residual blocks. - l1_loss_weight (`float`, *optional*, defaults to 1.0): - The weight of the L1 loss function. - style_loss_weight (`float`, *optional*, defaults to 250.): - The weight of the style loss module. - content_loss_weight (`float`, *optional*, defaults to 0.1): - The weight of the content loss module. - inpaint_adv_loss_weight (`float`, *optional*, defaults to 0.1): - The weight of the adversial loss module. - gan_loss (`str`, *optional*, defaults to`"nsgan"`): - GAN's loss function can be either "nsgan", "lsgan", or "hinge". - - - Example: - - ```python - >>> from transformers import IctGuidedUpsamplerConfig, IctGuidedUpsampler - - >>> # Initializing a ICT ict-imagenet-256 style configuration - >>> configuration = IctGuidedUpsamplerConfig() - - >>> # Initializing a model (with random weights) from the ict-imagenet-256 style configuration - >>> upsampler = IctGuidedUpsampler(configuration) - - >>> # Accessing the model configuration - >>> configuration = upsampler.config - ```""" - model_type = "ict_guided_upsampler" - - def __init__( - self, - input_size=256, - max_iteration=5e7, - num_residual_blocks=8, - l1_loss_weight=1.0, - style_loss_weight=25.0, - content_loss_weight=0.1, - inpaint_adv_loss_weight=0.1, - gan_loss="nsgan", - **kwargs, - ): - super().__init__(**kwargs) - - self.input_size = input_size - self.max_iteration = max_iteration - self.num_residual_blocks = num_residual_blocks - self.l1_loss_weight = l1_loss_weight - self.style_loss_weight = style_loss_weight - self.content_loss_weight = content_loss_weight - self.inpaint_adv_loss_weight = inpaint_adv_loss_weight - self.gan_loss = gan_loss - - -class IctTransformerConfig(PretrainedConfig): +class IctConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`IctTransformer`]. It is used to instantiate an + This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). @@ -120,6 +49,8 @@ class IctTransformerConfig(PretrainedConfig): Number of hidden layers in the Transformer encoder. num_attention_heads (`int`, *optional*, defaults to 8): Number of attention heads for each attention layer in the Transformer encoder. + num_residual_blocks (`int`, *optional*, defaults to 8): + The number of residual blocks in [`IctGuidedUpsampler`]. intermediate_size (`int`, *optional*, defaults to 4096): Dimensionality of the "intermediate" (i.e., feed-forward) layer in the Transformer encoder. activation_function (`str`, *optional*, defaults to `"gelu"`): @@ -145,18 +76,18 @@ class IctTransformerConfig(PretrainedConfig): Example: ```python - >>> from transformers import IctTransformerConfig, IctTransformer + >>> from transformers import IctConfig, IctModel >>> # Initializing a ICT ict-imagenet-256 style configuration - >>> configuration = IctTransformerConfig() + >>> configuration = IctConfig() >>> # Initializing a model (with random weights) from the ict-imagenet-256 style configuration - >>> model = IctTransformer(configuration) + >>> model = IctModel(configuration) >>> # Accessing the model configuration >>> configuration = model.config ```""" - model_type = "ict_transformer" + model_type = "ict" def __init__( self, @@ -164,6 +95,7 @@ def __init__( hidden_size=1024, num_hidden_layers=35, num_attention_heads=8, + num_residual_blocks=8, intermediate_size=4096, activation_function="gelu", embedding_dropout_prob=0.0, @@ -181,6 +113,7 @@ def __init__( self.vocab_size = vocab_size self.hidden_size = hidden_size self.num_hidden_layers = num_hidden_layers + self.num_residual_blocks = num_residual_blocks self.num_attention_heads = num_attention_heads self.intermediate_size = intermediate_size self.activation_function = activation_function @@ -192,92 +125,3 @@ def __init__( self.image_size = image_size self.num_channels = num_channels self.qkv_bias = qkv_bias - - -class IctConfig(PretrainedConfig): - r""" - This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an ICT - model according to the specified arguments, defining the transformer model and guided upsampler configs. - Instantiating a configuration with the defaults will yield a similar configuration to that of the ICT - [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256) architecture. Configuration objects - inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from - [`PretrainedConfig`] for more information. - - Args: - transformer_config (`dict`, *optional*): - Dictionary of configuration options used to initialize [`IctTransformerConfig`]. - guided_upsampler_config (`dict`, *optional*): - Dictionary of configuration options used to initialize [`IctGuidedUpsamplerConfig`]. - kwargs (*optional*): - Dictionary of keyword arguments. - Example: - ```python - >>> from transformers import IctConfig, IctModel - - >>> # Initializing a IctConfig with sheonhan/ict-imagenet-256 style configuration - >>> configuration = IctConfig() - - >>> # Initializing a IctModel (with random weights) from the sheonhan/ict-imagenet-256 style configuration - >>> model = IctModel(configuration) - - >>> # Accessing the model configuration - >>> configuration = model.config - - >>> # We can also initialize a IctConfig from a IctTransformerConfig and a IctGuidedUpsamplerConfig - >>> from transformers import IctTransformerConfig, IctGuidedUpsamplerConfig - - >>> # Initializing ICT Transformer and GuidedUpsampler configurations - >>> config_transformer = IctTransformerConfig() - >>> config_guided_upsampler = IctGuidedUpsamplerConfig() - >>> config = IctConfig.from_text_guided_upsampler_configs(config_transformer, config_guided_upsampler) - ```""" - - model_type = "ict" - - def __init__( - self, - transformer_config=None, - guided_upsampler_config=None, - **kwargs, - ): - super().__init__(**kwargs) - - if transformer_config is None: - transformer_config = {} - logger.info("transformer_config is None. Initializing the IctTransformerConfig with default values.") - - if guided_upsampler_config is None: - guided_upsampler_config = {} - logger.info( - "guided_upsampler_config is None. Initializing the IctGuidedUpsamplerConfig with default values." - ) - - self.transformer_config = IctTransformerConfig(**transformer_config) - self.guided_upsampler_config = IctGuidedUpsamplerConfig(**guided_upsampler_config) - - @classmethod - def from_transformer_and_guided_upsampler_configs( - cls, transformer_config: IctTransformerConfig, guided_upsampler_config: IctGuidedUpsamplerConfig, **kwargs - ): - r""" - Instantiate a [`IctConfig`] (or a derived class) from align text model configuration and align vision model - configuration. Returns: - [`IctConfig`]: An instance of a configuration object - """ - - return cls( - transformer_config=transformer_config.to_dict(), - guided_upsampler_config=guided_upsampler_config.to_dict(), - **kwargs, - ) - - def to_dict(self): - """ - Serializes this instance to a Python dictionary. Override the default [`~PretrainedConfig.to_dict`]. Returns: - `Dict[str, any]`: Dictionary of all the attributes that make up this configuration instance, - """ - output = copy.deepcopy(self.__dict__) - output["transformer_config"] = self.transformer_config.to_dict() - output["guided_upsampler_config"] = self.guided_upsampler_config.to_dict() - output["model_type"] = self.__class__.model_type - return output diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 50d24b3e3a9a..468b9256f8cd 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -34,7 +34,7 @@ logging, replace_return_docstrings, ) -from .configuration_ict import IctConfig, IctGuidedUpsamplerConfig, IctTransformerConfig +from .configuration_ict import IctConfig logger = logging.get_logger(__name__) @@ -94,7 +94,7 @@ def forward( # Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class IctSelfAttention(nn.Module): - def __init__(self, config: IctTransformerConfig) -> None: + def __init__(self, config: IctConfig) -> None: super().__init__() if config.hidden_size % config.num_attention_heads != 0 and not hasattr(config, "embedding_size"): raise ValueError( @@ -284,10 +284,10 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: # Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class IctTransformerModel(IctPretrainedModel): - config_class = IctTransformerConfig + config_class = IctConfig main_input_name = "pixel_values" - def __init__(self, config: IctTransformerConfig, use_mask_token: bool = False): + def __init__(self, config: IctConfig, use_mask_token: bool = False): super().__init__(config) self.config = config @@ -641,7 +641,7 @@ def forward(self, x): class IctGuidedUpsampler(IctPretrainedModel): - def __init__(self, config: IctGuidedUpsamplerConfig): + def __init__(self, config: IctConfig): super().__init__(config) self.generator = IctInpaintGenerator(config) @@ -696,21 +696,9 @@ class IctModel(IctPretrainedModel): def __init__(self, config: IctConfig, use_mask_token: bool = True): super().__init__(config) - if not isinstance(config.transformer_config, IctTransformerConfig): - raise ValueError( - "config.transformer_config is expected to be of type IctTransformerConfig but is of type" - f" {type(config.transformer_config)}." - ) - - if not isinstance(config.guided_upsampler_config, IctGuidedUpsamplerConfig): - raise ValueError( - "config.guided_upsampler_config is expected to be of type IctGuidedUpsamplerConfig but is of type" - f" {type(config.guided_upsampler_config)}." - ) - self.config = config - self.transformer = IctTransformerModel(config.transformer_config, use_mask_token=use_mask_token) - self.guided_upsampler = IctGuidedUpsampler(config.guided_upsampler_config) + self.transformer = IctTransformerModel(config, use_mask_token=use_mask_token) + self.guided_upsampler = IctGuidedUpsampler(config) # Initialize weights and apply final processing self.post_init() From 576a5de977f1728e6b1f33ad97d27ae4274e3a80 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 27 Apr 2023 13:37:08 -0700 Subject: [PATCH 39/70] fix test for image_processing_ict.py --- .../models/ict/image_processing_ict.py | 12 ++-- tests/models/ict/test_image_processing_ict.py | 55 ++++++++++++++++++- 2 files changed, 57 insertions(+), 10 deletions(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 53ef4e5953b1..96b2a3c1ccd9 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -18,7 +18,6 @@ from typing import Dict, List, Optional, Union import numpy as np -from huggingface_hub import hf_hub_download from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict from ...image_transforms import normalize, rescale, resize, to_channel_dimension_format @@ -103,11 +102,7 @@ def __init__( self.image_mean = image_mean if image_mean is not None else IMAGENET_STANDARD_MEAN self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD self.do_color_quantize = do_color_quantize - self.clusters = np.array(clusters) if clusters is not None else self.get_image_net_clusters() - - def get_image_net_clusters(self): - kmeans_centers = np.load(hf_hub_download(repo_id="sheonhan/ict-imagenet-256", filename="kmeans_centers.npy")) - return np.rint(127.5 * (kmeans_centers + 1.0)) + self.clusters = clusters def resize( self, @@ -317,8 +312,9 @@ def preprocess( # Copied from transformers.models.imagegpt.image_processing_imagegpt.preprocess if do_color_quantize: - images = [to_channel_dimension_format(image, data_format) for image in images] - # reshape each image to image_size + images = [to_channel_dimension_format(image, ChannelDimension.FIRST) for image in images] + # flatten images to (batch_size, height * width) + clusters = np.array(clusters) images = [self.color_quantize(image=image, clusters=clusters) for image in images] else: images = [to_channel_dimension_format(image, data_format) for image in images] diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py index 0269eba20b74..bd608ba4d4b9 100644 --- a/tests/models/ict/test_image_processing_ict.py +++ b/tests/models/ict/test_image_processing_ict.py @@ -13,14 +13,16 @@ # See the License for the specific language governing permissions and # limitations under the License. - +import json import os import tempfile import unittest import numpy as np +from datasets import load_dataset + -from transformers.testing_utils import check_json_file_has_correct_format, require_torch, require_vision +from transformers.testing_utils import check_json_file_has_correct_format, require_torch, require_vision, slow from transformers.utils import is_torch_available, is_vision_available from ...test_image_processing_common import ImageProcessingSavingTestMixin, prepare_image_inputs @@ -65,6 +67,8 @@ def __init__( def prepare_image_processor_dict(self): return { + # here we create 2 clusters for the sake of simplicity + "clusters": np.asarray([[241., 212., 177.], [ 50., 125., 197.]]), "image_mean": self.image_mean, "image_std": self.image_std, "do_normalize": self.do_normalize, @@ -87,6 +91,7 @@ def image_processor_dict(self): def test_image_processor_properties(self): image_processing = self.image_processing_class(**self.image_processor_dict) + self.assertTrue(hasattr(image_processing, "clusters")) self.assertTrue(hasattr(image_processing, "image_mean")) self.assertTrue(hasattr(image_processing, "image_std")) self.assertTrue(hasattr(image_processing, "do_normalize")) @@ -115,6 +120,15 @@ def test_image_processor_to_json_file(self): else: self.assertEqual(image_processor_first[key], value) + def test_image_processor_to_json_string(self): + image_processor = self.image_processing_class(**self.image_processor_dict) + obj = json.loads(image_processor.to_json_string()) + for key, value in self.image_processor_dict.items(): + if key == "clusters": + self.assertTrue(np.array_equal(value, obj[key])) + else: + self.assertEqual(obj[key], value) + def test_image_processor_from_and_save_pretrained(self): image_processor_first = self.image_processing_class(**self.image_processor_dict) @@ -215,3 +229,40 @@ def test_call_pytorch(self): self.image_processor_tester.size["height"] * self.image_processor_tester.size["width"], ), ) + +def prepare_images(): + dataset = load_dataset("hf-internal-testing/fixtures_image_utils", split="test") + + image1 = Image.open(dataset[4]["file"]) + image2 = Image.open(dataset[5]["file"]) + + images = [image1, image2] + + return images + +@require_vision +@require_torch +class IctImageProcessorIntegrationTest(unittest.TestCase): + @slow + def test_image(self): + image_processing = IctImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") + + images = prepare_images() + + # test non-batched + encoding = image_processing(images[0], return_tensors="pt") + + self.assertIsInstance(encoding.pixel_values, torch.LongTensor) + self.assertEqual(encoding.pixel_values.shape, (1, 1024)) + + expected_slice = [291, 145, 48] + self.assertEqual(encoding.pixel_values[0, :3].tolist(), expected_slice) + + # test batched + encoding = image_processing(images, return_tensors="pt") + + self.assertIsInstance(encoding.pixel_values, torch.LongTensor) + self.assertEqual(encoding.pixel_values.shape, (2, 1024)) + + expected_slice = [228, 315, 375] + self.assertEqual(encoding.pixel_values[1, -3:].tolist(), expected_slice) From 137eb803b53abd6992d869dc6885850508615c6d Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 27 Apr 2023 13:39:05 -0700 Subject: [PATCH 40/70] make style and quality --- src/transformers/models/ict/configuration_ict.py | 8 ++++---- tests/models/ict/test_image_processing_ict.py | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index d6d232fb3071..fa5793532930 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -16,7 +16,6 @@ """ ICT model configuration""" -import copy from ...configuration_utils import PretrainedConfig from ...utils import logging @@ -28,11 +27,12 @@ "sheonhan/ict-imagenet-256": "https://huggingface.co/sheonhan/ict-imagenet-256/resolve/main/config.json", } + class IctConfig(PretrainedConfig): r""" - This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an - ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with - the defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet + This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an ICT + model according to the specified arguments, defining the model architecture. Instantiating a configuration with the + defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet dataset](https://huggingface.co/sheonhan/ict-imagenet-256). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py index bd608ba4d4b9..561cb3926877 100644 --- a/tests/models/ict/test_image_processing_ict.py +++ b/tests/models/ict/test_image_processing_ict.py @@ -21,7 +21,6 @@ import numpy as np from datasets import load_dataset - from transformers.testing_utils import check_json_file_has_correct_format, require_torch, require_vision, slow from transformers.utils import is_torch_available, is_vision_available @@ -68,7 +67,7 @@ def __init__( def prepare_image_processor_dict(self): return { # here we create 2 clusters for the sake of simplicity - "clusters": np.asarray([[241., 212., 177.], [ 50., 125., 197.]]), + "clusters": np.asarray([[241.0, 212.0, 177.0], [50.0, 125.0, 197.0]]), "image_mean": self.image_mean, "image_std": self.image_std, "do_normalize": self.do_normalize, @@ -128,7 +127,7 @@ def test_image_processor_to_json_string(self): self.assertTrue(np.array_equal(value, obj[key])) else: self.assertEqual(obj[key], value) - + def test_image_processor_from_and_save_pretrained(self): image_processor_first = self.image_processing_class(**self.image_processor_dict) @@ -230,6 +229,7 @@ def test_call_pytorch(self): ), ) + def prepare_images(): dataset = load_dataset("hf-internal-testing/fixtures_image_utils", split="test") @@ -240,6 +240,7 @@ def prepare_images(): return images + @require_vision @require_torch class IctImageProcessorIntegrationTest(unittest.TestCase): From 920582261ebd3a6566bccb64d2d8bd2b7c4f1561 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 28 Apr 2023 02:33:09 -0700 Subject: [PATCH 41/70] remove unnecessary images --- tests/fixtures/tests_samples/ict/image.png | Bin 1294877 -> 0 bytes tests/fixtures/tests_samples/ict/mask.png | Bin 11500 -> 0 bytes .../tests_samples/ict/masked_test_image.pt | Bin 17140 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 tests/fixtures/tests_samples/ict/image.png delete mode 100644 tests/fixtures/tests_samples/ict/mask.png delete mode 100644 tests/fixtures/tests_samples/ict/masked_test_image.pt diff --git a/tests/fixtures/tests_samples/ict/image.png b/tests/fixtures/tests_samples/ict/image.png deleted file mode 100644 index 5b50551e533e5b3ec703de359b0ea7d8d0b52d0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1294877 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 JU!1RX9q;npx^x8+{TW~SynK`>^2_tP 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

(+`m{2 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

Fi`KzfDo&M*`O1m<)_ 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�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

7g?w|eaXRR6GeQ&?< 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 diff --git a/tests/fixtures/tests_samples/ict/masked_test_image.pt b/tests/fixtures/tests_samples/ict/masked_test_image.pt deleted file mode 100644 index 59b649e016bf834e90658c3a04794408c2d4d906..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17140 zcmeI)Pl%n>8OQOPKPKt8D8@y|MrZp;&@KwLQ3CBmom#4~6hb%!ja{5~;x;^DnBQOe&6AT_aB_;AJ{*?fBPd3 z9o@a_`rg+*`1$VY>G|2?(}%Y2J28Lw=-kA<<1^nlaro$gee*NN=4OxYd-T&2gWj#T z?p;3|e{SeG9BQy?A!K6D?6HGiS!kOWtlqn7=(1z5X78FIryn^nSbKMG!~Ed7FHiRF z?yWsFSU0)q)L{Mhr>AF+9-Wz z`_$z64R<{K_uoA+9BcGD)s%Td?~_$#f5+}!H(x381G(4yH9N|B_|tFjp9|eRet1j# zFNH_Kv+>v7MgA>{uk*G1U(Wpao#a({BJK1by)E)Xc~$BkE#By-_Ot10kzeH(i!L^{ z>Z4tK>bPwAV?XnaOZ5}q#hWv}`MYR6UoUk~M|EIVszcX2`sG*k)A>=cRVR7i+tK~r z!uIOf&s8V?N`7>0%{W;7+5BrAmTRkD)nBh4`}Vcyzm&Z1Y3v{QqVd^Xto7*fUu=J^ zn|SrEygz!MF6)0W?fi{{bXS_6-%{CCC;j7&&z~OG^M&Z9|Hsk2yP?18tv3DGm0!zG zzODGKesTPe{M|im%q4iNpGe5)VR8R;Pic1suk+RxVC%CDto zsqN-lF0CuhX5Hx;m+~;qn-O+?sRBFV%!l%1k4yPlH+HKI+KtcundJLc>i1Z9SJ)wE z(cShnj;p_wKOJ--fAl`?xn%rm^!+OKyRm;1-o9vM;|0)tQ|6JMypb;b{o=2`QaoNv z+=1|+@Ha{K`S91_x6=RDa6DDrUh7gI1{;HErFTRty%ESCERvrD+uhniG{pLaI&31oxA4l!(E1pX{nEcg&u9n`J zuiE_RG>+H1I}=ZD%pTq1(KvK?e&KnAI-Jfx{KOfji<=YQ5BbZV z?SB4Z)Zt!LPZ)2@D=U!6#vFC^Y|-O^v{A#bd@E@a$yGS8vdcw5@V%ae^& zcfy+MUB_V~ef4>zbvm0ow`3x9asB@`{XYm#7Jc7N`yiwfwf{G9^1_yGuj}@?^%RHN zTcrE7%i?_=D@kw3pKS||KO^7?b; z^*M(=pNsyH{-;8Ew!X4pT8P7V) zvqkz*TwOo;zM1jaDBgWy5I^@3aq7pW%YDQ8Reh&2-Y=qaPi*sq8Z3(4aW+2 zee3<>rR44YDNmFy8lT<8T8}RO#rD^_iI;!n{n6|E+xmMw<8K_KyVCspmddU==^uA| z{`9z>y{^;0a{iwUQBdpLT6gP@HID7vAG`d;jZ5oY={{BDjcwXLtvtrn!LN(0dAi!^ z=Es)**n%65#xXw9!|o#g7H9K%Y@9l8jpJvX+1QY?=;qe==BZTw+TOBTy7-Y1G|!LR1aLN{F*PDJ~~i4YOkc*`OM1s z|H8^R_s4U&9;_ca_jR44_DbiZ>TP|{x{gchDIRM)ze@gIzg(yGGd=WU)n9e8=|#_- z#`;5=ziz=cRsap{=ZPDCsU_g;VXsuwZD=2o(Wyo*3tVI_i^OU zuZz|Roi94y^*P7uhtEYT=l=@}H>^$B1xAXl?@pHcVKy3YIvOmPFoc}Kr zXyyEWp$@KBpXcl!`^tTIfA*F0_7>g8|6kAlM_)9s`JO$`_C7xpH2iIU(ZI%G_Z8o# z@aW9(x#4#h?B4acF~4cxny(&szhURZD1$%#{NPtt4-**uPED>F;qrGnT=_K!H;y{4 z`ne(_-|$cexKiE?R|SvW43z=;J8Jlqxox~EeCi8Vg{LA@lk3*q7QdU;eCl$4h1;;)+a From 8e00b7b16519f5a3ba967e33b2fd47ee8877bc78 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 28 Apr 2023 02:34:04 -0700 Subject: [PATCH 42/70] fix test_modeling_ict --- .../models/ict/configuration_ict.py | 1 - src/transformers/models/ict/modeling_ict.py | 33 +++-- tests/models/ict/test_modeling_ict.py | 126 +++++++++--------- 3 files changed, 84 insertions(+), 76 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index fa5793532930..bc2cc01f3948 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -16,7 +16,6 @@ """ ICT model configuration""" - from ...configuration_utils import PretrainedConfig from ...utils import logging diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 468b9256f8cd..8d1b0c6d6da1 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -19,13 +19,14 @@ import math from typing import Dict, List, Optional, Set, Tuple, Union +import numpy as np import torch import torch.utils.checkpoint import torchvision.models as models from torch import nn from ...activations import ACT2FN -from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageCompletionOutput +from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageModelingOutput from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer from ...utils import ( @@ -84,7 +85,6 @@ def forward( embeddings = embeddings * (1.0 - mask) + mask_tokens * mask # each position maps to a learnable vector - # NOTE: Need [:, :num_pixel, :]? position_embeds = self.position_embedding[:, :num_pixel, :] embeddings = embeddings + position_embeds embeddings = self.dropout(embeddings) @@ -185,11 +185,11 @@ def __init__(self, config): nn.Linear(num_embed, intermediate_size), self.intermediate_act_fn, nn.Linear(intermediate_size, num_embed), - nn.Dropout(config.resid_pdrop), + nn.Dropout(config.residual_dropout_prob), ) def forward(self, hidden_states, output_attentions: bool = False): - self_attention_outputs = self.attention(self.ln_1(hidden_states, output_attentions=output_attentions)) + self_attention_outputs = self.attention(self.ln_1(hidden_states), output_attentions=output_attentions) attention_output = self_attention_outputs[0] outputs = self_attention_outputs[1:] # add self attentions if we output attention weights @@ -393,7 +393,7 @@ def __init__(self, config): nn.ReLU(True), ) - blocks = [IctResnetBlock(256) for _ in range(config.num_residual_blocks)] + blocks = [IctResnetBlock() for _ in range(config.num_residual_blocks)] self.middle = nn.Sequential(*blocks) @@ -704,11 +704,12 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): self.post_init() @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @replace_return_docstrings(output_type=MaskedImageCompletionOutput, config_class=_CONFIG_FOR_DOC) + @replace_return_docstrings(output_type=MaskedImageModelingOutput, config_class=_CONFIG_FOR_DOC) def forward( self, pixel_values: Optional[torch.Tensor] = None, bool_masked_pos: Optional[torch.BoolTensor] = None, + clusters: Optional[np.ndarray] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, @@ -725,23 +726,24 @@ def forward( >>> from transformers import AutoImageProcessor, IctModel - >>> processor = AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") + >>> image_processor = image_AutoImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") >>> model = IctModel.from_pretrained("sheonhan/ict-imagenet-256") >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" >>> image = Image.open(requests.get(url, stream=True).raw) - >>> pixel_values = processor(image, return_tensors="pt").pixel_values + >>> pixel_values = image_processor(image, return_tensors="pt").pixel_values + >>> clusters = image_processor.clusters >>> # create random boolean mask of shape (batch_size, num_patches) >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() - >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos, clusters=clusters) ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict if pixel_values is None: raise ValueError("You have to specify pixel_values") - outputs = self.tranformer( + outputs = self.transformer( pixel_values, bool_masked_pos=bool_masked_pos, output_attentions=output_attentions, @@ -751,12 +753,17 @@ def forward( sequence_output = outputs[0] - sequence_output = sequence_output[:, 1:] + # TODO: Change back using clusters + # current_img= clusters[pixel_values[i]].view(opts.image_size, opts.image_size, 3).numpy().astype(np.uint8) batch_size, sequence_length, num_channels = sequence_output.shape height = width = math.floor(sequence_length**0.5) sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) - reconstructed_pixel_values = self.guided_upsampler(sequence_output) + # need to have def forward(self, images, edges, masks): + pixel_values = [ + clusters[pixel_values[i]].view(height, width, 3).numpy().astype(np.uint8) for i in range(batch_size) + ] + reconstructed_pixel_values = self.guided_upsampler(pixel_values, sequence_output, bool_masked_pos) loss = None if bool_masked_pos is not None: @@ -769,7 +776,7 @@ def forward( output = (reconstructed_pixel_values,) + outputs[1:] return ((loss,) + output) if loss is not None else output - return MaskedImageCompletionOutput( + return MaskedImageModelingOutput( loss=loss, reconstruction=reconstructed_pixel_values, hidden_states=outputs.hidden_states, diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index b8cc9ad741e4..ed9cb5ed93c7 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -18,11 +18,11 @@ import inspect import unittest +import numpy as np + from transformers import IctConfig from transformers.testing_utils import ( - require_accelerate, require_torch, - require_torch_gpu, require_vision, slow, torch_device, @@ -30,7 +30,7 @@ from transformers.utils import cached_property, is_torch_available, is_vision_available from ...test_configuration_common import ConfigTester -from ...test_modeling_common import ModelTesterMixin, floats_tensor, ids_tensor +from ...test_modeling_common import ModelTesterMixin, ids_tensor from ...test_pipeline_mixin import PipelineTesterMixin @@ -45,7 +45,7 @@ if is_vision_available(): from PIL import Image - from transformers import ViTFeatureExtractor + from transformers import IctImageProcessor class IctModelTester: @@ -53,75 +53,77 @@ def __init__( self, parent, batch_size=13, - image_size=30, - patch_size=2, - num_channels=3, - is_training=True, - use_labels=True, + vocab_size=512, hidden_size=32, - num_hidden_layers=5, + num_hidden_layers=6, num_attention_heads=4, + num_residual_blocks=8, intermediate_size=37, - hidden_act="gelu", - hidden_dropout_prob=0.1, - attention_probs_dropout_prob=0.1, - type_sequence_label_size=10, + activation_function="gelu", + embedding_dropout_prob=0.0, + residual_dropout_prob=0.0, + attention_probs_dropout_prob=0.0, initializer_range=0.02, + layer_norm_eps=1e-12, + image_size=64, + num_channels=3, + qkv_bias=False, + # Doesn't exist in Ict? scope=None, - encoder_stride=2, + is_training=True, + use_labels=False, + # type_sequence_label_size=2, ): self.parent = parent self.batch_size = batch_size - self.image_size = image_size - self.patch_size = patch_size - self.num_channels = num_channels - self.is_training = is_training - self.use_labels = use_labels + self.vocab_size = vocab_size self.hidden_size = hidden_size self.num_hidden_layers = num_hidden_layers self.num_attention_heads = num_attention_heads + self.num_residual_blocks = num_residual_blocks self.intermediate_size = intermediate_size - self.hidden_act = hidden_act - self.hidden_dropout_prob = hidden_dropout_prob + self.activation_function = activation_function + self.embedding_dropout_prob = embedding_dropout_prob + self.residual_dropout_prob = residual_dropout_prob self.attention_probs_dropout_prob = attention_probs_dropout_prob - self.type_sequence_label_size = type_sequence_label_size self.initializer_range = initializer_range - self.scope = scope - self.encoder_stride = encoder_stride + self.layer_norm_eps = layer_norm_eps + self.image_size = image_size + self.num_channels = num_channels + self.qkv_bias = qkv_bias - # in ICT, the seq length equals the number of patches + 1 (we add 1 for the [CLS] token) - num_patches = (image_size // patch_size) ** 2 - self.seq_length = num_patches + 1 + self.scope = scope + self.is_training = is_training def prepare_config_and_inputs(self): - pixel_values = floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]) - - labels = None - if self.use_labels: - labels = ids_tensor([self.batch_size], self.type_sequence_label_size) + pixel_values = ids_tensor([self.batch_size, self.image_size], self.vocab_size) + bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() + (np.asarray([[241.0, 212.0, 177.0], [50.0, 125.0, 197.0]]),) config = self.get_config() - return config, pixel_values, labels + return config, pixel_values, bool_masked_pos def get_config(self): return IctConfig( - image_size=self.image_size, - patch_size=self.patch_size, - num_channels=self.num_channels, + vocab_size=self.vocab_size, hidden_size=self.hidden_size, num_hidden_layers=self.num_hidden_layers, num_attention_heads=self.num_attention_heads, + num_residual_blocks=self.num_residual_blocks, intermediate_size=self.intermediate_size, - hidden_act=self.hidden_act, - hidden_dropout_prob=self.hidden_dropout_prob, + activation_function=self.activation_function, + embedding_dropout_prob=self.embedding_dropout_prob, + residual_dropout_prob=self.residual_dropout_prob, attention_probs_dropout_prob=self.attention_probs_dropout_prob, - is_decoder=False, initializer_range=self.initializer_range, - encoder_stride=self.encoder_stride, + layer_norm_eps=self.layer_norm_eps, + image_size=self.image_size, + num_channels=self.num_channels, + qkv_bias=self.qkv_bias, ) - def create_and_check_model(self, config, pixel_values, labels): + def create_and_check_model(self, config, pixel_values): model = IctModel(config=config) model.to(torch_device) model.eval() @@ -133,9 +135,9 @@ def prepare_config_and_inputs_for_common(self): ( config, pixel_values, - labels, + bool_masked_pos, ) = config_and_inputs - inputs_dict = {"pixel_values": pixel_values} + inputs_dict = {"pixel_values": pixel_values, "bool_masked_pos": bool_masked_pos} return config, inputs_dict @@ -190,10 +192,6 @@ def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() self.model_tester.create_and_check_model(*config_and_inputs) - def test_for_masked_image_modeling(self): - config_and_inputs = self.model_tester.prepare_config_and_inputs() - self.model_tester.create_and_check_for_masked_image_modeling(*config_and_inputs) - @slow def test_model_from_pretrained(self): for model_name in ICT_PRETRAINED_MODEL_ARCHIVE_LIST[:1]: @@ -211,23 +209,27 @@ def prepare_img(): @require_vision class IctModelIntegrationTest(unittest.TestCase): @cached_property - def default_feature_extractor(self): - return ViTFeatureExtractor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None + def default_image_processor(self): + return IctImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None @slow - @require_accelerate - @require_torch_gpu - def test_inference_fp16(self): - r""" - A small test to make sure that inference work in half precision without any problem. - """ - model = IctModel.from_pretrained("facebook/dino-icts8", torch_dtype=torch.float16, device_map="auto") - feature_extractor = self.default_feature_extractor + def test_inference_masked_image_modeling(self): + model = IctModel.from_pretrained("sheonhan/ict-imagenet-256").to(torch_device) + image_processor = self.default_image_processor image = prepare_img() - inputs = feature_extractor(images=image, return_tensors="pt") - pixel_values = inputs.pixel_values.to(torch_device) + inputs = image_processor(images=image, return_tensors="pt") - # forward pass to make sure inference works in fp16 + # forward pass with torch.no_grad(): - _ = model(pixel_values) + outputs = model(**inputs) + + # verify the logits + expected_shape = torch.Size((1, 1024, 512)) + self.assertEqual(outputs.logits.shape, expected_shape) + + expected_slice = torch.tensor( + [[2.3445, 2.6889, 2.7313], [1.0530, 1.2416, 0.5699], [0.2205, 0.7749, 0.3953]] + ).to(torch_device) + + self.assertTrue(torch.allclose(outputs.logits[0, :3, :3], expected_slice, atol=1e-4)) From 2ea894761f7fa3d9327ac9eafc0ba95c3ad548dd Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 28 Apr 2023 02:34:12 -0700 Subject: [PATCH 43/70] add documentation --- docs/source/en/model_doc/ict.mdx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx index 1979db2af93e..e01eb0dafecc 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.mdx @@ -14,12 +14,11 @@ specific language governing permissions and limitations under the License. ## Overview -The ICT model was proposed in []() by . - +The ICT model was proposed in [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. ICT (Image Completion with Transformers) leverages both a transformer and CNNs by decoupling image completion into two steps: pluralistic appearance priors reconstruction with a transformer to recover the coherent image structures, and low-resolution upsampling with CNNs to replenish fine textures. The abstract from the paper is the following: -** +*Image completion has made tremendous progress with convolutional neural networks (CNNs), because of their powerful texture modeling capacity. However, due to some inherent properties (e.g., local inductive prior, spatial-invariant kernels), CNNs do not perform well in understanding global structures or naturally support pluralistic completion. Recently, transformers demonstrate their power in modeling the long-term relationship and generating diverse results, but their computation complexity is quadratic to input length, thus hampering the application in processing high-resolution images. This paper brings the best of both worlds to pluralistic image completion: appearance prior reconstruction with transformer and texture replenishment with CNN. The former transformer recovers pluralistic coherent structures together with some coarse textures, while the latter CNN enhances the local texture details of coarse priors guided by the high-resolution masked images. The proposed method vastly outperforms state-of-the-art methods in terms of three aspects: 1) large performance boost on image fidelity even compared to deterministic completion methods; 2) better diversity and higher fidelity for pluralistic completion; 3) exceptional generalization ability on large masks and generic dataset, like ImageNet.* Tips: From 2e1b6a4bfc410e575df2a1fd3938a0fc0aeddc32 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 28 Apr 2023 02:46:35 -0700 Subject: [PATCH 44/70] update documentation --- docs/source/en/model_doc/ict.mdx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx index e01eb0dafecc..673bbfbf114f 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.mdx @@ -22,10 +22,12 @@ The abstract from the paper is the following: Tips: - +- Unlike auto-regressive methods, in order to make the transformer model capable of completing the missing regions by considering all the available context, this model optimizes the log-likelihood objective of missing pixels bi-directionally conditions, which is inspired by the masked language model like BERT. +- The computational cost of multi-head attention increases quadratically, so the appearance priors is resized to low-resolution versions, which contains structural information and coarse textures only. But the dimension is further reduced by using an extra visual vocabulary (512 × 3) which is generated using k-means cluster centers of the whole ImageNet RGB pixel spaces. +- Three available checkpoints are trained on [ImageNet](https://www.image-net.org/challenges/LSVRC), [FFHQ](https://github.com/NVlabs/ffhq-dataset) and [Places2](http://places2.csail.mit.edu/). -This model was contributed by [INSERT YOUR HF USERNAME HERE](https://huggingface.co/). -The original code can be found [here](). +This model was contributed by [Sheon Han](https://huggingface.co/sheonhan). +The original code can be found [here](https://github.com/raywzy/ICT). ## IctConfig From e3434eb3be8cc3b2f032954b596ef9b5984b259a Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 28 Apr 2023 07:10:43 -0700 Subject: [PATCH 45/70] fix the shape of the input for IctGuidedUpsampler --- src/transformers/models/ict/modeling_ict.py | 10 +++++----- tests/models/ict/test_modeling_ict.py | 12 ++++++------ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 8d1b0c6d6da1..6ffde488141e 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -650,6 +650,7 @@ def __init__(self, config: IctConfig): def forward(self, images, edges, masks): images_masked = (images * (1 - masks).float()) + masks + images_masked = images_masked.permute(0, 3, 1, 2) inputs = torch.cat((images_masked, edges), dim=1) outputs = self.generator(inputs) return outputs @@ -759,11 +760,10 @@ def forward( height = width = math.floor(sequence_length**0.5) sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) - # need to have def forward(self, images, edges, masks): - pixel_values = [ - clusters[pixel_values[i]].view(height, width, 3).numpy().astype(np.uint8) for i in range(batch_size) - ] - reconstructed_pixel_values = self.guided_upsampler(pixel_values, sequence_output, bool_masked_pos) + clusters = np.rint(127.5 * (clusters + 1.0)) + clusters = torch.from_numpy(clusters) + pixel_values = torch.stack([clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)]).to(torch.float32) + reconstructed_pixel_values = self.guided_upsampler(pixel_values, sequence_output, bool_masked_pos.reshape(-1, height, height).unsqueeze(-1).int()) loss = None if bool_masked_pos is not None: diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index ed9cb5ed93c7..700482af07ae 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -68,11 +68,8 @@ def __init__( image_size=64, num_channels=3, qkv_bias=False, - # Doesn't exist in Ict? scope=None, is_training=True, - use_labels=False, - # type_sequence_label_size=2, ): self.parent = parent self.batch_size = batch_size @@ -98,11 +95,13 @@ def __init__( def prepare_config_and_inputs(self): pixel_values = ids_tensor([self.batch_size, self.image_size], self.vocab_size) bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() - (np.asarray([[241.0, 212.0, 177.0], [50.0, 125.0, 197.0]]),) + + np.random.seed(6) + clusters = np.random.rand(512, 3) config = self.get_config() - return config, pixel_values, bool_masked_pos + return config, pixel_values, bool_masked_pos, clusters def get_config(self): return IctConfig( @@ -136,8 +135,9 @@ def prepare_config_and_inputs_for_common(self): config, pixel_values, bool_masked_pos, + clusters, ) = config_and_inputs - inputs_dict = {"pixel_values": pixel_values, "bool_masked_pos": bool_masked_pos} + inputs_dict = {"pixel_values": pixel_values, "bool_masked_pos": bool_masked_pos, "clusters": clusters} return config, inputs_dict From 0b43c07962cc8b7183d3be4c69e00eb7d4c234c6 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Tue, 9 May 2023 08:09:15 -0700 Subject: [PATCH 46/70] fix all tests --- .../models/ict/configuration_ict.py | 10 ++- src/transformers/models/ict/modeling_ict.py | 63 ++++++++++++++----- tests/models/ict/test_modeling_ict.py | 22 ++++--- 3 files changed, 73 insertions(+), 22 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index bc2cc01f3948..affd1cd76158 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -55,7 +55,7 @@ class IctConfig(PretrainedConfig): activation_function (`str`, *optional*, defaults to `"gelu"`): Activation function (can be one of the activation functions defined in src/transformers/activations.py). Defaults to "quick_gelu". - embedding_dropout_prob (`int`, *optional*, defaults to 0.0): + embedding_dropout_prob (`float`, *optional*, defaults to 0.0): The dropout ratio for the embeddings. residual_dropout_prob (`float`, *optional*, defaults to 0.0): The dropout probability for all fully connected layers in the embeddings, encoder, and pooler. @@ -71,6 +71,10 @@ class IctConfig(PretrainedConfig): The number of input channels. qkv_bias (`bool`, *optional*, defaults to `False`): Whether to add a bias to the queries, keys and values. + output_height (`int`, *optional*, defaults to 256): + The height of the final image. + output_width (`int`, *optional*, defaults to 256): + The width of the final image. Example: @@ -105,6 +109,8 @@ def __init__( image_size=1024, num_channels=3, qkv_bias=False, + output_height=256, + output_width=256, **kwargs, ): super().__init__(**kwargs) @@ -124,3 +130,5 @@ def __init__( self.image_size = image_size self.num_channels = num_channels self.qkv_bias = qkv_bias + self.output_height = output_height + self.output_width = output_width diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 6ffde488141e..ce2c98b6ba9b 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -23,6 +23,7 @@ import torch import torch.utils.checkpoint import torchvision.models as models +from PIL import Image from torch import nn from ...activations import ACT2FN @@ -242,6 +243,9 @@ def custom_forward(*inputs): if output_attentions: all_self_attentions = all_self_attentions + (layer_outputs[1],) + if output_hidden_states: + all_hidden_states = all_hidden_states + (hidden_states,) + if not return_dict: return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) @@ -265,13 +269,13 @@ class IctPretrainedModel(PreTrainedModel): supports_gradient_checkpointing = True _no_split_modules = [] - def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm, nn.Conv2d]) -> None: + def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm, nn.Conv2d, nn.ConvTranspose2d]) -> None: """Initialize the weights""" - if isinstance(module, (nn.Linear, nn.Embedding, nn.Conv2d)): + if isinstance(module, (nn.Linear, nn.Embedding, nn.Conv2d, nn.ConvTranspose2d)): module.weight.data = nn.init.normal_( module.weight.data.to(torch.float32), mean=0.0, std=self.config.initializer_range ).to(module.weight.dtype) - if isinstance(module, (nn.Linear, nn.Conv2d)) and module.bias is not None: + if isinstance(module, (nn.Linear, nn.Conv2d, nn.ConvTranspose2d)) and module.bias is not None: module.bias.data.zero_() elif isinstance(module, nn.LayerNorm): module.bias.data.zero_() @@ -295,7 +299,7 @@ def __init__(self, config: IctConfig, use_mask_token: bool = False): self.encoder = IctEncoder(config) self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) - self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) # Initialize weights and apply final processing self.post_init() @@ -341,7 +345,7 @@ def forward( ) sequence_output = encoder_outputs[0] sequence_output = self.layernorm(sequence_output) - pooled_output = self.head(sequence_output) + pooled_output = self.head(sequence_output) if not return_dict: head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) @@ -645,12 +649,33 @@ def __init__(self, config: IctConfig): super().__init__(config) self.generator = IctInpaintGenerator(config) + self.output_height = config.output_height + self.output_width = config.output_width self.post_init() + def resize(self, img, target_height, target_width): + img = img.cpu().detach().numpy() + img_height, img_width = img.shape[0:2] + + if img_height != img_width: + # Center crop + side = min(img_height, img_width) + j = (img_height - side) // 2 + i = (img_width - side) // 2 + img = img[j : j + side, i : i + side, ...] + img = img.astype(np.uint8) + np_img = Image.fromarray(img) + img = np.array(np_img.resize((target_height, target_width), resample=Image.BICUBIC)) + return torch.from_numpy(img) + def forward(self, images, edges, masks): + images = torch.stack([self.resize(image, self.output_height, self.output_width) for image in images]) + edges = torch.stack([self.resize(edge, self.output_height, self.output_width) for edge in edges]) + masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]).unsqueeze(-1) images_masked = (images * (1 - masks).float()) + masks images_masked = images_masked.permute(0, 3, 1, 2) + edges = edges.permute(0, 3, 1, 2) inputs = torch.cat((images_masked, edges), dim=1) outputs = self.generator(inputs) return outputs @@ -700,10 +725,14 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): self.config = config self.transformer = IctTransformerModel(config, use_mask_token=use_mask_token) self.guided_upsampler = IctGuidedUpsampler(config) + # self.clusters = # Initialize weights and apply final processing self.post_init() + def get_input_embeddings(self): + return self.transformer.embeddings.token_embedding + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) @replace_return_docstrings(output_type=MaskedImageModelingOutput, config_class=_CONFIG_FOR_DOC) def forward( @@ -758,22 +787,28 @@ def forward( # current_img= clusters[pixel_values[i]].view(opts.image_size, opts.image_size, 3).numpy().astype(np.uint8) batch_size, sequence_length, num_channels = sequence_output.shape height = width = math.floor(sequence_length**0.5) - sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) - + sequence_output = sequence_output.permute(0, 2, 1).reshape( + batch_size, num_channels, height, width + ) + clusters = np.rint(127.5 * (clusters + 1.0)) clusters = torch.from_numpy(clusters) - pixel_values = torch.stack([clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)]).to(torch.float32) - reconstructed_pixel_values = self.guided_upsampler(pixel_values, sequence_output, bool_masked_pos.reshape(-1, height, height).unsqueeze(-1).int()) + recovered_pixel_values = torch.stack( + [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] + ) + reshaped_bool_masked_pos = bool_masked_pos.reshape(-1, height, height) + reconstructed_pixel_values = self.guided_upsampler( + recovered_pixel_values, recovered_pixel_values, reshaped_bool_masked_pos + ) loss = None if bool_masked_pos is not None: - bool_masked_pos = bool_masked_pos.reshape(-1, self.config.image_size, self.config.image_size) - mask = bool_masked_pos.repeat_interleave(1, 1).repeat_interleave(1, 2).unsqueeze(1).contiguous() - reconstruction_loss = nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") - loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels + size = math.floor(self.config.image_size**0.5) + bool_masked_pos = bool_masked_pos.reshape(-1, size, size) + bool_masked_pos.repeat_interleave(1, 1).repeat_interleave(1, 2).unsqueeze(1).contiguous() if not return_dict: - output = (reconstructed_pixel_values,) + outputs[1:] + output = (reconstructed_pixel_values,) + outputs[2:] # TODO Remove pooled_output? Or used that for masked modeling? return ((loss,) + output) if loss is not None else output return MaskedImageModelingOutput( diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index 700482af07ae..f04cbe88ef60 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -65,9 +65,11 @@ def __init__( attention_probs_dropout_prob=0.0, initializer_range=0.02, layer_norm_eps=1e-12, - image_size=64, + image_size=1024, num_channels=3, qkv_bias=False, + output_height=256, + output_width=256, scope=None, is_training=True, ): @@ -88,14 +90,17 @@ def __init__( self.image_size = image_size self.num_channels = num_channels self.qkv_bias = qkv_bias + self.output_height = output_height + self.output_width = output_width + self.seq_length = image_size self.scope = scope self.is_training = is_training def prepare_config_and_inputs(self): pixel_values = ids_tensor([self.batch_size, self.image_size], self.vocab_size) bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() - + np.random.seed(6) clusters = np.random.rand(512, 3) @@ -120,22 +125,24 @@ def get_config(self): image_size=self.image_size, num_channels=self.num_channels, qkv_bias=self.qkv_bias, + output_height=self.output_height, + output_width=self.output_width, ) - def create_and_check_model(self, config, pixel_values): + def create_and_check_model(self, config, pixel_values, bool_masked_pos, clusters): model = IctModel(config=config) model.to(torch_device) model.eval() - result = model(pixel_values) - self.parent.assertEqual(result.last_hidden_state.shape, (self.batch_size, self.seq_length, self.hidden_size)) + result = model(pixel_values, bool_masked_pos, clusters) + self.parent.assertEqual(result.reconstruction.shape, (self.batch_size, self.num_channels ,self.output_height, self.output_width)) def prepare_config_and_inputs_for_common(self): config_and_inputs = self.prepare_config_and_inputs() ( config, pixel_values, - bool_masked_pos, - clusters, + bool_masked_pos, + clusters ) = config_and_inputs inputs_dict = {"pixel_values": pixel_values, "bool_masked_pos": bool_masked_pos, "clusters": clusters} return config, inputs_dict @@ -190,6 +197,7 @@ def test_forward_signature(self): def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() + print(f"CUSTOM_LOG config_and_inputs: {config_and_inputs}") self.model_tester.create_and_check_model(*config_and_inputs) @slow From bcd52353ae671e6efbe71530b341f541370176cb Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 10 May 2023 22:58:37 -0700 Subject: [PATCH 47/70] move VGG19 up --- src/transformers/models/ict/modeling_ict.py | 213 ++++++++++---------- 1 file changed, 107 insertions(+), 106 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index ce2c98b6ba9b..ad62f5faa992 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -418,112 +418,6 @@ def forward(self, x): return x - -class IctAdversarialLoss(nn.Module): - r""" - Adversarial loss https://arxiv.org/abs/1711.10337 - """ - - def __init__(self, gan_loss_function="nsgan", target_real_label=1.0, target_fake_label=0.0): - r""" - gan_loss_function = nsgan | lsgan | hinge - """ - super().__init__() - - self.gan_loss_function = gan_loss_function - self.register_buffer("real_label", torch.tensor(target_real_label)) - self.register_buffer("fake_label", torch.tensor(target_fake_label)) - - if gan_loss_function == "nsgan": - self.criterion = nn.BCELoss() - - elif gan_loss_function == "lsgan": - self.criterion = nn.MSELoss() - - elif gan_loss_function == "hinge": - self.criterion = nn.ReLU() - - def __call__(self, outputs, is_real, is_discriminator=None): - if self.gan_loss_function == "hinge": - if is_discriminator: - if is_real: - outputs = -outputs - return self.criterion(1 + outputs).mean() - else: - return (-outputs).mean() - - else: - labels = (self.real_label if is_real else self.fake_label).expand_as(outputs) - loss = self.criterion(outputs, labels) - return loss - - -class IctStyleLoss(nn.Module): - r""" - Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 - https://github.com/dxyang/StyleTransfer/blob/master/utils.py - """ - - def __init__(self): - super().__init__() - self.add_module("vgg", VGG19()) - self.criterion = torch.nn.L1Loss() - - def compute_gram_matrix(self, x): - batch_size, channels, height, width = x.size() - features = x.view(batch_size, channels, width * height) - gram = features.bmm(features.transpose(1, 2)) / (height * width * channels) - - return gram - - def __call__(self, x, y): - # Compute features - x_vgg, y_vgg = self.vgg(x), self.vgg(y) - - # Compute loss - style_loss = 0.0 - style_loss += self.criterion( - self.compute_gram_matrix(x_vgg["relu2_2"]), self.compute_gram_matrix(y_vgg["relu2_2"]) - ) - style_loss += self.criterion( - self.compute_gram_matrix(x_vgg["relu3_4"]), self.compute_gram_matrix(y_vgg["relu3_4"]) - ) - style_loss += self.criterion( - self.compute_gram_matrix(x_vgg["relu4_4"]), self.compute_gram_matrix(y_vgg["relu4_4"]) - ) - style_loss += self.criterion( - self.compute_gram_matrix(x_vgg["relu5_2"]), self.compute_gram_matrix(y_vgg["relu5_2"]) - ) - - return style_loss - - -class IctPerceptualLoss(nn.Module): - r""" - Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 - https://github.com/dxyang/StyleTransfer/blob/master/utils.py - """ - - def __init__(self, weights=None): - super().__init__() - self.add_module("vgg", VGG19()) - self.criterion = torch.nn.L1Loss() - self.weights = weights if weights is not None else [1.0, 1.0, 1.0, 1.0, 1.0] - - def __call__(self, x, y): - # Compute features - x_vgg, y_vgg = self.vgg(x), self.vgg(y) - - content_loss = 0.0 - content_loss += self.weights[0] * self.criterion(x_vgg["relu1_1"], y_vgg["relu1_1"]) - content_loss += self.weights[1] * self.criterion(x_vgg["relu2_1"], y_vgg["relu2_1"]) - content_loss += self.weights[2] * self.criterion(x_vgg["relu3_1"], y_vgg["relu3_1"]) - content_loss += self.weights[3] * self.criterion(x_vgg["relu4_1"], y_vgg["relu4_1"]) - content_loss += self.weights[4] * self.criterion(x_vgg["relu5_1"], y_vgg["relu5_1"]) - - return content_loss - - class VGG19(torch.nn.Module): def __init__(self): super().__init__() @@ -644,6 +538,113 @@ def forward(self, x): return out + +class IctAdversarialLoss(nn.Module): + r""" + Adversarial loss https://arxiv.org/abs/1711.10337 + """ + + def __init__(self, gan_loss_function="nsgan", target_real_label=1.0, target_fake_label=0.0): + r""" + gan_loss_function = nsgan | lsgan | hinge + """ + super().__init__() + + self.gan_loss_function = gan_loss_function + self.register_buffer("real_label", torch.tensor(target_real_label)) + self.register_buffer("fake_label", torch.tensor(target_fake_label)) + + if gan_loss_function == "nsgan": + self.criterion = nn.BCELoss() + + elif gan_loss_function == "lsgan": + self.criterion = nn.MSELoss() + + elif gan_loss_function == "hinge": + self.criterion = nn.ReLU() + + def __call__(self, outputs, is_real, is_discriminator=None): + if self.gan_loss_function == "hinge": + if is_discriminator: + if is_real: + outputs = -outputs + return self.criterion(1 + outputs).mean() + else: + return (-outputs).mean() + + else: + labels = (self.real_label if is_real else self.fake_label).expand_as(outputs) + loss = self.criterion(outputs, labels) + return loss + + +class IctStyleLoss(nn.Module): + r""" + Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 + https://github.com/dxyang/StyleTransfer/blob/master/utils.py + """ + + def __init__(self): + super().__init__() + self.add_module("vgg", VGG19()) + self.criterion = torch.nn.L1Loss() + + def compute_gram_matrix(self, x): + batch_size, channels, height, width = x.size() + features = x.view(batch_size, channels, width * height) + gram = features.bmm(features.transpose(1, 2)) / (height * width * channels) + + return gram + + def __call__(self, x, y): + # Compute features + x_vgg, y_vgg = self.vgg(x), self.vgg(y) + + # Compute loss + style_loss = 0.0 + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu2_2"]), self.compute_gram_matrix(y_vgg["relu2_2"]) + ) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu3_4"]), self.compute_gram_matrix(y_vgg["relu3_4"]) + ) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu4_4"]), self.compute_gram_matrix(y_vgg["relu4_4"]) + ) + style_loss += self.criterion( + self.compute_gram_matrix(x_vgg["relu5_2"]), self.compute_gram_matrix(y_vgg["relu5_2"]) + ) + + return style_loss + + +class IctPerceptualLoss(nn.Module): + r""" + Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 + https://github.com/dxyang/StyleTransfer/blob/master/utils.py + """ + + def __init__(self, weights=None): + super().__init__() + self.add_module("vgg", VGG19()) + self.criterion = torch.nn.L1Loss() + self.weights = weights if weights is not None else [1.0, 1.0, 1.0, 1.0, 1.0] + + def __call__(self, x, y): + # Compute features + x_vgg, y_vgg = self.vgg(x), self.vgg(y) + + content_loss = 0.0 + content_loss += self.weights[0] * self.criterion(x_vgg["relu1_1"], y_vgg["relu1_1"]) + content_loss += self.weights[1] * self.criterion(x_vgg["relu2_1"], y_vgg["relu2_1"]) + content_loss += self.weights[2] * self.criterion(x_vgg["relu3_1"], y_vgg["relu3_1"]) + content_loss += self.weights[3] * self.criterion(x_vgg["relu4_1"], y_vgg["relu4_1"]) + content_loss += self.weights[4] * self.criterion(x_vgg["relu5_1"], y_vgg["relu5_1"]) + + return content_loss + + + class IctGuidedUpsampler(IctPretrainedModel): def __init__(self, config: IctConfig): super().__init__(config) From dae406e61fedff0d0baf6347e14fa18168b7ee55 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 10 May 2023 23:02:38 -0700 Subject: [PATCH 48/70] remove MIM --- src/transformers/models/auto/modeling_auto.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/transformers/models/auto/modeling_auto.py b/src/transformers/models/auto/modeling_auto.py index 1a1128d916e9..889dcae8e871 100755 --- a/src/transformers/models/auto/modeling_auto.py +++ b/src/transformers/models/auto/modeling_auto.py @@ -423,7 +423,6 @@ [ ("deit", "DeiTForMaskedImageModeling"), ("focalnet", "FocalNetForMaskedImageModeling"), - ("ict", "ICTForMaskedImageModeling"), ("swin", "SwinForMaskedImageModeling"), ("swinv2", "Swinv2ForMaskedImageModeling"), ("vit", "ViTForMaskedImageModeling"), From 0ae0683fc5c1a741d167ab5b882e885c0f4c0fc9 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 10 May 2023 23:52:42 -0700 Subject: [PATCH 49/70] add clusters as args --- src/transformers/models/ict/modeling_ict.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index ad62f5faa992..8ee8b547349a 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -655,6 +655,7 @@ def __init__(self, config: IctConfig): self.post_init() + # copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L203-L209 def resize(self, img, target_height, target_width): img = img.cpu().detach().numpy() img_height, img_width = img.shape[0:2] @@ -699,9 +700,11 @@ def forward(self, images, edges, masks): ICT_INPUTS_DOCSTRING = r""" Args: - pixel_values (`torch.FloatTensor` of shape `(batch_size, num_channels, height, width)`): + pixel_values (`torch.FloatTensor` of shape `(batch_size, height * width)`): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`IctImageProcessor.__call__`] for details. + clusters (`np.ndarray`, of shape `(n_clusters, 3)`): + Clusters used to quantize the image of shape `(n_clusters, 3)` before being fed to Guided Upsampler. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random masks if not provided. @@ -726,7 +729,6 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): self.config = config self.transformer = IctTransformerModel(config, use_mask_token=use_mask_token) self.guided_upsampler = IctGuidedUpsampler(config) - # self.clusters = # Initialize weights and apply final processing self.post_init() From a32dd8764cfe5b29b286a7b7ef3285954e50041c Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 11 May 2023 02:08:51 -0700 Subject: [PATCH 50/70] changes to fix test --- .../models/ict/image_processing_ict.py | 3 +- src/transformers/models/ict/modeling_ict.py | 49 ++++++++++--------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 96b2a3c1ccd9..9cc0f8dcf649 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -102,7 +102,7 @@ def __init__( self.image_mean = image_mean if image_mean is not None else IMAGENET_STANDARD_MEAN self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD self.do_color_quantize = do_color_quantize - self.clusters = clusters + self.clusters = np.array(clusters) def resize( self, @@ -314,7 +314,6 @@ def preprocess( if do_color_quantize: images = [to_channel_dimension_format(image, ChannelDimension.FIRST) for image in images] # flatten images to (batch_size, height * width) - clusters = np.array(clusters) images = [self.color_quantize(image=image, clusters=clusters) for image in images] else: images = [to_channel_dimension_format(image, data_format) for image in images] diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 8ee8b547349a..dcb45925c5a3 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -23,6 +23,7 @@ import torch import torch.utils.checkpoint import torchvision.models as models +import torchvision.transforms.functional as F from PIL import Image from torch import nn @@ -245,7 +246,7 @@ def custom_forward(*inputs): if output_hidden_states: all_hidden_states = all_hidden_states + (hidden_states,) - + if not return_dict: return tuple(v for v in [hidden_states, all_hidden_states, all_self_attentions] if v is not None) @@ -269,7 +270,9 @@ class IctPretrainedModel(PreTrainedModel): supports_gradient_checkpointing = True _no_split_modules = [] - def _init_weights(self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm, nn.Conv2d, nn.ConvTranspose2d]) -> None: + def _init_weights( + self, module: Union[nn.Linear, nn.Embedding, nn.LayerNorm, nn.Conv2d, nn.ConvTranspose2d] + ) -> None: """Initialize the weights""" if isinstance(module, (nn.Linear, nn.Embedding, nn.Conv2d, nn.ConvTranspose2d)): module.weight.data = nn.init.normal_( @@ -299,7 +302,7 @@ def __init__(self, config: IctConfig, use_mask_token: bool = False): self.encoder = IctEncoder(config) self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) - self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) # Initialize weights and apply final processing self.post_init() @@ -345,7 +348,7 @@ def forward( ) sequence_output = encoder_outputs[0] sequence_output = self.layernorm(sequence_output) - pooled_output = self.head(sequence_output) + pooled_output = self.head(sequence_output) # logits if not return_dict: head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) @@ -538,7 +541,6 @@ def forward(self, x): return out - class IctAdversarialLoss(nn.Module): r""" Adversarial loss https://arxiv.org/abs/1711.10337 @@ -644,7 +646,6 @@ def __call__(self, x, y): return content_loss - class IctGuidedUpsampler(IctPretrainedModel): def __init__(self, config: IctConfig): super().__init__(config) @@ -655,7 +656,8 @@ def __init__(self, config: IctConfig): self.post_init() - # copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L203-L209 + # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L203-L209 + # and https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L183-L186 def resize(self, img, target_height, target_width): img = img.cpu().detach().numpy() img_height, img_width = img.shape[0:2] @@ -668,11 +670,14 @@ def resize(self, img, target_height, target_width): img = img[j : j + side, i : i + side, ...] img = img.astype(np.uint8) np_img = Image.fromarray(img) - img = np.array(np_img.resize((target_height, target_width), resample=Image.BICUBIC)) - return torch.from_numpy(img) + resized_np_img = np_img.resize((target_height, target_width), resample=Image.BICUBIC) + return F.to_tensor(resized_np_img).float() + + # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/models.py#L165-L183 def forward(self, images, edges, masks): images = torch.stack([self.resize(image, self.output_height, self.output_width) for image in images]) + masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]) edges = torch.stack([self.resize(edge, self.output_height, self.output_width) for edge in edges]) masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]).unsqueeze(-1) images_masked = (images * (1 - masks).float()) + masks @@ -704,7 +709,7 @@ def forward(self, images, edges, masks): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`IctImageProcessor.__call__`] for details. clusters (`np.ndarray`, of shape `(n_clusters, 3)`): - Clusters used to quantize the image of shape `(n_clusters, 3)` before being fed to Guided Upsampler. + Clusters used to quantize the image of shape `(n_clusters, 3)` before being fed to Guided Upsampler. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random masks if not provided. @@ -735,7 +740,7 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): def get_input_embeddings(self): return self.transformer.embeddings.token_embedding - + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) @replace_return_docstrings(output_type=MaskedImageModelingOutput, config_class=_CONFIG_FOR_DOC) def forward( @@ -785,25 +790,25 @@ def forward( ) sequence_output = outputs[0] - - # TODO: Change back using clusters - # current_img= clusters[pixel_values[i]].view(opts.image_size, opts.image_size, 3).numpy().astype(np.uint8) batch_size, sequence_length, num_channels = sequence_output.shape height = width = math.floor(sequence_length**0.5) - sequence_output = sequence_output.permute(0, 2, 1).reshape( - batch_size, num_channels, height, width - ) - + sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) + + # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L107-L126 clusters = np.rint(127.5 * (clusters + 1.0)) clusters = torch.from_numpy(clusters) - recovered_pixel_values = torch.stack( - [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] - ) + recovered_pixel_values = [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] - reshaped_bool_masked_pos = bool_masked_pos.reshape(-1, height, height) + # Handle without boolean mask + reshaped_bool_masked_pos = ( + bool_masked_pos.reshape(-1, height, width) + if bool_masked_pos + else torch.full((1, height, width), 1) + ) reconstructed_pixel_values = self.guided_upsampler( recovered_pixel_values, recovered_pixel_values, reshaped_bool_masked_pos ) + loss = None if bool_masked_pos is not None: size = math.floor(self.config.image_size**0.5) From c34074ff66f9b24f1a60d26a2fd56e50db4e00fc Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 11 May 2023 21:54:47 -0700 Subject: [PATCH 51/70] style update --- src/transformers/models/ict/modeling_ict.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index dcb45925c5a3..a7a425aec517 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -57,7 +57,7 @@ # See all ICT models at https://huggingface.co/models?filter=ict ] - +# Modified from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class IctEmbeddings(nn.Module): """ Construct the embeddings. Optionally, also the mask token. @@ -285,7 +285,7 @@ def _init_weights( module.weight.data.fill_(1.0) def _set_gradient_checkpointing(self, module, value: bool = False) -> None: - if isinstance(module, (IctTransformerModel, IctGuidedUpsampler)): + if isinstance(module, (IctEncoder, IctTransformerModel, IctGuidedUpsampler)): module.gradient_checkpointing = value @@ -421,6 +421,7 @@ def forward(self, x): return x + class VGG19(torch.nn.Module): def __init__(self): super().__init__() @@ -651,6 +652,10 @@ def __init__(self, config: IctConfig): super().__init__(config) self.generator = IctInpaintGenerator(config) + self.adversarial_loss = IctAdversarialLoss() + self.l1_loss = nn.L1Loss() + self.perceptual_loss = IctPerceptualLoss() + self.style_loss = IctStyleLoss() self.output_height = config.output_height self.output_width = config.output_width @@ -681,10 +686,10 @@ def forward(self, images, edges, masks): edges = torch.stack([self.resize(edge, self.output_height, self.output_width) for edge in edges]) masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]).unsqueeze(-1) images_masked = (images * (1 - masks).float()) + masks - images_masked = images_masked.permute(0, 3, 1, 2) - edges = edges.permute(0, 3, 1, 2) + inputs = torch.cat((images_masked, edges), dim=1) outputs = self.generator(inputs) + return outputs From 55d03f5d6f9291b3e1f1f9b830cbe8a1b469e2ab Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 11 May 2023 23:16:18 -0700 Subject: [PATCH 52/70] add original iage --- src/transformers/models/ict/modeling_ict.py | 35 ++++++++++-------- tests/models/ict/test_modeling_ict.py | 40 +++++++++++++-------- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index a7a425aec517..50a2bccac410 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -28,6 +28,7 @@ from torch import nn from ...activations import ACT2FN +from ...image_utils import ImageInput, make_list_of_images, to_numpy_array from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageModelingOutput from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer @@ -57,6 +58,7 @@ # See all ICT models at https://huggingface.co/models?filter=ict ] + # Modified from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class IctEmbeddings(nn.Module): """ @@ -663,7 +665,7 @@ def __init__(self, config: IctConfig): # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L203-L209 # and https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L183-L186 - def resize(self, img, target_height, target_width): + def resize(self, img: torch.Tensor, target_height: int, target_width: int): img = img.cpu().detach().numpy() img_height, img_width = img.shape[0:2] @@ -680,11 +682,11 @@ def resize(self, img, target_height, target_width): return F.to_tensor(resized_np_img).float() # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/models.py#L165-L183 - def forward(self, images, edges, masks): + def forward(self, images: List[torch.Tensor], edges: List[torch.Tensor], masks: List[torch.Tensor]): images = torch.stack([self.resize(image, self.output_height, self.output_width) for image in images]) masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]) edges = torch.stack([self.resize(edge, self.output_height, self.output_width) for edge in edges]) - masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]).unsqueeze(-1) + images_masked = (images * (1 - masks).float()) + masks inputs = torch.cat((images_masked, edges), dim=1) @@ -750,7 +752,8 @@ def get_input_embeddings(self): @replace_return_docstrings(output_type=MaskedImageModelingOutput, config_class=_CONFIG_FOR_DOC) def forward( self, - pixel_values: Optional[torch.Tensor] = None, + pixel_values: Optional[torch.Tensor], + original_images: ImageInput, bool_masked_pos: Optional[torch.BoolTensor] = None, clusters: Optional[np.ndarray] = None, output_attentions: Optional[bool] = None, @@ -793,7 +796,6 @@ def forward( output_hidden_states=output_hidden_states, return_dict=return_dict, ) - sequence_output = outputs[0] batch_size, sequence_length, num_channels = sequence_output.shape height = width = math.floor(sequence_length**0.5) @@ -804,24 +806,27 @@ def forward( clusters = torch.from_numpy(clusters) recovered_pixel_values = [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] - # Handle without boolean mask - reshaped_bool_masked_pos = ( - bool_masked_pos.reshape(-1, height, width) - if bool_masked_pos - else torch.full((1, height, width), 1) - ) - reconstructed_pixel_values = self.guided_upsampler( - recovered_pixel_values, recovered_pixel_values, reshaped_bool_masked_pos - ) + images = make_list_of_images(original_images) + images = [torch.from_numpy(to_numpy_array(image).astype(np.float32)) for image in images] + reshaped_bool_masked_pos = [ + bool_masked_pos.reshape(height, width) if bool_masked_pos is not None + # Handle without boolean mask + else torch.full((height, width), 1) + for _ in range(batch_size) + ] + + reconstructed_pixel_values = self.guided_upsampler(images, recovered_pixel_values, reshaped_bool_masked_pos) loss = None if bool_masked_pos is not None: size = math.floor(self.config.image_size**0.5) bool_masked_pos = bool_masked_pos.reshape(-1, size, size) bool_masked_pos.repeat_interleave(1, 1).repeat_interleave(1, 2).unsqueeze(1).contiguous() + # nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") + # loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels if not return_dict: - output = (reconstructed_pixel_values,) + outputs[2:] # TODO Remove pooled_output? Or used that for masked modeling? + output = (reconstructed_pixel_values,) + outputs[2:] # TODO return ((loss,) + output) if loss is not None else output return MaskedImageModelingOutput( diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index f04cbe88ef60..53a822cff7eb 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -99,14 +99,15 @@ def __init__( def prepare_config_and_inputs(self): pixel_values = ids_tensor([self.batch_size, self.image_size], self.vocab_size) - bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() + original_images = [prepare_img() for _ in range(self.batch_size)] + bool_masked_pos = torch.randint(low=0, high=2, size=(1, pixel_values.shape[1])).bool() np.random.seed(6) clusters = np.random.rand(512, 3) config = self.get_config() - return config, pixel_values, bool_masked_pos, clusters + return config, pixel_values, original_images, bool_masked_pos, clusters def get_config(self): return IctConfig( @@ -129,22 +130,24 @@ def get_config(self): output_width=self.output_width, ) - def create_and_check_model(self, config, pixel_values, bool_masked_pos, clusters): + def create_and_check_model(self, config, pixel_values, original_images, bool_masked_pos, clusters): model = IctModel(config=config) model.to(torch_device) model.eval() - result = model(pixel_values, bool_masked_pos, clusters) - self.parent.assertEqual(result.reconstruction.shape, (self.batch_size, self.num_channels ,self.output_height, self.output_width)) + result = model(pixel_values, original_images, bool_masked_pos, clusters) + self.parent.assertEqual( + result.reconstruction.shape, (self.batch_size, self.num_channels, self.output_height, self.output_width) + ) def prepare_config_and_inputs_for_common(self): config_and_inputs = self.prepare_config_and_inputs() - ( - config, - pixel_values, - bool_masked_pos, - clusters - ) = config_and_inputs - inputs_dict = {"pixel_values": pixel_values, "bool_masked_pos": bool_masked_pos, "clusters": clusters} + (config, pixel_values, original_images, bool_masked_pos, clusters) = config_and_inputs + inputs_dict = { + "pixel_values": pixel_values, + "original_images": original_images, + "bool_masked_pos": bool_masked_pos, + "clusters": clusters, + } return config, inputs_dict @@ -228,12 +231,21 @@ def test_inference_masked_image_modeling(self): image = prepare_img() inputs = image_processor(images=image, return_tensors="pt") + pixel_values = inputs.pixel_values + image_size = pixel_values.shape[1] + + torch.manual_seed(6) + bool_masked_pos = torch.randint(low=0, high=2, size=(1, image_size)).bool() + clusters = image_processor.clusters + # forward pass with torch.no_grad(): - outputs = model(**inputs) + outputs = model( + pixel_values=pixel_values, original_images=image, clusters=clusters, bool_masked_pos=bool_masked_pos + ) # verify the logits - expected_shape = torch.Size((1, 1024, 512)) + expected_shape = torch.Size((1, 3, 256, 256)) self.assertEqual(outputs.logits.shape, expected_shape) expected_slice = torch.tensor( From c323927ecd6ff1aec16800779fc56f06fc6902d6 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 14 May 2023 17:12:00 -0700 Subject: [PATCH 53/70] add ICT to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc1fd458f5af..bacda019ca59 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ Current number of checkpoints: ![](https://img.shields.io/endpoint?url=https://h 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (from Salesforce) released with the paper [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) by Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi. From ff002361b616c9c88eedf089d82b53edf6631b4f Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 14 May 2023 17:19:03 -0700 Subject: [PATCH 54/70] fix a few more bugs --- .../models/ict/configuration_ict.py | 6 + .../models/ict/convert_ict_to_pytorch.py | 192 ++++++++++++++++++ .../models/ict/image_processing_ict.py | 16 +- src/transformers/models/ict/modeling_ict.py | 18 +- tests/models/ict/test_image_processing_ict.py | 4 +- 5 files changed, 217 insertions(+), 19 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index affd1cd76158..6c5b62d07f2e 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -15,6 +15,7 @@ # limitations under the License. """ ICT model configuration""" +import numpy as np from ...configuration_utils import PretrainedConfig from ...utils import logging @@ -75,6 +76,9 @@ class IctConfig(PretrainedConfig): The height of the final image. output_width (`int`, *optional*, defaults to 256): The width of the final image. + clusters (`np.ndarray`, *optional*, defaults to `None`): + Clusters used to quantize the image of shape `(n_clusters, 3)`. Provide the same `clusters` used for + `IctImageProcessor`. Example: @@ -111,6 +115,7 @@ def __init__( qkv_bias=False, output_height=256, output_width=256, + clusters=None, **kwargs, ): super().__init__(**kwargs) @@ -132,3 +137,4 @@ def __init__( self.qkv_bias = qkv_bias self.output_height = output_height self.output_width = output_width + self.clusters = np.array(clusters) if clusters is not None else None diff --git a/src/transformers/models/ict/convert_ict_to_pytorch.py b/src/transformers/models/ict/convert_ict_to_pytorch.py index e69de29bb2d1..4992ca4792b6 100644 --- a/src/transformers/models/ict/convert_ict_to_pytorch.py +++ b/src/transformers/models/ict/convert_ict_to_pytorch.py @@ -0,0 +1,192 @@ +# coding=utf-8 +# Copyright 2023 The HuggingFace Inc. team. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Convert ICT checkpoints from the original library.""" + + +import argparse +from pathlib import Path + +import numpy as np +import requests +import torch +from huggingface_hub import hf_hub_download +from PIL import Image +from torchvision.transforms import Compose, Lambda, Resize + +from transformers import IctConfig, IctImageProcessor, IctModel +from transformers.image_utils import PILImageResampling +from transformers.utils import logging + + +logging.set_verbosity_info() +logger = logging.get_logger(__name__) + + +# rename parameter names +def rename_key(name): + if "stem.conv" in name: + name = name.replace("stem.conv", "bit.embedder.convolution") + if "blocks" in name: + name = name.replace("blocks", "layers") + if "head.fc" in name: + name = name.replace("head.fc", "classifier.1") + if name.startswith("norm"): + name = "bit." + name + if "bit" not in name and "classifier" not in name: + name = "bit.encoder." + name + + return name + + +# We will verify our results on an image of cute cats +def prepare_img(): + url = "http://images.cocodataset.org/val2017/000000039769.jpg" + im = Image.open(requests.get(url, stream=True).raw) + return im + + +@torch.no_grad() +def convert_ict_checkpoint( + checkpoint_path: Path, + ict_config_file: Path, + ict_image_processor_config_file: Path, + pytorch_dump_path: Path, + push_to_hub: bool, +): + torch.load(checkpoint_path, map_location="cpu")["model"] + config = IctConfig.from_json_file(ict_config_file) + model = IctModel(config) + model_name = checkpoint_path.split("/")[-1].split(".")[0] + + # print(orig_state_dict) + # model.load_state_dict(orig_state_dict) + # model.eval() + + # prepare image + image = prepare_img() + image_size = 32 + image_processor = IctImageProcessor.from_json_file(ict_image_processor_config_file) + clusters = image_processor.clusters + pixel_values = image_processor(images=image, return_tensors="pt").pixel_values + + # original processing pipeline + image_transforms = Compose( + [ + Resize((image_size, image_size), interpolation=PILImageResampling.BILINEAR), + Lambda(lambda img: torch.from_numpy(np.array(img)).view(-1, 3)), + Lambda(lambda img: ((img[:, None, :] - clusters[None, :, :]) ** 2).sum(-1).argmin(1)), + ] + ) + original_pixel_values = image_transforms(image).unsqueeze(0) + + assert torch.allclose(original_pixel_values, pixel_values) + inputs = {} + inputs["pixel_values"] = pixel_values + + # local_path = hf_hub_download(repo_id="hf-internal-testing/bool-masked-pos", filename="bool_masked_pos.pt") + local_path = hf_hub_download(repo_id="sheonhan/ict-imagenet-256", filename="my_bool_masked_pos.pt") + bool_masked_pos = torch.load(local_path) + inputs["bool_masked_pos"] = bool_masked_pos + + outputs = model(**inputs) + logits = outputs.logits + + expected_shape = (3, 256, 256) + + if "ImageNet" in model_name: + expected_logits = torch.Tensor( + [-0.1312, 0.4353, -1.0499, -0.5124, 0.4183, -0.6793, -1.3777, -0.0893, -0.7358, -2.4328] + ) + assert torch.allclose(logits[0, :10], expected_logits, atol=1e-3) + assert logits.shape == expected_shape + # elif "FFHQ" in model_name: + # expected_logits = torch.Tensor( + # [-1.3150, -1.5456, -1.2556, -0.8496, -0.7127, -0.7897, -0.9728, -0.3052, 0.3751, -0.3127] + # ) + # assert torch.allclose(logits[0, :10], expected_logits, atol=1e-3) + # assert logits.shape == expected_shape + # elif "Places2_Nature" in model_name: + # expected_logits = torch.Tensor( + # [-1.0283, -1.4131, -0.5644, -1.3115, -0.5785, -1.2049, -0.7528, 0.1992, -0.3822, -0.0878] + # ) + # assert logits.shape == expected_shape + else: + raise ValueError( + f"Unknown model checkpoint: {checkpoint_path}. Supported version of efficientformer are l1, l3 and l7" + ) + + # Save Checkpoints + Path(pytorch_dump_path).mkdir(exist_ok=True) + model.save_pretrained(pytorch_dump_path) + print(f"Checkpoint successfuly converted. Model saved at {pytorch_dump_path}") + image_processor.save_pretrained(pytorch_dump_path) + print(f"Image processor successfuly saved at {pytorch_dump_path}") + + if push_to_hub: + print("Pushing model to the hub...") + + model.push_to_hub( + repo_id=f"sheonhan/{pytorch_dump_path}", + commit_message="Add model", + use_temp_dir=True, + ) + image_processor.push_to_hub( + repo_id=f"sheonhan/{pytorch_dump_path}", + commit_message="Add feature extractor", + use_temp_dir=True, + ) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + # Required parameters + parser.add_argument( + "--pytorch_model_path", + default=None, + type=str, + required=True, + help="Path to ICT pytorch checkpoint.", + ) + parser.add_argument( + "--config_file", + default=None, + type=str, + required=True, + help="The json file for ICT model config.", + ) + parser.add_argument( + "--image_processor_config_file", + default=None, + type=str, + required=True, + help="The json file for IctImageProcessor config.", + ) + parser.add_argument( + "--pytorch_dump_path", + default="model", + type=str, + help="Path to the output PyTorch model directory.", + ) + parser.add_argument("--save_model", action="store_true", help="Save model to local") + parser.add_argument("--push_to_hub", action="store_true", help="Push model and image preprocessor to the hub") + + args = parser.parse_args() + convert_ict_checkpoint( + checkpoint_path=args.pytorch_model_path, + ict_config_file=args.config_file, + ict_image_processor_config_file=args.image_processor_config_file, + pytorch_dump_path=args.pytorch_dump_path, + push_to_hub=args.push_to_hub, + ) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 9cc0f8dcf649..e2e7d542b50f 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -18,6 +18,7 @@ from typing import Dict, List, Optional, Union import numpy as np +import torch from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict from ...image_transforms import normalize, rescale, resize, to_channel_dimension_format @@ -51,13 +52,13 @@ class IctImageProcessor(BaseImageProcessor): resample (`PILImageResampling`, *optional*, defaults to `PILImageResampling.BILINEAR`): Resampling filter to use if resizing the image. Can be overridden by the `resample` parameter in the `preprocess` method. - do_rescale (`bool`, *optional*, defaults to `True`): + do_rescale (`bool`, *optional*, defaults to `False`): Whether to rescale the image by the specified scale `rescale_factor`. Can be overridden by the `do_rescale` parameter in the `preprocess` method. rescale_factor (`int` or `float`, *optional*, defaults to `1/255`): Scale factor to use if rescaling the image. Can be overridden by the `rescale_factor` parameter in the `preprocess` method. - do_normalize (`bool`, *optional*, defaults to `True`):: + do_normalize (`bool`, *optional*, defaults to `False`):: Whether to normalize the image. Can be overridden by the `do_normalize` parameter in the `preprocess` method. image_mean (`float` or `List[float]`, *optional*, defaults to `IMAGENET_STANDARD_MEAN`): @@ -81,9 +82,9 @@ def __init__( do_resize: bool = True, size: Optional[Dict[str, int]] = None, resample: PILImageResampling = PILImageResampling.BILINEAR, - do_rescale: bool = True, + do_rescale: bool = False, rescale_factor: Union[int, float] = 1 / 255, - do_normalize: bool = True, + do_normalize: bool = False, image_mean: Optional[Union[float, List[float]]] = None, image_std: Optional[Union[float, List[float]]] = None, do_color_quantize: bool = True, @@ -203,10 +204,10 @@ def color_quantize(self, image: np.ndarray, clusters: Optional[np.ndarray] = Non corresponds to the index of clusters. """ - image = np.array(image).reshape((-1, 3)) - image = image.astype(np.float32) # Copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L98 + image = torch.from_numpy(image).view(-1, 3).float() image = ((image[:, None, :] - clusters[None, :, :]) ** 2).sum(-1).argmin(1) + image = image.numpy() return image def preprocess( @@ -310,9 +311,8 @@ def preprocess( if do_normalize: images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] - # Copied from transformers.models.imagegpt.image_processing_imagegpt.preprocess if do_color_quantize: - images = [to_channel_dimension_format(image, ChannelDimension.FIRST) for image in images] + images = [to_channel_dimension_format(image, ChannelDimension.LAST) for image in images] # flatten images to (batch_size, height * width) images = [self.color_quantize(image=image, clusters=clusters) for image in images] else: diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 50a2bccac410..cfba37b7919c 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -28,7 +28,6 @@ from torch import nn from ...activations import ACT2FN -from ...image_utils import ImageInput, make_list_of_images, to_numpy_array from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageModelingOutput from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer @@ -96,7 +95,7 @@ def forward( return embeddings -# Copied from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT +# Modified from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class IctSelfAttention(nn.Module): def __init__(self, config: IctConfig) -> None: super().__init__() @@ -291,7 +290,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: module.gradient_checkpointing = value -# Copied from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT +# Modified from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class IctTransformerModel(IctPretrainedModel): config_class = IctConfig main_input_name = "pixel_values" @@ -741,6 +740,7 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): self.config = config self.transformer = IctTransformerModel(config, use_mask_token=use_mask_token) self.guided_upsampler = IctGuidedUpsampler(config) + self.clusters = config.clusters # Initialize weights and apply final processing self.post_init() @@ -753,7 +753,6 @@ def get_input_embeddings(self): def forward( self, pixel_values: Optional[torch.Tensor], - original_images: ImageInput, bool_masked_pos: Optional[torch.BoolTensor] = None, clusters: Optional[np.ndarray] = None, output_attentions: Optional[bool] = None, @@ -778,14 +777,15 @@ def forward( >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" >>> image = Image.open(requests.get(url, stream=True).raw) >>> pixel_values = image_processor(image, return_tensors="pt").pixel_values - >>> clusters = image_processor.clusters >>> # create random boolean mask of shape (batch_size, num_patches) >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() - >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos, clusters=clusters) + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict + clusters = clusters if clusters is not None else self.config.clusters + if pixel_values is None: raise ValueError("You have to specify pixel_values") @@ -806,8 +806,6 @@ def forward( clusters = torch.from_numpy(clusters) recovered_pixel_values = [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] - images = make_list_of_images(original_images) - images = [torch.from_numpy(to_numpy_array(image).astype(np.float32)) for image in images] reshaped_bool_masked_pos = [ bool_masked_pos.reshape(height, width) if bool_masked_pos is not None # Handle without boolean mask @@ -815,7 +813,9 @@ def forward( for _ in range(batch_size) ] - reconstructed_pixel_values = self.guided_upsampler(images, recovered_pixel_values, reshaped_bool_masked_pos) + reconstructed_pixel_values = self.guided_upsampler( + pixel_values, recovered_pixel_values, reshaped_bool_masked_pos + ) loss = None if bool_masked_pos is not None: diff --git a/tests/models/ict/test_image_processing_ict.py b/tests/models/ict/test_image_processing_ict.py index 561cb3926877..e01bef03e241 100644 --- a/tests/models/ict/test_image_processing_ict.py +++ b/tests/models/ict/test_image_processing_ict.py @@ -256,7 +256,7 @@ def test_image(self): self.assertIsInstance(encoding.pixel_values, torch.LongTensor) self.assertEqual(encoding.pixel_values.shape, (1, 1024)) - expected_slice = [291, 145, 48] + expected_slice = [306, 191, 191] self.assertEqual(encoding.pixel_values[0, :3].tolist(), expected_slice) # test batched @@ -265,5 +265,5 @@ def test_image(self): self.assertIsInstance(encoding.pixel_values, torch.LongTensor) self.assertEqual(encoding.pixel_values.shape, (2, 1024)) - expected_slice = [228, 315, 375] + expected_slice = [303, 13, 13] self.assertEqual(encoding.pixel_values[1, -3:].tolist(), expected_slice) From 09c4b624d0b64fa1d30e5c9da5399defe54cbc9b Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 14 May 2023 17:47:49 -0700 Subject: [PATCH 55/70] more repo consistency fix --- README_es.md | 1 + README_hd.md | 1 + README_ja.md | 1 + README_ko.md | 1 + README_zh-hans.md | 1 + README_zh-hant.md | 1 + docs/source/de/index.md | 1 + docs/source/en/index.md | 2 ++ docs/source/en/model_doc/ict.mdx | 5 +++++ docs/source/es/index.md | 1 + docs/source/fr/index.md | 1 + docs/source/it/index.md | 1 + docs/source/ja/index.md | 1 + docs/source/ko/index.md | 1 + docs/source/pt/index.md | 1 + docs/source/zh/index.md | 1 + src/transformers/models/ict/configuration_ict.py | 4 ++-- src/transformers/models/ict/modeling_ict.py | 4 ++-- utils/check_repo.py | 3 +++ 19 files changed, 28 insertions(+), 4 deletions(-) diff --git a/README_es.md b/README_es.md index fcb6049870be..e447ff56afc8 100644 --- a/README_es.md +++ b/README_es.md @@ -348,6 +348,7 @@ Número actual de puntos de control: ![](https://img.shields.io/endpoint?url=htt 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (from Salesforce) released with the paper [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) by Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi. diff --git a/README_hd.md b/README_hd.md index 9b694ed60781..eb0c3a0f1a9c 100644 --- a/README_hd.md +++ b/README_hd.md @@ -320,6 +320,7 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA से) साथ में कागज [GroupViT: टेक्स्ट सुपरविजन से सिमेंटिक सेगमेंटेशन इमर्जेस](https://arxiv .org/abs/2202.11094) जियारुई जू, शालिनी डी मेलो, सिफ़ी लियू, वोनमिन बायन, थॉमस ब्रेउएल, जान कौट्ज़, ज़ियाओलोंग वांग द्वारा। 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (फेसबुक से) साथ में पेपर [ह्यूबर्ट: सेल्फ सुपरवाइज्ड स्पीच रिप्रेजेंटेशन लर्निंग बाय मास्क्ड प्रेडिक्शन ऑफ हिडन यूनिट्स](https ://arxiv.org/abs/2106.07447) वेई-निंग सू, बेंजामिन बोल्टे, याओ-हंग ह्यूबर्ट त्साई, कुशाल लखोटिया, रुस्लान सालाखुतदीनोव, अब्देलरहमान मोहम्मद द्वारा। 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (बर्कले से) साथ में कागज [I-BERT: Integer-only BERT Quantization](https:// arxiv.org/abs/2101.01321) सेहून किम, अमीर घोलमी, ज़ेवेई याओ, माइकल डब्ल्यू महोनी, कर्ट केटज़र द्वारा। +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (Salesforce से) Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi. द्वाराअनुसंधान पत्र [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) के साथ जारी किया गया diff --git a/README_ja.md b/README_ja.md index 60b14191c165..6c10f026842d 100644 --- a/README_ja.md +++ b/README_ja.md @@ -382,6 +382,7 @@ Flax、PyTorch、TensorFlowをcondaでインストールする方法は、それ 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA から) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang から公開された研究論文: [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook から) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed から公開された研究論文: [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley から) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer から公開された研究論文: [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI から) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever から公開された研究論文: [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (Salesforce から) Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi. から公開された研究論文 [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) diff --git a/README_ko.md b/README_ko.md index cdbeec9a4b8a..8b2849358cd0 100644 --- a/README_ko.md +++ b/README_ko.md @@ -297,6 +297,7 @@ Flax, PyTorch, TensorFlow 설치 페이지에서 이들을 conda로 설치하는 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA 에서) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang 의 [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 논문과 함께 발표했습니다. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook 에서) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed 의 [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 논문과 함께 발표했습니다. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley 에서) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer 의 [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) 논문과 함께 발표했습니다. +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI 에서) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever 의 [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 논문과 함께 발표했습니다. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (Salesforce 에서 제공)은 Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi.의 [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500)논문과 함께 발표했습니다. diff --git a/README_zh-hans.md b/README_zh-hans.md index db1cbd423725..d7f8a007d44c 100644 --- a/README_zh-hans.md +++ b/README_zh-hans.md @@ -321,6 +321,7 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (来自 UCSD, NVIDIA) 伴随论文 [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 由 Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang 发布。 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (来自 Facebook) 伴随论文 [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 由 Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed 发布。 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (来自 Berkeley) 伴随论文 [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) 由 Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer 发布。 +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (来自 OpenAI) 伴随论文 [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 由 Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever 发布。 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (来自 Salesforce) 伴随论文 [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) 由 Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi 发布。 diff --git a/README_zh-hant.md b/README_zh-hant.md index e66cd1f867a2..a9fad51839a1 100644 --- a/README_zh-hant.md +++ b/README_zh-hant.md @@ -333,6 +333,7 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](https://huggingface.co/docs/transformers/main/model_doc/instructblip)** (from Salesforce) released with the paper [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) by Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi. diff --git a/docs/source/de/index.md b/docs/source/de/index.md index 22f34aa84758..7b856b70ebe9 100644 --- a/docs/source/de/index.md +++ b/docs/source/de/index.md @@ -109,6 +109,7 @@ Die Bibliothek enthält derzeit JAX-, PyTorch- und TensorFlow-Implementierungen, 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (from Microsoft Research Asia) released with the paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) by Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. 1. **[LayoutLMv2](model_doc/layoutlmv2)** (from Microsoft Research Asia) released with the paper [LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding](https://arxiv.org/abs/2012.14740) by Yang Xu, Yiheng Xu, Tengchao Lv, Lei Cui, Furu Wei, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Wanxiang Che, Min Zhang, Lidong Zhou. diff --git a/docs/source/en/index.md b/docs/source/en/index.md index 91c57e0f393f..da745f3ebf27 100644 --- a/docs/source/en/index.md +++ b/docs/source/en/index.md @@ -137,6 +137,7 @@ The documentation is organized into five sections: 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. 1. **[InstructBLIP](model_doc/instructblip)** (from Salesforce) released with the paper [InstructBLIP: Towards General-purpose Vision-Language Models with Instruction Tuning](https://arxiv.org/abs/2305.06500) by Wenliang Dai, Junnan Li, Dongxu Li, Anthony Meng Huat Tiong, Junqi Zhao, Weisheng Wang, Boyang Li, Pascale Fung, Steven Hoi. @@ -348,6 +349,7 @@ Flax), PyTorch, and/or TensorFlow. | GroupViT | ❌ | ❌ | ✅ | ✅ | ❌ | | Hubert | ❌ | ❌ | ✅ | ✅ | ❌ | | I-BERT | ❌ | ❌ | ✅ | ❌ | ❌ | +| ICT | ❌ | ❌ | ✅ | ❌ | ❌ | | ImageGPT | ❌ | ❌ | ✅ | ❌ | ❌ | | Informer | ❌ | ❌ | ✅ | ❌ | ❌ | | InstructBLIP | ❌ | ❌ | ✅ | ❌ | ❌ | diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.mdx index 673bbfbf114f..bcff7fa0e36d 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.mdx @@ -34,6 +34,11 @@ The original code can be found [here](https://github.com/raywzy/ICT). [[autodoc]] IctConfig +## IctImageProcessor + +[[autodoc]] IctImageProcessor + - preprocess + ## IctModel [[autodoc]] IctModel diff --git a/docs/source/es/index.md b/docs/source/es/index.md index caefdfb7ad7b..851f348abe5d 100644 --- a/docs/source/es/index.md +++ b/docs/source/es/index.md @@ -97,6 +97,7 @@ La biblioteca actualmente contiene implementaciones de JAX, PyTorch y TensorFlow 1. **[GPTSAN-japanese](model_doc/gptsan-japanese)** released with [GPTSAN](https://github.com/tanreinama/GPTSAN) by Toshiyuki Sakamoto (tanreinama). 1. **[Hubert](model_doc/hubert)** (de Facebook) publicado con el paper [HuBERT: Self-Supervised Speech Representation Learning por Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) por Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (de Berkeley) publicado con el paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) por Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (de OpenAI) publicado con el paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) por Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (de Microsoft Research Asia) publicado con el paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) por Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. 1. **[LayoutLMv2](model_doc/layoutlmv2)** (de Microsoft Research Asia) publicado con el paper [LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding](https://arxiv.org/abs/2012.14740) por Yang Xu, Yiheng Xu, Tengchao Lv, Lei Cui, Furu Wei, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Wanxiang Che, Min Zhang, Lidong Zhou. diff --git a/docs/source/fr/index.md b/docs/source/fr/index.md index f18ad8e57c21..7c71b4b7ab15 100644 --- a/docs/source/fr/index.md +++ b/docs/source/fr/index.md @@ -126,6 +126,7 @@ La documentation est organisée en 5 parties: 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Jukebox](model_doc/jukebox)** (from OpenAI) released with the paper [Jukebox: A Generative Model for Music](https://arxiv.org/pdf/2005.00341.pdf) by Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (from Microsoft Research Asia) released with the paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) by Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. diff --git a/docs/source/it/index.md b/docs/source/it/index.md index 5c7d22c1e6b1..9d5bc33e7fda 100644 --- a/docs/source/it/index.md +++ b/docs/source/it/index.md @@ -104,6 +104,7 @@ La libreria attualmente contiene implementazioni in JAX, PyTorch e TensorFlow, p 1. **[GPT NeoX](model_doc/gpt_neox)** (da EleutherAI) rilasciato con il paper [GPT-NeoX-20B: An Open-Source Autoregressive Language Model](https://arxiv.org/abs/2204.06745) da Sid Black, Stella Biderman, Eric Hallahan, Quentin Anthony, Leo Gao, Laurence Golding, Horace He, Connor Leahy, Kyle McDonell, Jason Phang, Michael Pieler, USVSN Sai Prashanth, Shivanshu Purohit, Laria Reynolds, Jonathan Tow, Ben Wang, Samuel Weinbach 1. **[Hubert](model_doc/hubert)** (da Facebook) rilasciato con il paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) da Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (da Berkeley) rilasciato con il paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) da Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (da OpenAI) rilasciato con il paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) da Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (da Microsoft Research Asia) rilasciato con il paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) da Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. 1. **[LayoutLMv2](model_doc/layoutlmv2)** (da Microsoft Research Asia) rilasciato con il paper [LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding](https://arxiv.org/abs/2012.14740) da Yang Xu, Yiheng Xu, Tengchao Lv, Lei Cui, Furu Wei, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Wanxiang Che, Min Zhang, Lidong Zhou. diff --git a/docs/source/ja/index.md b/docs/source/ja/index.md index 364a3b34caba..9f2d05500af9 100644 --- a/docs/source/ja/index.md +++ b/docs/source/ja/index.md @@ -122,6 +122,7 @@ rendered properly in your Markdown viewer. 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA から) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang から公開された研究論文: [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook から) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed から公開された研究論文: [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley から) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer から公開された研究論文: [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI から) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever から公開された研究論文: [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 1. **[Jukebox](https://huggingface.co/docs/transformers/model_doc/jukebox)** (OpenAI から) Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever から公開された研究論文: [Jukebox: A Generative Model for Music](https://arxiv.org/pdf/2005.00341.pdf) 1. **[LayoutLM](https://huggingface.co/docs/transformers/model_doc/layoutlm)** (Microsoft Research Asia から) Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou から公開された研究論文: [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) diff --git a/docs/source/ko/index.md b/docs/source/ko/index.md index f0ec9ae1b8b9..49cb8e146085 100644 --- a/docs/source/ko/index.md +++ b/docs/source/ko/index.md @@ -114,6 +114,7 @@ rendered properly in your Markdown viewer. 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Jukebox](model_doc/jukebox)** (from OpenAI) released with the paper [Jukebox: A Generative Model for Music](https://arxiv.org/pdf/2005.00341.pdf) by Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (from Microsoft Research Asia) released with the paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) by Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. diff --git a/docs/source/pt/index.md b/docs/source/pt/index.md index 08575b0bea22..483ccdda8e19 100644 --- a/docs/source/pt/index.md +++ b/docs/source/pt/index.md @@ -110,6 +110,7 @@ Atualmente a biblioteca contém implementações do PyTorch, TensorFlow e JAX, p 1. **[GPTSAN-japanese](model_doc/gptsan-japanese)** released in the repository [tanreinama/GPTSAN](https://github.com/tanreinama/GPTSAN/blob/main/report/model.md) by Toshiyuki Sakamoto(tanreinama). 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (from Microsoft Research Asia) released with the paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) by Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. 1. **[LayoutLMv2](model_doc/layoutlmv2)** (from Microsoft Research Asia) released with the paper [LayoutLMv2: Multi-modal Pre-training for Visually-Rich Document Understanding](https://arxiv.org/abs/2012.14740) by Yang Xu, Yiheng Xu, Tengchao Lv, Lei Cui, Furu Wei, Guoxin Wang, Yijuan Lu, Dinei Florencio, Cha Zhang, Wanxiang Che, Min Zhang, Lidong Zhou. diff --git a/docs/source/zh/index.md b/docs/source/zh/index.md index 38e758caf73c..25f180c8fb45 100644 --- a/docs/source/zh/index.md +++ b/docs/source/zh/index.md @@ -121,6 +121,7 @@ rendered properly in your Markdown viewer. 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Jukebox](model_doc/jukebox)** (from OpenAI) released with the paper [Jukebox: A Generative Model for Music](https://arxiv.org/pdf/2005.00341.pdf) by Prafulla Dhariwal, Heewoo Jun, Christine Payne, Jong Wook Kim, Alec Radford, Ilya Sutskever. 1. **[LayoutLM](model_doc/layoutlm)** (from Microsoft Research Asia) released with the paper [LayoutLM: Pre-training of Text and Layout for Document Image Understanding](https://arxiv.org/abs/1912.13318) by Yiheng Xu, Minghao Li, Lei Cui, Shaohan Huang, Furu Wei, Ming Zhou. diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 6c5b62d07f2e..a15e42b0827a 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -32,8 +32,8 @@ class IctConfig(PretrainedConfig): r""" This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the - defaults will yield a similar configuration to that of the [ICT model trained with the ImageNet - dataset](https://huggingface.co/sheonhan/ict-imagenet-256). + defaults will yield a similar configuration to that of the ICT model trained with the ImageNet + dataset [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index cfba37b7919c..2d8a62747fb6 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -69,7 +69,7 @@ def __init__(self, config, use_mask_token=False): self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) self.position_embedding = nn.Parameter(torch.zeros(1, config.image_size, config.hidden_size)) - self.dropout = nn.Dropout(config.residual_dropout_prob) + self.dropout = nn.Dropout(config.embedding_dropout_prob) self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None @@ -258,7 +258,7 @@ def custom_forward(*inputs): ) -# Copied from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict +# Modified from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict class IctPretrainedModel(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained diff --git a/utils/check_repo.py b/utils/check_repo.py index db947d834bad..cea5e7b08cac 100644 --- a/utils/check_repo.py +++ b/utils/check_repo.py @@ -52,6 +52,9 @@ "MaskFormerSwinPreTrainedModel", "BridgeTowerTextModel", "BridgeTowerVisionModel", + "IctGuidedUpsampler", + "IctPretrainedModel", + "IctTransformerModel", ] # Update this list for models that are not tested with a comment explaining the reason it should not be. From 36c038a364d00c3a3de6a1169aefd75cd802d5c7 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 31 May 2023 22:39:55 -0700 Subject: [PATCH 56/70] fix copies --- README.md | 1 + README_es.md | 1 + README_hd.md | 1 + README_ja.md | 1 + README_ko.md | 1 + README_zh-hans.md | 1 + README_zh-hant.md | 1 + docs/source/en/index.md | 1 + 8 files changed, 8 insertions(+) diff --git a/README.md b/README.md index bacda019ca59..275c27b843e6 100644 --- a/README.md +++ b/README.md @@ -373,6 +373,7 @@ Current number of checkpoints: ![](https://img.shields.io/endpoint?url=https://h 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_es.md b/README_es.md index e447ff56afc8..f755dcf9d9aa 100644 --- a/README_es.md +++ b/README_es.md @@ -348,6 +348,7 @@ Número actual de puntos de control: ![](https://img.shields.io/endpoint?url=htt 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_hd.md b/README_hd.md index eb0c3a0f1a9c..b4444852d3d4 100644 --- a/README_hd.md +++ b/README_hd.md @@ -320,6 +320,7 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA से) साथ में कागज [GroupViT: टेक्स्ट सुपरविजन से सिमेंटिक सेगमेंटेशन इमर्जेस](https://arxiv .org/abs/2202.11094) जियारुई जू, शालिनी डी मेलो, सिफ़ी लियू, वोनमिन बायन, थॉमस ब्रेउएल, जान कौट्ज़, ज़ियाओलोंग वांग द्वारा। 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (फेसबुक से) साथ में पेपर [ह्यूबर्ट: सेल्फ सुपरवाइज्ड स्पीच रिप्रेजेंटेशन लर्निंग बाय मास्क्ड प्रेडिक्शन ऑफ हिडन यूनिट्स](https ://arxiv.org/abs/2106.07447) वेई-निंग सू, बेंजामिन बोल्टे, याओ-हंग ह्यूबर्ट त्साई, कुशाल लखोटिया, रुस्लान सालाखुतदीनोव, अब्देलरहमान मोहम्मद द्वारा। 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (बर्कले से) साथ में कागज [I-BERT: Integer-only BERT Quantization](https:// arxiv.org/abs/2101.01321) सेहून किम, अमीर घोलमी, ज़ेवेई याओ, माइकल डब्ल्यू महोनी, कर्ट केटज़र द्वारा। +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_ja.md b/README_ja.md index 6c10f026842d..0bd8cfe628dc 100644 --- a/README_ja.md +++ b/README_ja.md @@ -382,6 +382,7 @@ Flax、PyTorch、TensorFlowをcondaでインストールする方法は、それ 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA から) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang から公開された研究論文: [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook から) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed から公開された研究論文: [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley から) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer から公開された研究論文: [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI から) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever から公開された研究論文: [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_ko.md b/README_ko.md index 8b2849358cd0..8f112029944b 100644 --- a/README_ko.md +++ b/README_ko.md @@ -297,6 +297,7 @@ Flax, PyTorch, TensorFlow 설치 페이지에서 이들을 conda로 설치하는 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA 에서) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang 의 [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 논문과 함께 발표했습니다. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook 에서) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed 의 [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 논문과 함께 발표했습니다. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley 에서) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer 의 [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) 논문과 함께 발표했습니다. +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI 에서) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever 의 [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 논문과 함께 발표했습니다. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_zh-hans.md b/README_zh-hans.md index d7f8a007d44c..b898dbfae2b7 100644 --- a/README_zh-hans.md +++ b/README_zh-hans.md @@ -321,6 +321,7 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (来自 UCSD, NVIDIA) 伴随论文 [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 由 Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang 发布。 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (来自 Facebook) 伴随论文 [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 由 Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed 发布。 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (来自 Berkeley) 伴随论文 [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) 由 Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer 发布。 +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (来自 OpenAI) 伴随论文 [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 由 Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever 发布。 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_zh-hant.md b/README_zh-hant.md index a9fad51839a1..fd72d1ccf185 100644 --- a/README_zh-hant.md +++ b/README_zh-hant.md @@ -333,6 +333,7 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/docs/source/en/index.md b/docs/source/en/index.md index da745f3ebf27..b65ac18fbbf4 100644 --- a/docs/source/en/index.md +++ b/docs/source/en/index.md @@ -137,6 +137,7 @@ The documentation is organized into five sections: 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. +1. **[ICT](model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. From aceecac08351b6d12dd2710b85e6d7e53077b1f6 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 31 May 2023 22:48:16 -0700 Subject: [PATCH 57/70] make it consistent with the original model --- .../models/ict/configuration_ict.py | 18 ++- .../models/ict/convert_ict_to_pytorch.py | 103 +++++++++++++----- src/transformers/models/ict/modeling_ict.py | 69 ++++++++---- 3 files changed, 140 insertions(+), 50 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index a15e42b0827a..d28a9f5608db 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -32,8 +32,8 @@ class IctConfig(PretrainedConfig): r""" This is the configuration class to store the configuration of a [`IctModel`]. It is used to instantiate an ICT model according to the specified arguments, defining the model architecture. Instantiating a configuration with the - defaults will yield a similar configuration to that of the ICT model trained with the ImageNet - dataset [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256). + defaults will yield a similar configuration to that of the ICT model trained with the ImageNet dataset + [sheonhan/ict-imagenet-256](https://huggingface.co/sheonhan/ict-imagenet-256). Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the documentation from [`PretrainedConfig`] for more information. @@ -70,8 +70,14 @@ class IctConfig(PretrainedConfig): The size (resolution) of each image. num_channels (`int`, *optional*, defaults to 3): The number of input channels. - qkv_bias (`bool`, *optional*, defaults to `False`): + qkv_bias (`bool`, *optional*, defaults to `True`): Whether to add a bias to the queries, keys and values. + temperature (`float`, *optional*, defaults to 1.0): + The value used to module the next token probabilities that will be used by default in the `generate` method + of the model. Must be strictly positive. + top_k (`int`, *optional*, defaults to 50): + Number of highest probability vocabulary tokens to keep for top-k-filtering that will be used by default in + the `generate` method of the model. output_height (`int`, *optional*, defaults to 256): The height of the final image. output_width (`int`, *optional*, defaults to 256): @@ -112,7 +118,9 @@ def __init__( layer_norm_eps=1e-12, image_size=1024, num_channels=3, - qkv_bias=False, + qkv_bias=True, + temperature=1.0, + top_k=50, output_height=256, output_width=256, clusters=None, @@ -135,6 +143,8 @@ def __init__( self.image_size = image_size self.num_channels = num_channels self.qkv_bias = qkv_bias + self.temperature = temperature + self.top_k = top_k self.output_height = output_height self.output_width = output_width self.clusters = np.array(clusters) if clusters is not None else None diff --git a/src/transformers/models/ict/convert_ict_to_pytorch.py b/src/transformers/models/ict/convert_ict_to_pytorch.py index 4992ca4792b6..5bdf322e01af 100644 --- a/src/transformers/models/ict/convert_ict_to_pytorch.py +++ b/src/transformers/models/ict/convert_ict_to_pytorch.py @@ -34,20 +34,65 @@ logger = logging.get_logger(__name__) -# rename parameter names -def rename_key(name): - if "stem.conv" in name: - name = name.replace("stem.conv", "bit.embedder.convolution") - if "blocks" in name: - name = name.replace("blocks", "layers") - if "head.fc" in name: - name = name.replace("head.fc", "classifier.1") - if name.startswith("norm"): - name = "bit." + name - if "bit" not in name and "classifier" not in name: - name = "bit.encoder." + name - - return name +# here we list all keys to be renamed (original name on the left, our name on the right) +def create_rename_keys(config): + rename_keys = [] + rename_keys.append(("pos_emb", "transformer.embeddings.position_embedding")) + rename_keys.append(("tok_emb.weight", "transformer.embeddings.token_embedding.weight")) + # NOTE: masks token does not exist in the original weights + + for i in range(config.num_hidden_layers): + rename_keys.append((f"blocks.{i}.ln1.weight", f"transformer.encoder.layers.{i}.ln_1.weight")) + rename_keys.append((f"blocks.{i}.ln1.bias", f"transformer.encoder.layers.{i}.ln_1.bias")) + rename_keys.append((f"blocks.{i}.ln2.weight", f"transformer.encoder.layers.{i}.ln_2.weight")) + rename_keys.append((f"blocks.{i}.ln2.bias", f"transformer.encoder.layers.{i}.ln_2.bias")) + rename_keys.append((f"blocks.{i}.attn.key.weight", f"transformer.encoder.layers.{i}.attention.key.weight")) + rename_keys.append((f"blocks.{i}.attn.key.bias", f"transformer.encoder.layers.{i}.attention.key.bias")) + rename_keys.append((f"blocks.{i}.attn.query.weight", f"transformer.encoder.layers.{i}.attention.query.weight")) + rename_keys.append((f"blocks.{i}.attn.query.bias", f"transformer.encoder.layers.{i}.attention.query.bias")) + rename_keys.append((f"blocks.{i}.attn.value.weight", f"transformer.encoder.layers.{i}.attention.value.weight")) + rename_keys.append((f"blocks.{i}.attn.value.bias", f"transformer.encoder.layers.{i}.attention.value.bias")) + rename_keys.append((f"blocks.{i}.attn.proj.weight", f"transformer.encoder.layers.{i}.attention.output.weight")) + rename_keys.append((f"blocks.{i}.attn.proj.bias", f"transformer.encoder.layers.{i}.attention.output.bias")) + rename_keys.append((f"blocks.{i}.mlp.0.weight", f"transformer.encoder.layers.{i}.mlp.0.weight")) + rename_keys.append((f"blocks.{i}.mlp.0.bias", f"transformer.encoder.layers.{i}.mlp.0.bias")) + rename_keys.append((f"blocks.{i}.mlp.2.weight", f"transformer.encoder.layers.{i}.mlp.2.weight")) + rename_keys.append((f"blocks.{i}.mlp.2.bias", f"transformer.encoder.layers.{i}.mlp.2.bias")) + + # Generator + rename_keys.append(("module.encoder.1.weight", "guided_upsampler.generator.encoder.1.weight")) + rename_keys.append(("module.encoder.1.bias", "guided_upsampler.generator.encoder.1.bias")) + rename_keys.append(("module.encoder.3.weight", "guided_upsampler.generator.encoder.3.weight")) + rename_keys.append(("module.encoder.3.bias", "guided_upsampler.generator.encoder.3.bias")) + rename_keys.append(("module.encoder.5.weight", "guided_upsampler.generator.encoder.5.weight")) + rename_keys.append(("module.encoder.5.bias", "guided_upsampler.generator.encoder.5.bias")) + + for i in range(config.num_residual_blocks): + rename_keys.append( + (f"module.middle.{i}.conv_block.1.weight", f"guided_upsampler.generator.middle.{i}.conv_block.1.weight") + ) + rename_keys.append( + (f"module.middle.{i}.conv_block.1.bias", f"guided_upsampler.generator.middle.{i}.conv_block.1.bias") + ) + rename_keys.append( + (f"module.middle.{i}.conv_block.4.weight", f"guided_upsampler.generator.middle.{i}.conv_block.4.weight") + ) + rename_keys.append( + (f"module.middle.{i}.conv_block.4.bias", f"guided_upsampler.generator.middle.{i}.conv_block.4.bias") + ) + + rename_keys.append(("module.decoder.0.weight", "guided_upsampler.generator.decoder.0.weight")) + rename_keys.append(("module.decoder.0.bias", "guided_upsampler.generator.decoder.0.bias")) + rename_keys.append(("module.decoder.2.weight", "guided_upsampler.generator.decoder.2.weight")) + rename_keys.append(("module.decoder.2.bias", "guided_upsampler.generator.decoder.2.bias")) + rename_keys.append(("module.decoder.5.weight", "guided_upsampler.generator.decoder.5.weight")) + rename_keys.append(("module.decoder.5.bias", "guided_upsampler.generator.decoder.5.bias")) + + rename_keys.append(("ln_f.weight", "transformer.layernorm.weight")) + rename_keys.append(("ln_f.bias", "transformer.layernorm.bias")) + rename_keys.append(("head.weight", "transformer.head.weight")) + + return rename_keys # We will verify our results on an image of cute cats @@ -65,14 +110,25 @@ def convert_ict_checkpoint( pytorch_dump_path: Path, push_to_hub: bool, ): - torch.load(checkpoint_path, map_location="cpu")["model"] config = IctConfig.from_json_file(ict_config_file) model = IctModel(config) model_name = checkpoint_path.split("/")[-1].split(".")[0] - # print(orig_state_dict) - # model.load_state_dict(orig_state_dict) - # model.eval() + model_state_dict = torch.load(checkpoint_path, map_location="cpu")["model"] + + generator_local_path = hf_hub_download(repo_id="sheonhan/ict-imagenet-256", filename="generator.pt") + generator_state_dict = torch.load(generator_local_path, map_location="cpu") + + model_state_dict.update(generator_state_dict) + model_state_dict = {key: value for key, value in model_state_dict.items() if "attn.mask" not in key} + + rename_keys = create_rename_keys(config) + for src, dest in rename_keys: + val = model_state_dict.pop(src) + model_state_dict[dest] = val + + model.load_state_dict(model_state_dict, strict=False) + model.eval() # prepare image image = prepare_img() @@ -92,15 +148,12 @@ def convert_ict_checkpoint( original_pixel_values = image_transforms(image).unsqueeze(0) assert torch.allclose(original_pixel_values, pixel_values) - inputs = {} - inputs["pixel_values"] = pixel_values - # local_path = hf_hub_download(repo_id="hf-internal-testing/bool-masked-pos", filename="bool_masked_pos.pt") - local_path = hf_hub_download(repo_id="sheonhan/ict-imagenet-256", filename="my_bool_masked_pos.pt") - bool_masked_pos = torch.load(local_path) - inputs["bool_masked_pos"] = bool_masked_pos + bool_masked_pos_local_path = hf_hub_download(repo_id="sheonhan/ict-imagenet-256", filename="my_bool_masked_pos.pt") + bool_masked_pos = torch.load(bool_masked_pos_local_path) + bool_masked_pos = bool_masked_pos.unsqueeze(0) - outputs = model(**inputs) + outputs = model(pixel_values=pixel_values, bool_masked_pos=bool_masked_pos, clusters=clusters) logits = outputs.logits expected_shape = (3, 256, 256) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 2d8a62747fb6..ae98824c1c44 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -32,10 +32,10 @@ from ...modeling_utils import PreTrainedModel from ...pytorch_utils import find_pruneable_heads_and_indices, prune_linear_layer from ...utils import ( + add_code_sample_docstrings, add_start_docstrings, add_start_docstrings_to_model_forward, logging, - replace_return_docstrings, ) from .configuration_ict import IctConfig @@ -84,6 +84,7 @@ def forward( seq_length = embeddings.shape[1] mask_tokens = self.mask_token.expand(batch_size, seq_length, -1) # replace the masked visual tokens by mask_tokens + # changed from [1, 1024] to [1, 1024, 1] to torch.float32 mask = bool_masked_pos.unsqueeze(-1).type_as(mask_tokens) embeddings = embeddings * (1.0 - mask) + mask_tokens * mask @@ -349,7 +350,7 @@ def forward( ) sequence_output = encoder_outputs[0] sequence_output = self.layernorm(sequence_output) - pooled_output = self.head(sequence_output) # logits + pooled_output = self.head(sequence_output) if not return_dict: head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) @@ -372,14 +373,10 @@ def __init__(self): super().__init__() self.conv_block = nn.Sequential( nn.ReflectionPad2d(2), - nn.utils.spectral_norm( - nn.Conv2d(in_channels=256, out_channels=256, kernel_size=3, padding=0, dilation=2, bias=False) - ), + nn.Conv2d(in_channels=256, out_channels=256, kernel_size=3, padding=0, dilation=2), nn.ReLU(True), nn.ReflectionPad2d(1), - nn.utils.spectral_norm( - nn.Conv2d(in_channels=256, out_channels=256, kernel_size=3, padding=0, dilation=1, bias=False) - ), + nn.Conv2d(in_channels=256, out_channels=256, kernel_size=3, padding=0, dilation=1), ) def forward(self, x): @@ -714,11 +711,11 @@ def forward(self, images: List[torch.Tensor], edges: List[torch.Tensor], masks: pixel_values (`torch.FloatTensor` of shape `(batch_size, height * width)`): Pixel values. Pixel values can be obtained using [`AutoImageProcessor`]. See [`IctImageProcessor.__call__`] for details. - clusters (`np.ndarray`, of shape `(n_clusters, 3)`): - Clusters used to quantize the image of shape `(n_clusters, 3)` before being fed to Guided Upsampler. bool_masked_pos (`torch.BoolTensor` of shape `(batch_size, height * width)`, *optional*): Boolean masked positions. Indicates which patches are masked (1) and which aren't (0). Generate random masks if not provided. + clusters (`np.ndarray`, of shape `(n_clusters, 3)`): + Clusters used to quantize the image of shape `(n_clusters, 3)` before being fed to Guided Upsampler. output_attentions (`bool`, *optional*): Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned tensors for more detail. @@ -749,7 +746,32 @@ def get_input_embeddings(self): return self.transformer.embeddings.token_embedding @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @replace_return_docstrings(output_type=MaskedImageModelingOutput, config_class=_CONFIG_FOR_DOC) + @add_code_sample_docstrings( + checkpoint=_CHECKPOINT_FOR_DOC, + output_type=MaskedImageModelingOutput, + config_class=_CONFIG_FOR_DOC, + modality="vision", + expected_output=_EXPECTED_OUTPUT_SHAPE, + ) + def top_k_logits(self, logits, k): + output, _ = torch.topk(logits, k) + logits_clone = logits.clone() + logits_clone[logits_clone < output[:, [-1]]] = -float("Inf") + return logits_clone + + def sample_mask(self, pixel_values, logits, bool_masked_pos, temperature=1.0, top_k=50): + _, length, _ = logits.shape + output = pixel_values.clone() + + for i in range(length): + if bool_masked_pos[0, i] != 0: + logits_i = logits[:, i, :] / temperature + logits_i = self.top_k_logits(logits_i, top_k) + probs = nn.functional.softmax(logits_i, dim=-1) + pred = torch.multinomial(probs, num_samples=1) + output[:, i] = pred[:, 0] + return output + def forward( self, pixel_values: Optional[torch.Tensor], @@ -777,11 +799,12 @@ def forward( >>> url = "http://images.cocodataset.org/val2017/000000039769.jpg" >>> image = Image.open(requests.get(url, stream=True).raw) >>> pixel_values = image_processor(image, return_tensors="pt").pixel_values + >>> clusters = image_processor.clusters >>> # create random boolean mask of shape (batch_size, num_patches) - >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0], pixel_values.shape[1])).bool() + >>> bool_masked_pos = torch.randint(low=0, high=2, size=(pixel_values.shape[0] * pixel_values.shape[1])).bool() - >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos) + >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos, clusters=clusters) ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict clusters = clusters if clusters is not None else self.config.clusters @@ -789,6 +812,9 @@ def forward( if pixel_values is None: raise ValueError("You have to specify pixel_values") + if clusters is None: + raise ValueError("You have to specify clusters") + outputs = self.transformer( pixel_values, bool_masked_pos=bool_masked_pos, @@ -796,15 +822,18 @@ def forward( output_hidden_states=output_hidden_states, return_dict=return_dict, ) - sequence_output = outputs[0] - batch_size, sequence_length, num_channels = sequence_output.shape + logits = outputs[1] + batch_size, sequence_length, _ = logits.shape height = width = math.floor(sequence_length**0.5) - sequence_output = sequence_output.permute(0, 2, 1).reshape(batch_size, num_channels, height, width) # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L107-L126 - clusters = np.rint(127.5 * (clusters + 1.0)) + # clusters = np.rint(127.5 * (clusters + 1.0)) clusters = torch.from_numpy(clusters) - recovered_pixel_values = [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] + original_images = [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] + recovered_pixel_values = self.sample_mask( + pixel_values, logits, bool_masked_pos, temperature=self.config.temperature, top_k=self.config.top_k + ) + recovered_images = [clusters[recovered_pixel_values[i]].view(height, width, 3) for i in range(batch_size)] reshaped_bool_masked_pos = [ bool_masked_pos.reshape(height, width) if bool_masked_pos is not None @@ -813,9 +842,7 @@ def forward( for _ in range(batch_size) ] - reconstructed_pixel_values = self.guided_upsampler( - pixel_values, recovered_pixel_values, reshaped_bool_masked_pos - ) + reconstructed_pixel_values = self.guided_upsampler(original_images, recovered_images, reshaped_bool_masked_pos) loss = None if bool_masked_pos is not None: From 7e6f672e5b60ccda357baa5f55259b8e0a6bb909 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 31 May 2023 22:52:05 -0700 Subject: [PATCH 58/70] Add ICT to SPECIAL_MODEL_NAMES --- README.md | 1 - README_es.md | 1 - README_hd.md | 1 - README_ja.md | 1 - README_ko.md | 1 - README_zh-hans.md | 1 - README_zh-hant.md | 1 - utils/check_copies.py | 1 + 8 files changed, 1 insertion(+), 7 deletions(-) diff --git a/README.md b/README.md index 275c27b843e6..bacda019ca59 100644 --- a/README.md +++ b/README.md @@ -373,7 +373,6 @@ Current number of checkpoints: ![](https://img.shields.io/endpoint?url=https://h 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_es.md b/README_es.md index f755dcf9d9aa..e447ff56afc8 100644 --- a/README_es.md +++ b/README_es.md @@ -348,7 +348,6 @@ Número actual de puntos de control: ![](https://img.shields.io/endpoint?url=htt 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_hd.md b/README_hd.md index b4444852d3d4..eb0c3a0f1a9c 100644 --- a/README_hd.md +++ b/README_hd.md @@ -320,7 +320,6 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA से) साथ में कागज [GroupViT: टेक्स्ट सुपरविजन से सिमेंटिक सेगमेंटेशन इमर्जेस](https://arxiv .org/abs/2202.11094) जियारुई जू, शालिनी डी मेलो, सिफ़ी लियू, वोनमिन बायन, थॉमस ब्रेउएल, जान कौट्ज़, ज़ियाओलोंग वांग द्वारा। 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (फेसबुक से) साथ में पेपर [ह्यूबर्ट: सेल्फ सुपरवाइज्ड स्पीच रिप्रेजेंटेशन लर्निंग बाय मास्क्ड प्रेडिक्शन ऑफ हिडन यूनिट्स](https ://arxiv.org/abs/2106.07447) वेई-निंग सू, बेंजामिन बोल्टे, याओ-हंग ह्यूबर्ट त्साई, कुशाल लखोटिया, रुस्लान सालाखुतदीनोव, अब्देलरहमान मोहम्मद द्वारा। 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (बर्कले से) साथ में कागज [I-BERT: Integer-only BERT Quantization](https:// arxiv.org/abs/2101.01321) सेहून किम, अमीर घोलमी, ज़ेवेई याओ, माइकल डब्ल्यू महोनी, कर्ट केटज़र द्वारा। -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_ja.md b/README_ja.md index 0bd8cfe628dc..6c10f026842d 100644 --- a/README_ja.md +++ b/README_ja.md @@ -382,7 +382,6 @@ Flax、PyTorch、TensorFlowをcondaでインストールする方法は、それ 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA から) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang から公開された研究論文: [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook から) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed から公開された研究論文: [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley から) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer から公開された研究論文: [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI から) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever から公開された研究論文: [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_ko.md b/README_ko.md index 8f112029944b..8b2849358cd0 100644 --- a/README_ko.md +++ b/README_ko.md @@ -297,7 +297,6 @@ Flax, PyTorch, TensorFlow 설치 페이지에서 이들을 conda로 설치하는 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (UCSD, NVIDIA 에서) Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang 의 [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 논문과 함께 발표했습니다. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (Facebook 에서) Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed 의 [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 논문과 함께 발표했습니다. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (Berkeley 에서) Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer 의 [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) 논문과 함께 발표했습니다. -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (OpenAI 에서) Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever 의 [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 논문과 함께 발표했습니다. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_zh-hans.md b/README_zh-hans.md index b898dbfae2b7..d7f8a007d44c 100644 --- a/README_zh-hans.md +++ b/README_zh-hans.md @@ -321,7 +321,6 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (来自 UCSD, NVIDIA) 伴随论文 [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) 由 Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang 发布。 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (来自 Facebook) 伴随论文 [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) 由 Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed 发布。 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (来自 Berkeley) 伴随论文 [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) 由 Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer 发布。 -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (来自 OpenAI) 伴随论文 [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) 由 Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever 发布。 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/README_zh-hant.md b/README_zh-hant.md index fd72d1ccf185..a9fad51839a1 100644 --- a/README_zh-hant.md +++ b/README_zh-hant.md @@ -333,7 +333,6 @@ conda install -c huggingface transformers 1. **[GroupViT](https://huggingface.co/docs/transformers/model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](https://huggingface.co/docs/transformers/model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](https://huggingface.co/docs/transformers/model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. -1. **[ICT](https://huggingface.co/docs/transformers/main/model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](https://huggingface.co/docs/transformers/model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](https://huggingface.co/docs/transformers/model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](https://huggingface.co/docs/transformers/model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/utils/check_copies.py b/utils/check_copies.py index 959c7b2d329b..89bcc9640660 100644 --- a/utils/check_copies.py +++ b/utils/check_copies.py @@ -499,6 +499,7 @@ def check_model_list_copy(overwrite=False, max_per_line=119): "DonutSwin": "Swin Transformer", "Marian": "MarianMT", "MaskFormerSwin": "Swin Transformer", + "ICT": "Image Completion Transformer", "OpenAI GPT-2": "GPT-2", "OpenAI GPT": "GPT", "Perceiver": "Perceiver IO", From 89f7115b9f3b2f70919f58195f2c653f856b40f1 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 31 May 2023 22:55:07 -0700 Subject: [PATCH 59/70] make fix copies --- docs/source/en/index.md | 1 - src/transformers/utils/dummy_pt_objects.py | 17 +++++++++++++++++ src/transformers/utils/dummy_vision_objects.py | 7 +++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/docs/source/en/index.md b/docs/source/en/index.md index b65ac18fbbf4..da745f3ebf27 100644 --- a/docs/source/en/index.md +++ b/docs/source/en/index.md @@ -137,7 +137,6 @@ The documentation is organized into five sections: 1. **[GroupViT](model_doc/groupvit)** (from UCSD, NVIDIA) released with the paper [GroupViT: Semantic Segmentation Emerges from Text Supervision](https://arxiv.org/abs/2202.11094) by Jiarui Xu, Shalini De Mello, Sifei Liu, Wonmin Byeon, Thomas Breuel, Jan Kautz, Xiaolong Wang. 1. **[Hubert](model_doc/hubert)** (from Facebook) released with the paper [HuBERT: Self-Supervised Speech Representation Learning by Masked Prediction of Hidden Units](https://arxiv.org/abs/2106.07447) by Wei-Ning Hsu, Benjamin Bolte, Yao-Hung Hubert Tsai, Kushal Lakhotia, Ruslan Salakhutdinov, Abdelrahman Mohamed. 1. **[I-BERT](model_doc/ibert)** (from Berkeley) released with the paper [I-BERT: Integer-only BERT Quantization](https://arxiv.org/abs/2101.01321) by Sehoon Kim, Amir Gholami, Zhewei Yao, Michael W. Mahoney, Kurt Keutzer. -1. **[ICT](model_doc/ict)** (from ) released with the paper []() by . 1. **[Image Completion Transformer](model_doc/ict)** (from City University of Hong Kong and Microsoft Cloud + AI) released with the paper [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. 1. **[ImageGPT](model_doc/imagegpt)** (from OpenAI) released with the paper [Generative Pretraining from Pixels](https://openai.com/blog/image-gpt/) by Mark Chen, Alec Radford, Rewon Child, Jeffrey Wu, Heewoo Jun, David Luan, Ilya Sutskever. 1. **[Informer](model_doc/informer)** (from Beihang University, UC Berkeley, Rutgers University, SEDD Company) released with the paper [Informer: Beyond Efficient Transformer for Long Sequence Time-Series Forecasting](https://arxiv.org/abs/2012.07436) by Haoyi Zhou, Shanghang Zhang, Jieqi Peng, Shuai Zhang, Jianxin Li, Hui Xiong, and Wancai Zhang. diff --git a/src/transformers/utils/dummy_pt_objects.py b/src/transformers/utils/dummy_pt_objects.py index 2c40f7143d4b..664231d5f868 100644 --- a/src/transformers/utils/dummy_pt_objects.py +++ b/src/transformers/utils/dummy_pt_objects.py @@ -3670,6 +3670,23 @@ def __init__(self, *args, **kwargs): requires_backends(self, ["torch"]) +ICT_PRETRAINED_MODEL_ARCHIVE_LIST = None + + +class IctModel(metaclass=DummyObject): + _backends = ["torch"] + + def __init__(self, *args, **kwargs): + requires_backends(self, ["torch"]) + + +class IctPreTrainedModel(metaclass=DummyObject): + _backends = ["torch"] + + def __init__(self, *args, **kwargs): + requires_backends(self, ["torch"]) + + IMAGEGPT_PRETRAINED_MODEL_ARCHIVE_LIST = None diff --git a/src/transformers/utils/dummy_vision_objects.py b/src/transformers/utils/dummy_vision_objects.py index bfb3cdcaff5a..9bfef1e28fe9 100644 --- a/src/transformers/utils/dummy_vision_objects.py +++ b/src/transformers/utils/dummy_vision_objects.py @@ -233,6 +233,13 @@ def __init__(self, *args, **kwargs): requires_backends(self, ["vision"]) +class IctImageProcessor(metaclass=DummyObject): + _backends = ["vision"] + + def __init__(self, *args, **kwargs): + requires_backends(self, ["vision"]) + + class ImageGPTFeatureExtractor(metaclass=DummyObject): _backends = ["vision"] From 970033e1e5d082d05ed4be902bdbcb6b2427c0bc Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Wed, 31 May 2023 23:11:57 -0700 Subject: [PATCH 60/70] Check for torch --- src/transformers/models/ict/image_processing_ict.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index e2e7d542b50f..31d50a348ae5 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -18,7 +18,6 @@ from typing import Dict, List, Optional, Union import numpy as np -import torch from ...image_processing_utils import BaseImageProcessor, BatchFeature, get_size_dict from ...image_transforms import normalize, rescale, resize, to_channel_dimension_format @@ -32,9 +31,12 @@ to_numpy_array, valid_images, ) -from ...utils import TensorType, logging +from ...utils import TensorType, is_torch_available, logging +if is_torch_available(): + import torch + logger = logging.get_logger(__name__) From d21981336eab1f2b4b4024723ce063dc54cdf735 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Thu, 29 Jun 2023 22:01:59 -0700 Subject: [PATCH 61/70] Fix image_size --- src/transformers/models/ict/configuration_ict.py | 14 +++++--------- src/transformers/models/ict/modeling_ict.py | 15 +++++++-------- tests/models/ict/test_modeling_ict.py | 11 ++++++----- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index d28a9f5608db..fc2be32952d6 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -78,10 +78,8 @@ class IctConfig(PretrainedConfig): top_k (`int`, *optional*, defaults to 50): Number of highest probability vocabulary tokens to keep for top-k-filtering that will be used by default in the `generate` method of the model. - output_height (`int`, *optional*, defaults to 256): - The height of the final image. - output_width (`int`, *optional*, defaults to 256): - The width of the final image. + output_image_size (`int`, *optional*, defaults to 256): + The size (resolution) of the output image. clusters (`np.ndarray`, *optional*, defaults to `None`): Clusters used to quantize the image of shape `(n_clusters, 3)`. Provide the same `clusters` used for `IctImageProcessor`. @@ -116,13 +114,12 @@ def __init__( attention_probs_dropout_prob=0.0, initializer_range=0.02, layer_norm_eps=1e-12, - image_size=1024, + image_size=32, num_channels=3, qkv_bias=True, temperature=1.0, top_k=50, - output_height=256, - output_width=256, + output_image_size=256, clusters=None, **kwargs, ): @@ -145,6 +142,5 @@ def __init__( self.qkv_bias = qkv_bias self.temperature = temperature self.top_k = top_k - self.output_height = output_height - self.output_width = output_width + self.output_image_size = output_image_size self.clusters = np.array(clusters) if clusters is not None else None diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index ae98824c1c44..019352d47d9d 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -68,7 +68,7 @@ def __init__(self, config, use_mask_token=False): super().__init__() self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) - self.position_embedding = nn.Parameter(torch.zeros(1, config.image_size, config.hidden_size)) + self.position_embedding = nn.Parameter(torch.zeros(1, config.image_size * config.image_size, config.hidden_size)) self.dropout = nn.Dropout(config.embedding_dropout_prob) self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None @@ -287,7 +287,7 @@ def _init_weights( module.weight.data.fill_(1.0) def _set_gradient_checkpointing(self, module, value: bool = False) -> None: - if isinstance(module, (IctEncoder, IctTransformerModel, IctGuidedUpsampler)): + if isinstance(module, (IctEncoder)): module.gradient_checkpointing = value @@ -654,8 +654,7 @@ def __init__(self, config: IctConfig): self.l1_loss = nn.L1Loss() self.perceptual_loss = IctPerceptualLoss() self.style_loss = IctStyleLoss() - self.output_height = config.output_height - self.output_width = config.output_width + self.output_image_size = config.output_image_size self.post_init() @@ -679,9 +678,9 @@ def resize(self, img: torch.Tensor, target_height: int, target_width: int): # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/models.py#L165-L183 def forward(self, images: List[torch.Tensor], edges: List[torch.Tensor], masks: List[torch.Tensor]): - images = torch.stack([self.resize(image, self.output_height, self.output_width) for image in images]) - masks = torch.stack([self.resize(mask, self.output_height, self.output_width) for mask in masks]) - edges = torch.stack([self.resize(edge, self.output_height, self.output_width) for edge in edges]) + images = torch.stack([self.resize(image, self.output_image_size, self.output_image_size) for image in images]) + masks = torch.stack([self.resize(mask, self.output_image_size, self.output_image_size) for mask in masks]) + edges = torch.stack([self.resize(edge, self.output_image_size, self.output_image_size) for edge in edges]) images_masked = (images * (1 - masks).float()) + masks @@ -846,7 +845,7 @@ def forward( loss = None if bool_masked_pos is not None: - size = math.floor(self.config.image_size**0.5) + size = math.floor(self.config.image_size) bool_masked_pos = bool_masked_pos.reshape(-1, size, size) bool_masked_pos.repeat_interleave(1, 1).repeat_interleave(1, 2).unsqueeze(1).contiguous() # nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index 53a822cff7eb..5b3235a483ea 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -65,7 +65,7 @@ def __init__( attention_probs_dropout_prob=0.0, initializer_range=0.02, layer_norm_eps=1e-12, - image_size=1024, + image_size=32, num_channels=3, qkv_bias=False, output_height=256, @@ -98,7 +98,7 @@ def __init__( self.is_training = is_training def prepare_config_and_inputs(self): - pixel_values = ids_tensor([self.batch_size, self.image_size], self.vocab_size) + pixel_values = ids_tensor([self.batch_size, self.image_size * self.image_size], self.vocab_size) original_images = [prepare_img() for _ in range(self.batch_size)] bool_masked_pos = torch.randint(low=0, high=2, size=(1, pixel_values.shape[1])).bool() @@ -223,7 +223,7 @@ class IctModelIntegrationTest(unittest.TestCase): def default_image_processor(self): return IctImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None - @slow + # @slow def test_inference_masked_image_modeling(self): model = IctModel.from_pretrained("sheonhan/ict-imagenet-256").to(torch_device) @@ -232,10 +232,11 @@ def test_inference_masked_image_modeling(self): inputs = image_processor(images=image, return_tensors="pt") pixel_values = inputs.pixel_values - image_size = pixel_values.shape[1] + # image_size = pixel_values.shape[1] + image_size = 1 torch.manual_seed(6) - bool_masked_pos = torch.randint(low=0, high=2, size=(1, image_size)).bool() + bool_masked_pos = torch.randint(low=0, high=2, size=(1, image_size * image_size)).bool() clusters = image_processor.clusters # forward pass From 16728100cbba97384de71199380ce4becd29011b Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 30 Jun 2023 02:10:38 -0700 Subject: [PATCH 62/70] Incoporate feedback for image processor --- .../models/ict/image_processing_ict.py | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 31d50a348ae5..445a135fc4bc 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -69,10 +69,10 @@ class IctImageProcessor(BaseImageProcessor): image_std (`float` or `List[float]`, *optional*, defaults to `IMAGENET_STANDARD_STD`): Standard deviation to use if normalizing the image. This is a float or list of floats the length of the number of channels in the image. Can be overridden by the `image_std` parameter in the `preprocess` method. - do_color_quantize (`bool`, *optional*, defaults to `self.do_color_quantize`): + do_color_quantize (`bool`, *optional*, defaults to `True`): Whether to color quantize the image. Can be overridden by the `do_color_quantize` parameter in the `preprocess` method. - clusters (`np.ndarray`, *optional*, defaults to `self.clusters`): + clusters (`np.ndarray`, *optional*, defaults to `None`): Clusters used to quantize the image of shape `(n_clusters, 3)`. Only has an effect if `do_color_quantize` is set to `True`. """ @@ -90,7 +90,7 @@ def __init__( image_mean: Optional[Union[float, List[float]]] = None, image_std: Optional[Union[float, List[float]]] = None, do_color_quantize: bool = True, - clusters: Optional[np.ndarray] = None, + clusters: Optional[Union[np.ndarray, List[float]]] = None, **kwargs, ) -> None: super().__init__(**kwargs) @@ -105,7 +105,7 @@ def __init__( self.image_mean = image_mean if image_mean is not None else IMAGENET_STANDARD_MEAN self.image_std = image_std if image_std is not None else IMAGENET_STANDARD_STD self.do_color_quantize = do_color_quantize - self.clusters = np.array(clusters) + self.clusters = np.array(clusters) if clusters is not None else None def resize( self, @@ -192,24 +192,25 @@ def normalize( """ return normalize(image, mean=mean, std=std, data_format=data_format, **kwargs) - def color_quantize(self, image: np.ndarray, clusters: Optional[np.ndarray] = None): + def color_quantize(self, image: np.ndarray, clusters: np.ndarray): """ - Reduce the dimension by using an extra visual vocabulary with spatial size num_clusters × 3, which was + Reduce the dimension by using an extra visual vocabulary (Bags-of-Words vectors) with spatial size num_clusters × 3, which was generated using k-means clustered centers of the ImageNet RGB pixel spaces. + + e.g., An image of shape (32, 24, 3) will be reduced to (32, 24) where each element of the output tensor corresponds to an integer index in `clusters` which contain the actual RGB pixel. Args: image (`np.ndarray`): - Image to reduce dimensions. + Image whose dimension will be reduced. Returns: - `np.ndarray`: The image with reduced dimension of shape `[input_height * input_width]` where each value - corresponds to the index of clusters. + `np.ndarray`: Image with reduced dimensions. """ - # Copied from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L98 - image = torch.from_numpy(image).view(-1, 3).float() - image = ((image[:, None, :] - clusters[None, :, :]) ** 2).sum(-1).argmin(1) - image = image.numpy() + # Modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L98 + image = to_channel_dimension_format(image, ChannelDimension.LAST) + image = image.reshape(-1, 3) + image = np.argmin(np.sum((image[:, None, :] - clusters[None, :, :]) ** 2, axis=-1), axis=1) return image def preprocess( @@ -314,7 +315,6 @@ def preprocess( images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] if do_color_quantize: - images = [to_channel_dimension_format(image, ChannelDimension.LAST) for image in images] # flatten images to (batch_size, height * width) images = [self.color_quantize(image=image, clusters=clusters) for image in images] else: From 276bf6e8de817d4b3cb5fd3f14d97960aa975529 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Fri, 30 Jun 2023 02:13:07 -0700 Subject: [PATCH 63/70] image_size to 32 --- src/transformers/models/ict/configuration_ict.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index fc2be32952d6..51f8c489d2b0 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -66,7 +66,7 @@ class IctConfig(PretrainedConfig): The standard deviation of the truncated_normal_initializer for initializing all weight matrices. layer_norm_eps (`float`, *optional*, defaults to 1e-12): The epsilon used by the layer normalization layers. - image_size (`int`, *optional*, defaults to 1024): + image_size (`int`, *optional*, defaults to 32): The size (resolution) of each image. num_channels (`int`, *optional*, defaults to 3): The number of input channels. From 47380e06e7e835c2fb9eb04e70af39fba62e6bc7 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 2 Jul 2023 01:20:33 -0700 Subject: [PATCH 64/70] Incoporate feedback --- .../models/ict/configuration_ict.py | 5 + .../models/ict/image_processing_ict.py | 9 +- src/transformers/models/ict/modeling_ict.py | 175 +++++++++--------- tests/models/ict/test_modeling_ict.py | 49 ++--- 4 files changed, 121 insertions(+), 117 deletions(-) diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 51f8c489d2b0..408a620c3242 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -78,6 +78,9 @@ class IctConfig(PretrainedConfig): top_k (`int`, *optional*, defaults to 50): Number of highest probability vocabulary tokens to keep for top-k-filtering that will be used by default in the `generate` method of the model. + gan_loss_function (`str`, *optional*, defaults to `"nsgan"`): + GAN loss function for the guided upsampler. Choose one of `"nsgan"`, `"lsgan"`, `"hinge"`. + Defaults to "nsgan". output_image_size (`int`, *optional*, defaults to 256): The size (resolution) of the output image. clusters (`np.ndarray`, *optional*, defaults to `None`): @@ -119,6 +122,7 @@ def __init__( qkv_bias=True, temperature=1.0, top_k=50, + gan_loss_function="nsgan", output_image_size=256, clusters=None, **kwargs, @@ -142,5 +146,6 @@ def __init__( self.qkv_bias = qkv_bias self.temperature = temperature self.top_k = top_k + self.gan_loss_function = gan_loss_function self.output_image_size = output_image_size self.clusters = np.array(clusters) if clusters is not None else None diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index 445a135fc4bc..c5cc9883ed1f 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -196,8 +196,8 @@ def color_quantize(self, image: np.ndarray, clusters: np.ndarray): """ Reduce the dimension by using an extra visual vocabulary (Bags-of-Words vectors) with spatial size num_clusters × 3, which was generated using k-means clustered centers of the ImageNet RGB pixel spaces. - - e.g., An image of shape (32, 24, 3) will be reduced to (32, 24) where each element of the output tensor corresponds to an integer index in `clusters` which contain the actual RGB pixel. + + e.g., An image of shape (32, 24, 3) will be reduced to (32, 24) where each element of the output tensor corresponds to an integer index in `clusters` which contain the actual RGB pixel. Args: image (`np.ndarray`): @@ -315,10 +315,13 @@ def preprocess( images = [self.normalize(image=image, mean=image_mean, std=image_std) for image in images] if do_color_quantize: + images = [to_channel_dimension_format(image, ChannelDimension.LAST) for image in images] # flatten images to (batch_size, height * width) images = [self.color_quantize(image=image, clusters=clusters) for image in images] else: images = [to_channel_dimension_format(image, data_format) for image in images] - data = {"pixel_values": images} + clusters = torch.from_numpy(clusters) + data = {"pixel_values": images, "clusters": clusters} + return BatchFeature(data=data, tensor_type=return_tensors) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 019352d47d9d..07f27b67451a 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -19,12 +19,10 @@ import math from typing import Dict, List, Optional, Set, Tuple, Union -import numpy as np import torch +import torch.nn.functional as F import torch.utils.checkpoint import torchvision.models as models -import torchvision.transforms.functional as F -from PIL import Image from torch import nn from ...activations import ACT2FN @@ -58,7 +56,6 @@ ] -# Modified from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class IctEmbeddings(nn.Module): """ Construct the embeddings. Optionally, also the mask token. @@ -68,7 +65,9 @@ def __init__(self, config, use_mask_token=False): super().__init__() self.token_embedding = nn.Embedding(config.vocab_size, config.hidden_size) - self.position_embedding = nn.Parameter(torch.zeros(1, config.image_size * config.image_size, config.hidden_size)) + self.position_embedding = nn.Parameter( + torch.zeros(1, config.image_size * config.image_size, config.hidden_size) + ) self.dropout = nn.Dropout(config.embedding_dropout_prob) self.mask_token = nn.Parameter(torch.zeros(1, 1, config.hidden_size)) if use_mask_token else None @@ -84,7 +83,6 @@ def forward( seq_length = embeddings.shape[1] mask_tokens = self.mask_token.expand(batch_size, seq_length, -1) # replace the masked visual tokens by mask_tokens - # changed from [1, 1024] to [1, 1024, 1] to torch.float32 mask = bool_masked_pos.unsqueeze(-1).type_as(mask_tokens) embeddings = embeddings * (1.0 - mask) + mask_tokens * mask @@ -96,7 +94,6 @@ def forward( return embeddings -# Modified from transformers.models.vit.modeling_vit.ViTSelfAttention with ViT->ICT class IctSelfAttention(nn.Module): def __init__(self, config: IctConfig) -> None: super().__init__() @@ -178,27 +175,27 @@ def forward( class IctLayer(nn.Module): def __init__(self, config): super().__init__() - num_embed = config.hidden_size + hidden_size = config.hidden_size intermediate_size = config.intermediate_size self.intermediate_act_fn = ACT2FN[config.activation_function] - self.ln_1 = nn.LayerNorm(num_embed, eps=config.layer_norm_eps) + self.layer_norm_1 = nn.LayerNorm(hidden_size, eps=config.layer_norm_eps) self.attention = IctSelfAttention(config) - self.ln_2 = nn.LayerNorm(num_embed, eps=config.layer_norm_eps) + self.layer_norm_2 = nn.LayerNorm(hidden_size, eps=config.layer_norm_eps) self.mlp = nn.Sequential( - nn.Linear(num_embed, intermediate_size), + nn.Linear(hidden_size, intermediate_size), self.intermediate_act_fn, - nn.Linear(intermediate_size, num_embed), + nn.Linear(intermediate_size, hidden_size), nn.Dropout(config.residual_dropout_prob), ) def forward(self, hidden_states, output_attentions: bool = False): - self_attention_outputs = self.attention(self.ln_1(hidden_states), output_attentions=output_attentions) + self_attention_outputs = self.attention(self.layer_norm_1(hidden_states), output_attentions=output_attentions) attention_output = self_attention_outputs[0] outputs = self_attention_outputs[1:] # add self attentions if we output attention weights hidden_states = hidden_states + attention_output - hidden_states = hidden_states + self.mlp(self.ln_2(hidden_states)) + hidden_states = hidden_states + self.mlp(self.layer_norm_2(hidden_states)) outputs = (hidden_states,) + outputs @@ -259,7 +256,6 @@ def custom_forward(*inputs): ) -# Modified from transformers.models.vit.modeling_vit.ViTPreTrainedModel with ViT->ICT,vit->ict class IctPretrainedModel(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained @@ -291,11 +287,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: module.gradient_checkpointing = value -# Modified from transformers.models.vit.modeling_vit.ViTModel with VIT->ICT,ViT->ICT class IctTransformerModel(IctPretrainedModel): - config_class = IctConfig - main_input_name = "pixel_values" - def __init__(self, config: IctConfig, use_mask_token: bool = False): super().__init__(config) self.config = config @@ -304,7 +296,7 @@ def __init__(self, config: IctConfig, use_mask_token: bool = False): self.encoder = IctEncoder(config) self.layernorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps) - self.head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.pooler = nn.Linear(config.hidden_size, config.vocab_size, bias=False) # Initialize weights and apply final processing self.post_init() @@ -337,9 +329,6 @@ def forward( if pixel_values is None: raise ValueError("You have to specify pixel_values") - # Unlike ViT, each value in pixel_values is an index that corresponds to the visual vocabulary - pixel_values = pixel_values.to(torch.long) - embedding_output = self.embeddings(pixel_values, bool_masked_pos=bool_masked_pos) encoder_outputs = self.encoder( @@ -350,7 +339,7 @@ def forward( ) sequence_output = encoder_outputs[0] sequence_output = self.layernorm(sequence_output) - pooled_output = self.head(sequence_output) + pooled_output = self.pooler(sequence_output) if not return_dict: head_outputs = (sequence_output, pooled_output) if pooled_output is not None else (sequence_output,) @@ -420,7 +409,7 @@ def forward(self, x): return x -class VGG19(torch.nn.Module): +class VGG19(nn.Module): def __init__(self): super().__init__() features = models.vgg19(pretrained=True).features @@ -545,26 +534,26 @@ class IctAdversarialLoss(nn.Module): Adversarial loss https://arxiv.org/abs/1711.10337 """ - def __init__(self, gan_loss_function="nsgan", target_real_label=1.0, target_fake_label=0.0): - r""" - gan_loss_function = nsgan | lsgan | hinge - """ + def __init__(self, config): super().__init__() - self.gan_loss_function = gan_loss_function - self.register_buffer("real_label", torch.tensor(target_real_label)) - self.register_buffer("fake_label", torch.tensor(target_fake_label)) + self.gan_loss_function = config.gan_loss_function + self.real_label = torch.tensor(1.0) + self.fake_label = torch.tensor(0.0) - if gan_loss_function == "nsgan": + if self.gan_loss_function == "nsgan": self.criterion = nn.BCELoss() - elif gan_loss_function == "lsgan": + elif self.gan_loss_function == "lsgan": self.criterion = nn.MSELoss() - elif gan_loss_function == "hinge": + elif self.gan_loss_function == "hinge": self.criterion = nn.ReLU() - def __call__(self, outputs, is_real, is_discriminator=None): + else: + raise ValueError("`gan_loss_function` has to be `nsgan`, `lsgan`, or `hinge`.") + + def forward(self, outputs, is_real, is_discriminator=False): if self.gan_loss_function == "hinge": if is_discriminator: if is_real: @@ -573,10 +562,9 @@ def __call__(self, outputs, is_real, is_discriminator=None): else: return (-outputs).mean() - else: - labels = (self.real_label if is_real else self.fake_label).expand_as(outputs) - loss = self.criterion(outputs, labels) - return loss + labels = (self.real_label if is_real else self.fake_label).expand_as(outputs) + loss = self.criterion(outputs, labels) + return loss class IctStyleLoss(nn.Module): @@ -587,7 +575,7 @@ class IctStyleLoss(nn.Module): def __init__(self): super().__init__() - self.add_module("vgg", VGG19()) + self.vgg = VGG19() self.criterion = torch.nn.L1Loss() def compute_gram_matrix(self, x): @@ -597,7 +585,7 @@ def compute_gram_matrix(self, x): return gram - def __call__(self, x, y): + def forward(self, x, y): # Compute features x_vgg, y_vgg = self.vgg(x), self.vgg(y) @@ -625,13 +613,13 @@ class IctPerceptualLoss(nn.Module): https://github.com/dxyang/StyleTransfer/blob/master/utils.py """ - def __init__(self, weights=None): + def __init__(self): super().__init__() - self.add_module("vgg", VGG19()) + self.vgg = VGG19() self.criterion = torch.nn.L1Loss() - self.weights = weights if weights is not None else [1.0, 1.0, 1.0, 1.0, 1.0] + self.weights = [1.0, 1.0, 1.0, 1.0, 1.0] - def __call__(self, x, y): + def forward(self, x, y): # Compute features x_vgg, y_vgg = self.vgg(x), self.vgg(y) @@ -650,10 +638,10 @@ def __init__(self, config: IctConfig): super().__init__(config) self.generator = IctInpaintGenerator(config) - self.adversarial_loss = IctAdversarialLoss() + self.adversarial_loss = IctAdversarialLoss(config) self.l1_loss = nn.L1Loss() - self.perceptual_loss = IctPerceptualLoss() self.style_loss = IctStyleLoss() + self.perceptual_loss = IctPerceptualLoss() self.output_image_size = config.output_image_size self.post_init() @@ -661,30 +649,37 @@ def __init__(self, config: IctConfig): # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L203-L209 # and https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/dataset_my.py#L183-L186 def resize(self, img: torch.Tensor, target_height: int, target_width: int): - img = img.cpu().detach().numpy() - img_height, img_width = img.shape[0:2] + img = img.to(self.device) + # If the image tensor is in the format (N, H, W, C), change it to (N, C, H, W) + if img.dim() == 4 and img.shape[1] > img.shape[3]: + img = img.permute(0, 3, 1, 2) - if img_height != img_width: - # Center crop - side = min(img_height, img_width) - j = (img_height - side) // 2 - i = (img_width - side) // 2 - img = img[j : j + side, i : i + side, ...] - img = img.astype(np.uint8) - np_img = Image.fromarray(img) - resized_np_img = np_img.resize((target_height, target_width), resample=Image.BICUBIC) + # Handle boolean tensors + if img.dim() == 3: + img = img.unsqueeze(1) - return F.to_tensor(resized_np_img).float() + # Center crop for non-square images + _, _, height, width = img.shape + if height != width: + side_length = min(height, width) + height_offset = (height - side_length) // 2 + width_offset = (width - side_length) // 2 + img = img[:, :, height_offset : height_offset + side_length, width_offset : width_offset + side_length] + + img = img.float() + img = F.interpolate(img, size=(target_height, target_width), mode="bicubic") + + return img # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Guided_Upsample/src/models.py#L165-L183 - def forward(self, images: List[torch.Tensor], edges: List[torch.Tensor], masks: List[torch.Tensor]): - images = torch.stack([self.resize(image, self.output_image_size, self.output_image_size) for image in images]) - masks = torch.stack([self.resize(mask, self.output_image_size, self.output_image_size) for mask in masks]) - edges = torch.stack([self.resize(edge, self.output_image_size, self.output_image_size) for edge in edges]) + def forward(self, images: List[torch.Tensor], appearance_priors: List[torch.Tensor], masks: List[torch.Tensor]): + images = self.resize(images, self.output_image_size, self.output_image_size) + appearance_priors = self.resize(appearance_priors, self.output_image_size, self.output_image_size) + masks = self.resize(masks, self.output_image_size, self.output_image_size) images_masked = (images * (1 - masks).float()) + masks - inputs = torch.cat((images_masked, edges), dim=1) + inputs = torch.cat((images_masked, appearance_priors), dim=1) outputs = self.generator(inputs) return outputs @@ -737,6 +732,7 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): self.transformer = IctTransformerModel(config, use_mask_token=use_mask_token) self.guided_upsampler = IctGuidedUpsampler(config) self.clusters = config.clusters + self.image_size = config.image_size # Initialize weights and apply final processing self.post_init() @@ -744,19 +740,11 @@ def __init__(self, config: IctConfig, use_mask_token: bool = True): def get_input_embeddings(self): return self.transformer.embeddings.token_embedding - @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) - @add_code_sample_docstrings( - checkpoint=_CHECKPOINT_FOR_DOC, - output_type=MaskedImageModelingOutput, - config_class=_CONFIG_FOR_DOC, - modality="vision", - expected_output=_EXPECTED_OUTPUT_SHAPE, - ) def top_k_logits(self, logits, k): - output, _ = torch.topk(logits, k) - logits_clone = logits.clone() - logits_clone[logits_clone < output[:, [-1]]] = -float("Inf") - return logits_clone + values, indices = torch.topk(logits, k) + new_logits = torch.full_like(logits, -float("inf")) + new_logits[:, indices[0]] = values + return new_logits def sample_mask(self, pixel_values, logits, bool_masked_pos, temperature=1.0, top_k=50): _, length, _ = logits.shape @@ -771,11 +759,20 @@ def sample_mask(self, pixel_values, logits, bool_masked_pos, temperature=1.0, to output[:, i] = pred[:, 0] return output + + @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) + @add_code_sample_docstrings( + checkpoint=_CHECKPOINT_FOR_DOC, + output_type=MaskedImageModelingOutput, + config_class=_CONFIG_FOR_DOC, + modality="vision", + expected_output=_EXPECTED_OUTPUT_SHAPE, + ) def forward( self, pixel_values: Optional[torch.Tensor], bool_masked_pos: Optional[torch.BoolTensor] = None, - clusters: Optional[np.ndarray] = None, + clusters: Optional[torch.Tensor] = None, output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, @@ -806,7 +803,6 @@ def forward( >>> outputs = model(pixel_values, bool_masked_pos=bool_masked_pos, clusters=clusters) ```""" return_dict = return_dict if return_dict is not None else self.config.use_return_dict - clusters = clusters if clusters is not None else self.config.clusters if pixel_values is None: raise ValueError("You have to specify pixel_values") @@ -825,28 +821,23 @@ def forward( batch_size, sequence_length, _ = logits.shape height = width = math.floor(sequence_length**0.5) - # modified from https://github.com/raywzy/ICT/blob/59dd12d374d47cdf0dce90923017ca3657e6aa0b/Transformer/inference.py#L107-L126 - # clusters = np.rint(127.5 * (clusters + 1.0)) - clusters = torch.from_numpy(clusters) - original_images = [clusters[pixel_values[i]].view(height, width, 3) for i in range(batch_size)] + original_images = clusters[pixel_values].view(batch_size, height, width, 3) + recovered_pixel_values = self.sample_mask( pixel_values, logits, bool_masked_pos, temperature=self.config.temperature, top_k=self.config.top_k ) - recovered_images = [clusters[recovered_pixel_values[i]].view(height, width, 3) for i in range(batch_size)] + recovered_images = clusters[recovered_pixel_values].view(batch_size, height, width, 3) - reshaped_bool_masked_pos = [ - bool_masked_pos.reshape(height, width) if bool_masked_pos is not None - # Handle without boolean mask - else torch.full((height, width), 1) - for _ in range(batch_size) - ] + if bool_masked_pos is None: + reshaped_bool_masked_pos = torch.full((batch_size, height, width), 1) + else: + reshaped_bool_masked_pos = torch.tile(bool_masked_pos, (batch_size, 1, 1)) reconstructed_pixel_values = self.guided_upsampler(original_images, recovered_images, reshaped_bool_masked_pos) loss = None if bool_masked_pos is not None: - size = math.floor(self.config.image_size) - bool_masked_pos = bool_masked_pos.reshape(-1, size, size) + bool_masked_pos = bool_masked_pos.reshape(-1, self.image_size, self.image_size) bool_masked_pos.repeat_interleave(1, 1).repeat_interleave(1, 2).unsqueeze(1).contiguous() # nn.functional.l1_loss(pixel_values, reconstructed_pixel_values, reduction="none") # loss = (reconstruction_loss * mask).sum() / (mask.sum() + 1e-5) / self.config.num_channels diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index 5b3235a483ea..c8b298ceb9b0 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -68,8 +68,10 @@ def __init__( image_size=32, num_channels=3, qkv_bias=False, - output_height=256, - output_width=256, + temperature=1.0, + top_k=50, + gan_loss_function="nsgan", + output_image_size=256, scope=None, is_training=True, ): @@ -90,24 +92,25 @@ def __init__( self.image_size = image_size self.num_channels = num_channels self.qkv_bias = qkv_bias - self.output_height = output_height - self.output_width = output_width + self.temperature = temperature + self.top_k = top_k + self.gan_loss_function = gan_loss_function + self.output_image_size = output_image_size - self.seq_length = image_size + self.seq_length = image_size * image_size self.scope = scope self.is_training = is_training def prepare_config_and_inputs(self): pixel_values = ids_tensor([self.batch_size, self.image_size * self.image_size], self.vocab_size) - original_images = [prepare_img() for _ in range(self.batch_size)] bool_masked_pos = torch.randint(low=0, high=2, size=(1, pixel_values.shape[1])).bool() np.random.seed(6) - clusters = np.random.rand(512, 3) + clusters = torch.from_numpy(np.random.rand(512, 3)) config = self.get_config() - return config, pixel_values, original_images, bool_masked_pos, clusters + return config, pixel_values, bool_masked_pos, clusters def get_config(self): return IctConfig( @@ -126,25 +129,27 @@ def get_config(self): image_size=self.image_size, num_channels=self.num_channels, qkv_bias=self.qkv_bias, - output_height=self.output_height, - output_width=self.output_width, + temperature=self.temperature, + top_k=self.top_k, + gan_loss_function=self.gan_loss_function, + output_image_size=self.output_image_size, ) - def create_and_check_model(self, config, pixel_values, original_images, bool_masked_pos, clusters): + def create_and_check_model(self, config, pixel_values, bool_masked_pos, clusters): model = IctModel(config=config) model.to(torch_device) model.eval() - result = model(pixel_values, original_images, bool_masked_pos, clusters) + result = model(pixel_values, bool_masked_pos, clusters) self.parent.assertEqual( - result.reconstruction.shape, (self.batch_size, self.num_channels, self.output_height, self.output_width) + result.reconstruction.shape, + (self.batch_size, self.num_channels, self.output_image_size, self.output_image_size), ) def prepare_config_and_inputs_for_common(self): config_and_inputs = self.prepare_config_and_inputs() - (config, pixel_values, original_images, bool_masked_pos, clusters) = config_and_inputs + (config, pixel_values, bool_masked_pos, clusters) = config_and_inputs inputs_dict = { "pixel_values": pixel_values, - "original_images": original_images, "bool_masked_pos": bool_masked_pos, "clusters": clusters, } @@ -200,7 +205,6 @@ def test_forward_signature(self): def test_model(self): config_and_inputs = self.model_tester.prepare_config_and_inputs() - print(f"CUSTOM_LOG config_and_inputs: {config_and_inputs}") self.model_tester.create_and_check_model(*config_and_inputs) @slow @@ -232,17 +236,18 @@ def test_inference_masked_image_modeling(self): inputs = image_processor(images=image, return_tensors="pt") pixel_values = inputs.pixel_values - # image_size = pixel_values.shape[1] - image_size = 1 + image_size = pixel_values.shape[1] torch.manual_seed(6) - bool_masked_pos = torch.randint(low=0, high=2, size=(1, image_size * image_size)).bool() - clusters = image_processor.clusters + bool_masked_pos = torch.randint(low=0, high=2, size=(1, image_size)).bool() + clusters = inputs.clusters # forward pass with torch.no_grad(): outputs = model( - pixel_values=pixel_values, original_images=image, clusters=clusters, bool_masked_pos=bool_masked_pos + pixel_values=pixel_values, + bool_masked_pos=bool_masked_pos, + clusters=clusters, ) # verify the logits @@ -253,4 +258,4 @@ def test_inference_masked_image_modeling(self): [[2.3445, 2.6889, 2.7313], [1.0530, 1.2416, 0.5699], [0.2205, 0.7749, 0.3953]] ).to(torch_device) - self.assertTrue(torch.allclose(outputs.logits[0, :3, :3], expected_slice, atol=1e-4)) + self.assertTrue(torch.allclose(outputs.logits[0, :3, :3, :3], expected_slice, atol=1e-4)) From 1c5691c2573d5ff03d9032ff89db293e894931a0 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 2 Jul 2023 20:29:07 -0700 Subject: [PATCH 65/70] refactor sample_mask --- src/transformers/models/ict/modeling_ict.py | 23 +++++++++++---------- utils/check_repo.py | 3 --- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 07f27b67451a..5344abfeaabb 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -747,18 +747,19 @@ def top_k_logits(self, logits, k): return new_logits def sample_mask(self, pixel_values, logits, bool_masked_pos, temperature=1.0, top_k=50): - _, length, _ = logits.shape - output = pixel_values.clone() - - for i in range(length): - if bool_masked_pos[0, i] != 0: - logits_i = logits[:, i, :] / temperature - logits_i = self.top_k_logits(logits_i, top_k) - probs = nn.functional.softmax(logits_i, dim=-1) - pred = torch.multinomial(probs, num_samples=1) - output[:, i] = pred[:, 0] - return output + logits = logits / temperature + bool_masked_pos_expanded = bool_masked_pos.expand(logits.shape[0], logits.shape[1]) + + logits = logits[bool_masked_pos_expanded].view(-1, logits.size(-1)) + logits = self.top_k_logits(logits, top_k) + probs = nn.functional.softmax(logits, dim=-1) + pred = torch.multinomial(probs, num_samples=1) + output = torch.zeros_like(pixel_values) + output[~bool_masked_pos_expanded] = pixel_values[~bool_masked_pos_expanded] + output[bool_masked_pos_expanded] = pred.squeeze() + + return output @add_start_docstrings_to_model_forward(ICT_INPUTS_DOCSTRING) @add_code_sample_docstrings( diff --git a/utils/check_repo.py b/utils/check_repo.py index cea5e7b08cac..db947d834bad 100644 --- a/utils/check_repo.py +++ b/utils/check_repo.py @@ -52,9 +52,6 @@ "MaskFormerSwinPreTrainedModel", "BridgeTowerTextModel", "BridgeTowerVisionModel", - "IctGuidedUpsampler", - "IctPretrainedModel", - "IctTransformerModel", ] # Update this list for models that are not tested with a comment explaining the reason it should not be. From 0ba129dda417d215a4f55964e867fb63ec8ed6ce Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 2 Jul 2023 20:59:58 -0700 Subject: [PATCH 66/70] Fix repo consistency --- src/transformers/models/ict/modeling_ict.py | 8 ++++---- utils/check_repo.py | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 5344abfeaabb..3e8c53093fee 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -256,7 +256,7 @@ def custom_forward(*inputs): ) -class IctPretrainedModel(PreTrainedModel): +class IctPreTrainedModel(PreTrainedModel): """ An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained models. @@ -287,7 +287,7 @@ def _set_gradient_checkpointing(self, module, value: bool = False) -> None: module.gradient_checkpointing = value -class IctTransformerModel(IctPretrainedModel): +class IctTransformerModel(IctPreTrainedModel): def __init__(self, config: IctConfig, use_mask_token: bool = False): super().__init__(config) self.config = config @@ -633,7 +633,7 @@ def forward(self, x, y): return content_loss -class IctGuidedUpsampler(IctPretrainedModel): +class IctGuidedUpsampler(IctPreTrainedModel): def __init__(self, config: IctConfig): super().__init__(config) @@ -722,7 +722,7 @@ def forward(self, images: List[torch.Tensor], appearance_priors: List[torch.Tens @add_start_docstrings(ICT_START_DOCSTRING) -class IctModel(IctPretrainedModel): +class IctModel(IctPreTrainedModel): config_class = IctConfig def __init__(self, config: IctConfig, use_mask_token: bool = True): diff --git a/utils/check_repo.py b/utils/check_repo.py index db947d834bad..118109b0f4a8 100644 --- a/utils/check_repo.py +++ b/utils/check_repo.py @@ -52,6 +52,8 @@ "MaskFormerSwinPreTrainedModel", "BridgeTowerTextModel", "BridgeTowerVisionModel", + "IctGuidedUpsampler", + "IctTransformerModel", ] # Update this list for models that are not tested with a comment explaining the reason it should not be. From 36b5ea2d3927fdf232fca6fcd3a7446ba655eea6 Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Sun, 2 Jul 2023 21:26:16 -0700 Subject: [PATCH 67/70] fix style --- docs/source/en/model_doc/{ict.mdx => ict.md} | 17 +++++++++++++---- .../models/ict/configuration_ict.py | 4 ++-- .../models/ict/image_processing_ict.py | 7 ++++--- 3 files changed, 19 insertions(+), 9 deletions(-) rename docs/source/en/model_doc/{ict.mdx => ict.md} (69%) diff --git a/docs/source/en/model_doc/ict.mdx b/docs/source/en/model_doc/ict.md similarity index 69% rename from docs/source/en/model_doc/ict.mdx rename to docs/source/en/model_doc/ict.md index bcff7fa0e36d..d1a738f79c55 100644 --- a/docs/source/en/model_doc/ict.mdx +++ b/docs/source/en/model_doc/ict.md @@ -14,7 +14,10 @@ specific language governing permissions and limitations under the License. ## Overview -The ICT model was proposed in [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. ICT (Image Completion with Transformers) leverages both a transformer and CNNs by decoupling image completion into two steps: pluralistic appearance priors reconstruction with a transformer to recover the coherent image structures, and low-resolution upsampling with CNNs to replenish fine textures. +The ICT model was proposed in [High-Fidelity Pluralistic Image Completion with Transformers](https://arxiv.org/abs/2103.14031) +by Ziyu Wan, Jingbo Zhang, Dongdong Chen, Jing Liao. ICT (Image Completion with Transformers) leverages both a +transformer and CNNs by decoupling image completion into two steps: pluralistic appearance priors reconstruction with a +transformer to recover the coherent image structures, and low-resolution upsampling with CNNs to replenish fine textures. The abstract from the paper is the following: @@ -22,9 +25,15 @@ The abstract from the paper is the following: Tips: -- Unlike auto-regressive methods, in order to make the transformer model capable of completing the missing regions by considering all the available context, this model optimizes the log-likelihood objective of missing pixels bi-directionally conditions, which is inspired by the masked language model like BERT. -- The computational cost of multi-head attention increases quadratically, so the appearance priors is resized to low-resolution versions, which contains structural information and coarse textures only. But the dimension is further reduced by using an extra visual vocabulary (512 × 3) which is generated using k-means cluster centers of the whole ImageNet RGB pixel spaces. -- Three available checkpoints are trained on [ImageNet](https://www.image-net.org/challenges/LSVRC), [FFHQ](https://github.com/NVlabs/ffhq-dataset) and [Places2](http://places2.csail.mit.edu/). +- Unlike auto-regressive methods, in order to make the transformer model capable of completing the missing regions by + considering all the available context, this model optimizes the log-likelihood objective of missing pixels + bi-directionally conditions, which is inspired by the masked language model like BERT. +- The computational cost of multi-head attention increases quadratically, so the appearance priors is resized to + low-resolution versions, which contains structural information and coarse textures only. But the dimension is further + reduced by using an extra visual vocabulary (512 × 3) which is generated using k-means cluster centers of the whole + ImageNet RGB pixel spaces. +- Three available checkpoints are trained on [ImageNet](https://www.image-net.org/challenges/LSVRC), + [FFHQ](https://github.com/NVlabs/ffhq-dataset) and [Places2](http://places2.csail.mit.edu/). This model was contributed by [Sheon Han](https://huggingface.co/sheonhan). The original code can be found [here](https://github.com/raywzy/ICT). diff --git a/src/transformers/models/ict/configuration_ict.py b/src/transformers/models/ict/configuration_ict.py index 408a620c3242..06d69795e6a0 100644 --- a/src/transformers/models/ict/configuration_ict.py +++ b/src/transformers/models/ict/configuration_ict.py @@ -79,8 +79,8 @@ class IctConfig(PretrainedConfig): Number of highest probability vocabulary tokens to keep for top-k-filtering that will be used by default in the `generate` method of the model. gan_loss_function (`str`, *optional*, defaults to `"nsgan"`): - GAN loss function for the guided upsampler. Choose one of `"nsgan"`, `"lsgan"`, `"hinge"`. - Defaults to "nsgan". + GAN loss function for the guided upsampler. Choose one of `"nsgan"`, `"lsgan"`, `"hinge"`. Defaults to + "nsgan". output_image_size (`int`, *optional*, defaults to 256): The size (resolution) of the output image. clusters (`np.ndarray`, *optional*, defaults to `None`): diff --git a/src/transformers/models/ict/image_processing_ict.py b/src/transformers/models/ict/image_processing_ict.py index c5cc9883ed1f..f655b3ac5557 100644 --- a/src/transformers/models/ict/image_processing_ict.py +++ b/src/transformers/models/ict/image_processing_ict.py @@ -194,10 +194,11 @@ def normalize( def color_quantize(self, image: np.ndarray, clusters: np.ndarray): """ - Reduce the dimension by using an extra visual vocabulary (Bags-of-Words vectors) with spatial size num_clusters × 3, which was - generated using k-means clustered centers of the ImageNet RGB pixel spaces. + Reduce the dimension by using an extra visual vocabulary (Bags-of-Words vectors) with spatial size num_clusters + × 3, which was generated using k-means clustered centers of the ImageNet RGB pixel spaces. - e.g., An image of shape (32, 24, 3) will be reduced to (32, 24) where each element of the output tensor corresponds to an integer index in `clusters` which contain the actual RGB pixel. + e.g., An image of shape (32, 24, 3) will be reduced to (32, 24) where each element of the output tensor + corresponds to an integer index in `clusters` which contain the actual RGB pixel. Args: image (`np.ndarray`): From e946417d4f7618d1a0281212672c771ae429a03f Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Mon, 3 Jul 2023 16:47:05 -0700 Subject: [PATCH 68/70] torch random --- src/transformers/models/ict/modeling_ict.py | 10 +++++++--- tests/models/ict/test_modeling_ict.py | 9 +++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index 3e8c53093fee..f8e583940874 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -25,6 +25,10 @@ import torchvision.models as models from torch import nn +import torchvision.transforms.functional as FV +import numpy as np +from PIL import Image + from ...activations import ACT2FN from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageModelingOutput from ...modeling_utils import PreTrainedModel @@ -531,7 +535,7 @@ def forward(self, x): class IctAdversarialLoss(nn.Module): r""" - Adversarial loss https://arxiv.org/abs/1711.10337 + ICT Adversarial loss https://arxiv.org/abs/1711.10337 """ def __init__(self, config): @@ -569,7 +573,7 @@ def forward(self, outputs, is_real, is_discriminator=False): class IctStyleLoss(nn.Module): r""" - Perceptual loss, VGG-based https://arxiv.org/abs/1603.08155 + Style loss, VGG-based https://arxiv.org/abs/1603.08155 https://github.com/dxyang/StyleTransfer/blob/master/utils.py """ @@ -777,7 +781,7 @@ def forward( output_attentions: Optional[bool] = None, output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, - ) -> Union[Tuple, BaseModelOutput]: + ) -> Union[Tuple, MaskedImageModelingOutput]: r""" Returns: diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index c8b298ceb9b0..fcb1be094b1e 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -18,8 +18,6 @@ import inspect import unittest -import numpy as np - from transformers import IctConfig from transformers.testing_utils import ( require_torch, @@ -37,6 +35,7 @@ if is_torch_available(): import torch from torch import nn + torch.manual_seed(3) from transformers import IctModel from transformers.models.ict.modeling_ict import ICT_PRETRAINED_MODEL_ARCHIVE_LIST @@ -105,8 +104,7 @@ def prepare_config_and_inputs(self): pixel_values = ids_tensor([self.batch_size, self.image_size * self.image_size], self.vocab_size) bool_masked_pos = torch.randint(low=0, high=2, size=(1, pixel_values.shape[1])).bool() - np.random.seed(6) - clusters = torch.from_numpy(np.random.rand(512, 3)) + clusters = torch.rand(512, 3) config = self.get_config() @@ -227,7 +225,7 @@ class IctModelIntegrationTest(unittest.TestCase): def default_image_processor(self): return IctImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None - # @slow + @slow def test_inference_masked_image_modeling(self): model = IctModel.from_pretrained("sheonhan/ict-imagenet-256").to(torch_device) @@ -238,7 +236,6 @@ def test_inference_masked_image_modeling(self): pixel_values = inputs.pixel_values image_size = pixel_values.shape[1] - torch.manual_seed(6) bool_masked_pos = torch.randint(low=0, high=2, size=(1, image_size)).bool() clusters = inputs.clusters From b54fe698e30b946aabe599959671c98b0ba8dedb Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Mon, 3 Jul 2023 16:53:30 -0700 Subject: [PATCH 69/70] make style --- src/transformers/models/ict/modeling_ict.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/transformers/models/ict/modeling_ict.py b/src/transformers/models/ict/modeling_ict.py index f8e583940874..048864d8aa3b 100644 --- a/src/transformers/models/ict/modeling_ict.py +++ b/src/transformers/models/ict/modeling_ict.py @@ -25,10 +25,6 @@ import torchvision.models as models from torch import nn -import torchvision.transforms.functional as FV -import numpy as np -from PIL import Image - from ...activations import ACT2FN from ...modeling_outputs import BaseModelOutput, BaseModelOutputWithPooling, MaskedImageModelingOutput from ...modeling_utils import PreTrainedModel From 43c0538d468d6a94ce476decba688860579ba08b Mon Sep 17 00:00:00 2001 From: Sheon Han Date: Mon, 3 Jul 2023 16:53:46 -0700 Subject: [PATCH 70/70] make quality --- tests/models/ict/test_modeling_ict.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/models/ict/test_modeling_ict.py b/tests/models/ict/test_modeling_ict.py index fcb1be094b1e..a7d7e1a969c9 100644 --- a/tests/models/ict/test_modeling_ict.py +++ b/tests/models/ict/test_modeling_ict.py @@ -35,6 +35,7 @@ if is_torch_available(): import torch from torch import nn + torch.manual_seed(3) from transformers import IctModel @@ -225,7 +226,7 @@ class IctModelIntegrationTest(unittest.TestCase): def default_image_processor(self): return IctImageProcessor.from_pretrained("sheonhan/ict-imagenet-256") if is_vision_available() else None - @slow + # @slow def test_inference_masked_image_modeling(self): model = IctModel.from_pretrained("sheonhan/ict-imagenet-256").to(torch_device)

3 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 JU!1RX9q;npx^x8+{TW~SynK`>^2_tP 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