


import subprocess
import sys

from transformers import BertConfig, BertModel, BertTokenizer, pipeline
from transformers.testing_utils import TestCasePlus, require_torch






class     UpperCamelCase(  lowercase_   ):


					@require_torch
					def 							SCREAMING_SNAKE_CASE_  (						self	:		Optional[Any]						)			->	Any:




											'''simple docstring'''

											__snake_case				=		"""
from transformers import BertConfig, BertModel, BertTokenizer, pipeline
        """

											__snake_case				=		"""
mname = \"hf-internal-testing/tiny-random-bert\"
BertConfig.from_pretrained(mname)
BertModel.from_pretrained(mname)
BertTokenizer.from_pretrained(mname)
pipe = pipeline(task=\"fill-mask\", model=mname)
print(\"success\")
        """

											__snake_case				=		"""
import socket
def offline_socket(*args, **kwargs): raise RuntimeError(\"Offline mode is enabled, we shouldn't access internet\")
socket.socket = offline_socket
        """

											# Force fetching the files so that we can use the cache
											__snake_case				=		"""hf-internal-testing/tiny-random-bert"""
											BertConfig.from_pretrained(lowerCamelCase_						)
											BertModel.from_pretrained(lowerCamelCase_						)
											BertTokenizer.from_pretrained(lowerCamelCase_						)
											pipeline(task="fill-mask"     ,    model=lowerCamelCase_						)

											# baseline - just load from_pretrained with normal network
											__snake_case				=		[sys.executable, """-c""", """\n""".join([load, run, mock]						)]

											# should succeed
											__snake_case				=		self.get_env()
											# should succeed as TRANSFORMERS_OFFLINE=1 tells it to use local files
											__snake_case				=		"""1"""
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    0     ,    result.stderr						)
											self.assertIn("success"     ,    result.stdout.decode()						)


					@require_torch
					def 							SCREAMING_SNAKE_CASE_  (						self	:		List[str]						)			->	Optional[Any]:




											'''simple docstring'''

											__snake_case				=		"""
from transformers import BertConfig, BertModel, BertTokenizer, pipeline
        """

											__snake_case				=		"""
mname = \"hf-internal-testing/tiny-random-bert\"
BertConfig.from_pretrained(mname)
BertModel.from_pretrained(mname)
BertTokenizer.from_pretrained(mname)
pipe = pipeline(task=\"fill-mask\", model=mname)
print(\"success\")
        """

											__snake_case				=		"""
import socket
def offline_socket(*args, **kwargs): raise socket.error(\"Faking flaky internet\")
socket.socket = offline_socket
        """

											# Force fetching the files so that we can use the cache
											__snake_case				=		"""hf-internal-testing/tiny-random-bert"""
											BertConfig.from_pretrained(lowerCamelCase_						)
											BertModel.from_pretrained(lowerCamelCase_						)
											BertTokenizer.from_pretrained(lowerCamelCase_						)
											pipeline(task="fill-mask"     ,    model=lowerCamelCase_						)

											# baseline - just load from_pretrained with normal network
											__snake_case				=		[sys.executable, """-c""", """\n""".join([load, run, mock]						)]

											# should succeed
											__snake_case				=		self.get_env()
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    0     ,    result.stderr						)
											self.assertIn("success"     ,    result.stdout.decode()						)


					@require_torch
					def 							SCREAMING_SNAKE_CASE_  (						self	:		List[str]						)			->	Dict:




											'''simple docstring'''

											__snake_case				=		"""
from transformers import BertConfig, BertModel, BertTokenizer
        """

											__snake_case				=		"""
mname = \"hf-internal-testing/tiny-random-bert-sharded\"
BertConfig.from_pretrained(mname)
BertModel.from_pretrained(mname)
print(\"success\")
        """

											__snake_case				=		"""
import socket
def offline_socket(*args, **kwargs): raise ValueError(\"Offline mode is enabled\")
socket.socket = offline_socket
        """

											# baseline - just load from_pretrained with normal network
											__snake_case				=		[sys.executable, """-c""", """\n""".join([load, run]						)]

											# should succeed
											__snake_case				=		self.get_env()
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    0     ,    result.stderr						)
											self.assertIn("success"     ,    result.stdout.decode()						)

											# next emulate no network
											__snake_case				=		[sys.executable, """-c""", """\n""".join([load, mock, run]						)]

											# Doesn't fail anymore since the model is in the cache due to other tests, so commenting this.
											# env["TRANSFORMERS_OFFLINE"] = "0"
											# result = subprocess.run(cmd, env=env, check=False, capture_output=True)
											# self.assertEqual(result.returncode, 1, result.stderr)

											# should succeed as TRANSFORMERS_OFFLINE=1 tells it to use local files
											__snake_case				=		"""1"""
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    0     ,    result.stderr						)
											self.assertIn("success"     ,    result.stdout.decode()						)


					@require_torch
					def 							SCREAMING_SNAKE_CASE_  (						self	:		Dict						)			->	Union[str, Any]:




											'''simple docstring'''

											__snake_case				=		"""
from transformers import pipeline
        """
											__snake_case				=		"""
mname = \"hf-internal-testing/tiny-random-bert\"
pipe = pipeline(model=mname)
        """

											__snake_case				=		"""
import socket
def offline_socket(*args, **kwargs): raise socket.error(\"Offline mode is enabled\")
socket.socket = offline_socket
        """
											__snake_case				=		self.get_env()
											__snake_case				=		"""1"""
											__snake_case				=		[sys.executable, """-c""", """\n""".join([load, mock, run]						)]
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    1     ,    result.stderr						)
											self.assertIn(
											    "You cannot infer task automatically within `pipeline` when using offline mode"     ,    result.stderr.decode().replace("\n"     ,    ""						)     ,    )






					@require_torch
					def 							SCREAMING_SNAKE_CASE_  (						self	:		Any						)			->	Union[str, Any]:




											'''simple docstring'''

											__snake_case				=		"""
from transformers import AutoModel
        """
											__snake_case				=		"""
mname = \"hf-internal-testing/test_dynamic_model\"
AutoModel.from_pretrained(mname, trust_remote_code=True)
print(\"success\")
        """

											# baseline - just load from_pretrained with normal network
											__snake_case				=		[sys.executable, """-c""", """\n""".join([load, run]						)]

											# should succeed
											__snake_case				=		self.get_env()
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    0     ,    result.stderr						)
											self.assertIn("success"     ,    result.stdout.decode()						)

											# should succeed as TRANSFORMERS_OFFLINE=1 tells it to use local files
											__snake_case				=		"""1"""
											__snake_case				=		subprocess.run(lowerCamelCase_     ,    env=lowerCamelCase_     ,    check=lowerCamelCase_     ,    capture_output=lowerCamelCase_						)
											self.assertEqual(result.returncode     ,    0     ,    result.stderr						)
											self.assertIn("success"     ,    result.stdout.decode()						)









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


A							:					Union[str, Any]     						=     logging.get_logger(__name__)

A							:					Tuple     						=     {
    'facebook/data2vec-vision-base-ft': (
        'https://huggingface.co/facebook/data2vec-vision-base-ft/resolve/main/config.json'
    ),
}






class     UpperCamelCase(  _a   ):
					snake_case_		:				List[Any]										=	"""data2vec-vision"""


					def __init__(						self	:		Any     ,    SCREAMING_SNAKE_CASE	:		List[str]=7_6_8     ,    SCREAMING_SNAKE_CASE	:		Tuple=1_2     ,    SCREAMING_SNAKE_CASE	:		int=1_2     ,    SCREAMING_SNAKE_CASE	:		List[str]=3_0_7_2     ,    SCREAMING_SNAKE_CASE	:		Tuple="gelu"     ,    SCREAMING_SNAKE_CASE	:		Optional[Any]=0.0     ,    SCREAMING_SNAKE_CASE	:		List[Any]=0.0     ,    SCREAMING_SNAKE_CASE	:		Any=0.02     ,    SCREAMING_SNAKE_CASE	:		List[str]=1e-1_2     ,    SCREAMING_SNAKE_CASE	:		Optional[int]=2_2_4     ,    SCREAMING_SNAKE_CASE	:		Optional[int]=1_6     ,    SCREAMING_SNAKE_CASE	:		str=3     ,    SCREAMING_SNAKE_CASE	:		Optional[Any]=False     ,    SCREAMING_SNAKE_CASE	:		Any=False     ,    SCREAMING_SNAKE_CASE	:		Dict=False     ,    SCREAMING_SNAKE_CASE	:		int=False     ,    SCREAMING_SNAKE_CASE	:		Tuple=0.1     ,    SCREAMING_SNAKE_CASE	:		Any=0.1     ,    SCREAMING_SNAKE_CASE	:		Any=True     ,    SCREAMING_SNAKE_CASE	:		List[str]=[3, 5, 7, 1_1]     ,    SCREAMING_SNAKE_CASE	:		int=[1, 2, 3, 6]     ,    SCREAMING_SNAKE_CASE	:		List[str]=True     ,    SCREAMING_SNAKE_CASE	:		Tuple=0.4     ,    SCREAMING_SNAKE_CASE	:		Optional[Any]=2_5_6     ,    SCREAMING_SNAKE_CASE	:		Tuple=1     ,    SCREAMING_SNAKE_CASE	:		Optional[int]=False     ,    SCREAMING_SNAKE_CASE	:		List[Any]=2_5_5     ,    **SCREAMING_SNAKE_CASE	:		Any     ,    )			->	List[str]:




											'''simple docstring'''

											super().__init__(**SCREAMING_SNAKE_CASE						)

											__snake_case				=		hidden_size
											__snake_case				=		num_hidden_layers
											__snake_case				=		num_attention_heads
											__snake_case				=		intermediate_size
											__snake_case				=		hidden_act
											__snake_case				=		hidden_dropout_prob
											__snake_case				=		attention_probs_dropout_prob
											__snake_case				=		initializer_range
											__snake_case				=		layer_norm_eps

											__snake_case				=		image_size
											__snake_case				=		patch_size
											__snake_case				=		num_channels
											__snake_case				=		use_mask_token
											__snake_case				=		use_absolute_position_embeddings
											__snake_case				=		use_relative_position_bias
											__snake_case				=		use_shared_relative_position_bias
											__snake_case				=		layer_scale_init_value
											__snake_case				=		drop_path_rate
											__snake_case				=		use_mean_pooling
											# decode head attributes (semantic segmentation)
											__snake_case				=		out_indices
											__snake_case				=		pool_scales
											# auxiliary head attributes (semantic segmentation)
											__snake_case				=		use_auxiliary_head
											__snake_case				=		auxiliary_loss_weight
											__snake_case				=		auxiliary_channels
											__snake_case				=		auxiliary_num_convs
											__snake_case				=		auxiliary_concat_input
											__snake_case				=		semantic_loss_ignore_index






class     UpperCamelCase(  _a   ):
					snake_case_		:				Any										=	version.parse("""1.11"""   )


					@property
					def 							SCREAMING_SNAKE_CASE_  (						self	:		List[str]						)			->	Mapping[str, Mapping[int, str]]:




											'''simple docstring'''

											return OrderedDict(
											    [
											        ("pixel_values", {0: "batch", 1: "num_channels", 2: "height", 3: "width"}),
											    ]						)






					@property
					def 							SCREAMING_SNAKE_CASE_  (						self	:		Union[str, Any]						)			->	float:




											'''simple docstring'''

											return 1e-4





