Spaces:
Running on Zero
Running on Zero
| import torch | |
| from torch import nn | |
| from typing import Optional | |
| class QwenImageMAE(nn.Module): | |
| def __init__( | |
| self, | |
| ): | |
| super().__init__() | |
| from transformers import ViTMAEConfig, ViTMAEModel | |
| config=ViTMAEConfig(**{ | |
| "architectures": [ | |
| "ViTMAEForPreTraining" | |
| ], | |
| "attention_probs_dropout_prob": 0.0, | |
| "decoder_hidden_size": 512, | |
| "decoder_intermediate_size": 2048, | |
| "decoder_num_attention_heads": 16, | |
| "decoder_num_hidden_layers": 8, | |
| "hidden_act": "gelu", | |
| "hidden_dropout_prob": 0.0, | |
| "hidden_size": 1024, | |
| "image_size": 224, | |
| "initializer_range": 0.02, | |
| "intermediate_size": 4096, | |
| "layer_norm_eps": 1e-12, | |
| "mask_ratio": 0.0, | |
| "model_type": "vit_mae", | |
| "norm_pix_loss": False, | |
| "num_attention_heads": 16, | |
| "num_channels": 3, | |
| "num_hidden_layers": 24, | |
| "patch_size": 16, | |
| "qkv_bias": True, | |
| "torch_dtype": "bfloat16", | |
| "attn_implementation": "sdpa" | |
| } | |
| ) | |
| self.model = ViTMAEModel(config) | |
| self.config=config | |
| def forward(self, pixel_values): | |
| outputs=self.model(pixel_values,interpolate_pos_encoding=True) | |
| return outputs.last_hidden_state | |
| def new_forward(self, pixel_values,sample1_shapes): | |
| outputs=self.model.new_forward(pixel_values,sample1_shapes,interpolate_pos_encoding=True) | |
| return outputs.last_hidden_state | |