
'''simple docstring'''

import argparse
import json

import requests
import torch
from huggingface_hub import hf_hub_download
from PIL import Image

from transformers import ViTImageProcessor, ViTMSNConfig, ViTMSNModel
from transformers.image_utils import IMAGENET_DEFAULT_MEAN, IMAGENET_DEFAULT_STD


torch.set_grad_enabled(False)


def        UpperCAmelCase_ (  lowerCamelCase_      ,			lowerCamelCase_=False			):







 """simple docstring"""


 lowerCAmelCase__     :   int     		=	[]
 for i in range(config.num_hidden_layers			):
  # encoder layers: output projection, 2 feedforward neural networks and 2 layernorms
  rename_keys.append((f'''module.blocks.{i}.norm1.weight''', f'''vit.encoder.layer.{i}.layernorm_before.weight''')			)
  rename_keys.append((f'''module.blocks.{i}.norm1.bias''', f'''vit.encoder.layer.{i}.layernorm_before.bias''')			)
  rename_keys.append(
      (f'''module.blocks.{i}.attn.proj.weight''', f'''vit.encoder.layer.{i}.attention.output.dense.weight''')			)
  rename_keys.append((f'''module.blocks.{i}.attn.proj.bias''', f'''vit.encoder.layer.{i}.attention.output.dense.bias''')			)
  rename_keys.append((f'''module.blocks.{i}.norm2.weight''', f'''vit.encoder.layer.{i}.layernorm_after.weight''')			)
  rename_keys.append((f'''module.blocks.{i}.norm2.bias''', f'''vit.encoder.layer.{i}.layernorm_after.bias''')			)
  rename_keys.append((f'''module.blocks.{i}.mlp.fc1.weight''', f'''vit.encoder.layer.{i}.intermediate.dense.weight''')			)
  rename_keys.append((f'''module.blocks.{i}.mlp.fc1.bias''', f'''vit.encoder.layer.{i}.intermediate.dense.bias''')			)
  rename_keys.append((f'''module.blocks.{i}.mlp.fc2.weight''', f'''vit.encoder.layer.{i}.output.dense.weight''')			)
  rename_keys.append((f'''module.blocks.{i}.mlp.fc2.bias''', f'''vit.encoder.layer.{i}.output.dense.bias''')			)

 # projection layer + position embeddings
 rename_keys.extend(
     [
         ("module.cls_token", "vit.embeddings.cls_token"),
         ("module.patch_embed.proj.weight", "vit.embeddings.patch_embeddings.projection.weight"),
         ("module.patch_embed.proj.bias", "vit.embeddings.patch_embeddings.projection.bias"),
         ("module.pos_embed", "vit.embeddings.position_embeddings"),
     ]			)

 if base_model:
  # layernorm + pooler
  rename_keys.extend(
      [
          ("module.norm.weight", "layernorm.weight"),
          ("module.norm.bias", "layernorm.bias"),
      ]			)

  # if just the base model, we should remove "vit" from all keys that start with "vit"
  lowerCAmelCase__     :   Optional[int]     		=	[(pair[0], pair[1][4:]) if pair[1].startswith("vit"			) else pair for pair in rename_keys]
 else:
  # layernorm + classification head
  rename_keys.extend(
      [
          ("norm.weight", "vit.layernorm.weight"),
          ("norm.bias", "vit.layernorm.bias"),
          ("head.weight", "classifier.weight"),
          ("head.bias", "classifier.bias"),
      ]			)

 return rename_keys


def        UpperCAmelCase_ (  lowerCamelCase_      ,			lowerCamelCase_      ,			lowerCamelCase_=False			):







 """simple docstring"""


 for i in range(config.num_hidden_layers			):
  if base_model:
   lowerCAmelCase__     :   Union[str, Any]     		=	""
  else:
   lowerCAmelCase__     :   List[str]     		=	"vit."
  # read in weights + bias of input projection layer (in timm, this is a single matrix + bias)
  lowerCAmelCase__     :   List[str]     		=	state_dict.pop(f'''module.blocks.{i}.attn.qkv.weight'''			)
  lowerCAmelCase__     :   int     		=	state_dict.pop(f'''module.blocks.{i}.attn.qkv.bias'''			)
  # next, add query, keys and values (in that order) to the state dict
  lowerCAmelCase__     :   Tuple     		=	in_proj_weight[
      : config.hidden_size, :
  ]
  lowerCAmelCase__     :   Optional[Any]     		=	in_proj_bias[: config.hidden_size]
  lowerCAmelCase__     :   Optional[Any]     		=	in_proj_weight[
      config.hidden_size : config.hidden_size * 2, :
  ]
  lowerCAmelCase__     :   Optional[Any]     		=	in_proj_bias[
      config.hidden_size : config.hidden_size * 2
  ]
  lowerCAmelCase__     :   Optional[Any]     		=	in_proj_weight[
      -config.hidden_size :, :
  ]
  lowerCAmelCase__     :   Optional[int]     		=	in_proj_bias[-config.hidden_size :]


def        UpperCAmelCase_ (  lowerCamelCase_			):







 """simple docstring"""


 lowerCAmelCase__     :   List[str]     		=	["head.weight", "head.bias"]
 for k in ignore_keys:
  state_dict.pop(lowerCamelCase_      ,			lowerCamelCase_			)


def        UpperCAmelCase_ (  lowerCamelCase_			):







 """simple docstring"""


 lowerCAmelCase__     :   Optional[int]     		=	[
     "module.fc.fc1.weight",
     "module.fc.fc1.bias",
     "module.fc.bn1.weight",
     "module.fc.bn1.bias",
     "module.fc.bn1.running_mean",
     "module.fc.bn1.running_var",
     "module.fc.bn1.num_batches_tracked",
     "module.fc.fc2.weight",
     "module.fc.fc2.bias",
     "module.fc.bn2.weight",
     "module.fc.bn2.bias",
     "module.fc.bn2.running_mean",
     "module.fc.bn2.running_var",
     "module.fc.bn2.num_batches_tracked",
     "module.fc.fc3.weight",
     "module.fc.fc3.bias",
 ]
 for k in ignore_keys:
  state_dict.pop(lowerCamelCase_      ,			lowerCamelCase_			)


def        UpperCAmelCase_ (  lowerCamelCase_      ,			lowerCamelCase_      ,			lowerCamelCase_			):







 """simple docstring"""


 lowerCAmelCase__     :   Any     		=	dct.pop(lowerCamelCase_			)
 lowerCAmelCase__     :   Optional[int]     		=	val


def        UpperCAmelCase_ (  lowerCamelCase_      ,			lowerCamelCase_			):







 """simple docstring"""


 lowerCAmelCase__     :   Tuple     		=	ViTMSNConfig()
 lowerCAmelCase__     :   List[Any]     		=	1_0_0_0

 lowerCAmelCase__     :   Any     		=	"datasets/huggingface/label-files"
 lowerCAmelCase__     :   Optional[Any]     		=	"imagenet-1k-id2label.json"
 lowerCAmelCase__     :   Optional[int]     		=	json.load(open(hf_hub_download(lowerCamelCase_      ,			lowerCamelCase_			)      ,			"r"			)			)
 lowerCAmelCase__     :   Dict     		=	{int(lowerCamelCase_			): v for k, v in idalabel.items()}
 lowerCAmelCase__     :   str     		=	idalabel
 lowerCAmelCase__     :   Dict     		=	{v: k for k, v in idalabel.items()}

 if "s16" in checkpoint_url:
  lowerCAmelCase__     :   Union[str, Any]     		=	3_8_4
  lowerCAmelCase__     :   int     		=	1_5_3_6
  lowerCAmelCase__     :   Dict     		=	6
 elif "l16" in checkpoint_url:
  lowerCAmelCase__     :   str     		=	1_0_2_4
  lowerCAmelCase__     :   int     		=	4_0_9_6
  lowerCAmelCase__     :   Dict     		=	2_4
  lowerCAmelCase__     :   Dict     		=	1_6
  lowerCAmelCase__     :   List[Any]     		=	0.1
 elif "b4" in checkpoint_url:
  lowerCAmelCase__     :   Any     		=	4
 elif "l7" in checkpoint_url:
  lowerCAmelCase__     :   List[Any]     		=	7
  lowerCAmelCase__     :   str     		=	1_0_2_4
  lowerCAmelCase__     :   Any     		=	4_0_9_6
  lowerCAmelCase__     :   List[str]     		=	2_4
  lowerCAmelCase__     :   Optional[Any]     		=	1_6
  lowerCAmelCase__     :   Union[str, Any]     		=	0.1

 lowerCAmelCase__     :   Dict     		=	ViTMSNModel(lowerCamelCase_			)

 lowerCAmelCase__     :   Optional[int]     		=	torch.hub.load_state_dict_from_url(lowerCamelCase_      ,			map_location="cpu"			)["target_encoder"]

 lowerCAmelCase__     :   Dict     		=	ViTImageProcessor(size=config.image_size			)

 remove_projection_head(lowerCamelCase_			)
 lowerCAmelCase__     :   List[str]     		=	create_rename_keys(lowerCamelCase_      ,			base_model=lowerCamelCase_			)

 for src, dest in rename_keys:
  rename_key(lowerCamelCase_      ,			lowerCamelCase_      ,			lowerCamelCase_			)
 read_in_q_k_v(lowerCamelCase_      ,			lowerCamelCase_      ,			base_model=lowerCamelCase_			)

 model.load_state_dict(lowerCamelCase_			)
 model.eval()

 lowerCAmelCase__     :   Tuple     		=	"http://images.cocodataset.org/val2017/000000039769.jpg"

 lowerCAmelCase__     :   List[str]     		=	Image.open(requests.get(lowerCamelCase_      ,			stream=lowerCamelCase_			).raw			)
 lowerCAmelCase__     :   Optional[Any]     		=	ViTImageProcessor(
     size=config.image_size      ,			image_mean=lowerCamelCase_      ,			image_std=lowerCamelCase_			)
 lowerCAmelCase__     :   List[str]     		=	image_processor(images=lowerCamelCase_      ,			return_tensors="pt"			)

 # forward pass
 torch.manual_seed(2			)
 lowerCAmelCase__     :   int     		=	model(**lowerCamelCase_			)
 lowerCAmelCase__     :   str     		=	outputs.last_hidden_state

 # The following Colab Notebook was used to generate these outputs:
 # https://colab.research.google.com/gist/sayakpaul/3672419a04f5997827503fd84079bdd1/scratchpad.ipynb
 if "s16" in checkpoint_url:
  lowerCAmelCase__     :   List[str]     		=	torch.tensor([[-1.0915, -1.4876, -1.1809]]			)
 elif "b16" in checkpoint_url:
  lowerCAmelCase__     :   Optional[Any]     		=	torch.tensor([[14.2889, -18.9045, 11.7281]]			)
 elif "l16" in checkpoint_url:
  lowerCAmelCase__     :   str     		=	torch.tensor([[41.5028, -22.8681, 45.6475]]			)
 elif "b4" in checkpoint_url:
  lowerCAmelCase__     :   Union[str, Any]     		=	torch.tensor([[-4.3868, 5.2932, -0.4137]]			)
 else:
  lowerCAmelCase__     :   Union[str, Any]     		=	torch.tensor([[-0.1792, -0.6465, 2.4263]]			)

 # verify logits
 assert torch.allclose(last_hidden_state[:, 0, :3]      ,			lowerCamelCase_      ,			atol=1e-4			)

 print(f'''Saving model to {pytorch_dump_folder_path}'''			)
 model.save_pretrained(lowerCamelCase_			)

 print(f'''Saving image processor to {pytorch_dump_folder_path}'''			)
 image_processor.save_pretrained(lowerCamelCase_			)


if __name__ == "__main__":
     snake_case									=    argparse.ArgumentParser()
     # Required parameters
     parser.add_argument(
         """--checkpoint_url""",
         default="""https://dl.fbaipublicfiles.com/msn/vits16_800ep.pth.tar""",
         type=str,
         help="""URL of the checkpoint you'd like to convert.""",
     )
     parser.add_argument(
         """--pytorch_dump_folder_path""", default=None, type=str, help="""Path to the output PyTorch model directory."""
     )

     snake_case									=    parser.parse_args()
     convert_vit_msn_checkpoint(args.checkpoint_url, args.pytorch_dump_folder_path)







'''simple docstring'''

import unittest

from transformers import AlbertTokenizer, AlbertTokenizerFast
from transformers.testing_utils import get_tests_dir, require_sentencepiece, require_tokenizers, slow

from ...test_tokenization_common import TokenizerTesterMixin


snake_case									=    get_tests_dir("""fixtures/spiece.model""")




@require_sentencepiece
@require_tokenizers
class    lowerCAmelCase       (     UpperCamelCase_    ,  unittest.TestCase  ):
 A_				:				List[str]	=			AlbertTokenizer
 A_				:				List[Any]	=			AlbertTokenizerFast
 A_				:				List[str]	=			True
 A_				:				Any	=			True
 A_				:				List[Any]	=			True


 def    _A	(    self  : Optional[int]    ):
  '''simple docstring'''

  super().setUp()

  # We have a SentencePiece fixture for testing
  lowerCAmelCase__     :   int     		=	AlbertTokenizer(a__    )
  tokenizer.save_pretrained(self.tmpdirname    )


 def    _A	(    self  : Tuple			,							a__  : Optional[Any]    ):
  '''simple docstring'''

  lowerCAmelCase__     :   Union[str, Any]     		=	"this is a test"
  lowerCAmelCase__     :   Optional[Any]     		=	"this is a test"
  return input_text, output_text


 def    _A	(    self  : Optional[int]    ):
  '''simple docstring'''

  lowerCAmelCase__     :   Union[str, Any]     		=	"<pad>"
  lowerCAmelCase__     :   Dict     		=	0

  self.assertEqual(self.get_tokenizer()._convert_token_to_id(a__    )			,							a__    )
  self.assertEqual(self.get_tokenizer()._convert_id_to_token(a__    )			,							a__    )


 def    _A	(    self  : Tuple    ):
  '''simple docstring'''

  lowerCAmelCase__     :   int     		=	list(self.get_tokenizer().get_vocab().keys()    )

  self.assertEqual(vocab_keys[0]			,							"<pad>"    )
  self.assertEqual(vocab_keys[1]			,							"<unk>"    )
  self.assertEqual(vocab_keys[-1]			,							"▁eloquent"    )
  self.assertEqual(len(a__    )			,							3_0000    )


 def    _A	(    self  : Optional[int]    ):
  '''simple docstring'''

  self.assertEqual(self.get_tokenizer().vocab_size			,							3_0000    )


 def    _A	(    self  : int    ):
  '''simple docstring'''

  if not self.test_rust_tokenizer:
   return

  lowerCAmelCase__     :   List[Any]     		=	self.get_tokenizer()
  lowerCAmelCase__     :   Optional[int]     		=	self.get_rust_tokenizer()

  lowerCAmelCase__     :   List[str]     		=	"I was born in 92000, and this is falsé."

  lowerCAmelCase__     :   Dict     		=	tokenizer.tokenize(a__    )
  lowerCAmelCase__     :   str     		=	rust_tokenizer.tokenize(a__    )
  self.assertListEqual(a__			,							a__    )

  lowerCAmelCase__     :   List[Any]     		=	tokenizer.encode(a__			,							add_special_tokens=a__    )
  lowerCAmelCase__     :   Tuple     		=	rust_tokenizer.encode(a__			,							add_special_tokens=a__    )
  self.assertListEqual(a__			,							a__    )

  lowerCAmelCase__     :   Optional[int]     		=	self.get_rust_tokenizer()
  lowerCAmelCase__     :   str     		=	tokenizer.encode(a__    )
  lowerCAmelCase__     :   Optional[int]     		=	rust_tokenizer.encode(a__    )
  self.assertListEqual(a__			,							a__    )


 def    _A	(    self  : Optional[int]    ):
  '''simple docstring'''

  lowerCAmelCase__     :   List[Any]     		=	AlbertTokenizer(a__			,							keep_accents=a__    )

  lowerCAmelCase__     :   Optional[Any]     		=	tokenizer.tokenize("This is a test"    )
  self.assertListEqual(a__			,							["▁this", "▁is", "▁a", "▁test"]    )

  self.assertListEqual(tokenizer.convert_tokens_to_ids(a__    )			,							[48, 25, 21, 1289]    )

  lowerCAmelCase__     :   Optional[int]     		=	tokenizer.tokenize("I was born in 92000, and this is falsé."    )
  self.assertListEqual(
      a__			,							["▁i", "▁was", "▁born", "▁in", "▁9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "é", "."]    )
  lowerCAmelCase__     :   Tuple     		=	tokenizer.convert_tokens_to_ids(a__    )
  self.assertListEqual(a__			,							[31, 23, 386, 19, 561, 3050, 15, 17, 48, 25, 8256, 18, 1, 9]    )

  lowerCAmelCase__     :   Optional[int]     		=	tokenizer.convert_ids_to_tokens(a__    )
  self.assertListEqual(
      a__			,							["▁i", "▁was", "▁born", "▁in", "▁9", "2000", ",", "▁and", "▁this", "▁is", "▁fal", "s", "<unk>", "."]			,							)


 def    _A	(    self  : List[str]    ):
  '''simple docstring'''

  lowerCAmelCase__     :   Tuple     		=	AlbertTokenizer(a__    )

  lowerCAmelCase__     :   List[str]     		=	tokenizer.encode("sequence builders"    )
  lowerCAmelCase__     :   Optional[int]     		=	tokenizer.encode("multi-sequence build"    )

  lowerCAmelCase__     :   Tuple     		=	tokenizer.build_inputs_with_special_tokens(a__    )
  lowerCAmelCase__     :   Optional[Any]     		=	tokenizer.build_inputs_with_special_tokens(a__			,							a__    )

  assert encoded_sentence == [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id]
  assert encoded_pair == [tokenizer.cls_token_id] + text + [tokenizer.sep_token_id] + text_a + [
      tokenizer.sep_token_id
  ]


 @slow
 def    _A	(    self  : List[str]    ):
  '''simple docstring'''

  lowerCAmelCase__     :   Any     		=	{"attention_mask": [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], "input_ids": [[2, 2_1970, 13, 5, 6092, 167, 28, 7103, 2153, 673, 8, 7028, 1_2051, 18, 17, 7103, 2153, 673, 8, 3515, 1_8684, 8, 4461, 6, 1927, 297, 8, 1_2060, 2607, 18, 13, 5, 4461, 15, 1_0538, 38, 8, 135, 15, 822, 58, 15, 993, 1_0363, 15, 1460, 8005, 4461, 15, 993, 255, 2328, 9, 9, 9, 6, 26, 1112, 816, 3260, 13, 5, 103, 2377, 6, 17, 1112, 816, 2782, 13, 5, 103, 1_0641, 6, 29, 84, 2512, 2430, 782, 1_8684, 2761, 19, 808, 2430, 2556, 17, 855, 1480, 9477, 4091, 128, 1_1712, 15, 7103, 2153, 673, 17, 2_4883, 9990, 9, 3], [2, 1_1502, 25, 1006, 20, 782, 8, 1_1809, 855, 1732, 1_9393, 1_8667, 37, 367, 2_1018, 69, 1854, 34, 1_1860, 1_9124, 27, 156, 225, 17, 193, 4141, 19, 65, 9124, 9, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 14, 2231, 886, 2385, 1_7659, 84, 14, 1_6792, 1952, 9, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], "token_type_ids": [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]]}  # noqa: E501
  # fmt: on

  self.tokenizer_integration_test_util(
      expected_encoding=a__			,							model_name="albert-base-v2"			,							revision="6b6560eaf5ff2e250b00c50f380c5389a9c2d82e"			,							)





