

"""simple docstring"""




import os

import pytest
from attr import dataclass


__UpperCAmelCase			=					'us-east-1'  # defaults region







@dataclass
class   __lowercase      :
  snake_case_												=							42
  snake_case_												=							"""arn:aws:iam::558105141721:role/sagemaker_execution_role"""
  snake_case_												=							{
      """task_name""": """mnli""",
      """per_device_train_batch_size""": 1_6,
      """per_device_eval_batch_size""": 1_6,
      """do_train""": True,
      """do_eval""": True,
      """do_predict""": True,
      """output_dir""": """/opt/ml/model""",
      """overwrite_output_dir""": True,
      """max_steps""": 5_0_0,
      """save_steps""": 5_5_0_0,
  }
  snake_case_												=							{**hyperparameters, """max_steps""": 1_0_0_0}

  @property
  def  __lowercase							(	self		:      Union[str, Any]     ):






   '''simple docstring'''
   if self.framework == "pytorch":
    return [
        {"Name": "train_runtime", "Regex": r"train_runtime.*=\D*(.*?)$"},
        {"Name": "eval_accuracy", "Regex": r"eval_accuracy.*=\D*(.*?)$"},
        {"Name": "eval_loss", "Regex": r"eval_loss.*=\D*(.*?)$"},
    ]
   else:
    return [
        {"Name": "train_runtime", "Regex": r"train_runtime.*=\D*(.*?)$"},
        {"Name": "eval_accuracy", "Regex": r"loss.*=\D*(.*?)]?$"},
        {"Name": "eval_loss", "Regex": r"sparse_categorical_accuracy.*=\D*(.*?)]?$"},
    ]

  @property
  def  __lowercase							(	self		:      List[str]     ):






   '''simple docstring'''
   return f"{self.framework}-transfromers-test"

  @property
  def  __lowercase							(	self		:      str     ):






   '''simple docstring'''
   return f"./tests/sagemaker/scripts/{self.framework}"




  @property
  def  __lowercase							(	self		:      Tuple     ):






   '''simple docstring'''
   if self.framework == "pytorch":
    return "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-pytorch-training:1.7.1-transformers4.6.1-gpu-py36-cu110-ubuntu18.04"
   else:
    return "763104351884.dkr.ecr.us-east-1.amazonaws.com/huggingface-tensorflow-training:2.4.1-transformers4.6.1-gpu-py37-cu110-ubuntu18.04"







@pytest.fixture(scope="""class"""   )
def 	lowerCAmelCase    (       __UpperCamelCase   ):
 '''simple docstring'''





 UpperCAmelCase__       :	List[Any]        =       SageMakerTestEnvironment(framework=request.cls.framework   )






from typing import Any



def 	__A		(      _A       ):



 """simple docstring"""


 if not input_list:
  return []
 __a							=	[input_list.count(_A       ) for value in input_list]
 __a							=	max(_A       )  # Gets the maximum count in the input list.
 # Gets values of modes
 return sorted({input_list[i] for i, value in enumerate(_A       ) if value == y}       )


if __name__ == "__main__":
  import doctest

  doctest.testmod()


