

"""simple docstring"""
import json
import logging
import os
import sys
from time import time
from unittest.mock import patch

from transformers.testing_utils import TestCasePlus, require_torch_tpu


logging.basicConfig(level=logging.DEBUG)

_A							=  logging.getLogger()




def 					a__						(						lowerCAmelCase    )	-> List[Any]:
      UpperCAmelCase__			:							str							=    {}
      UpperCAmelCase__			:							List[str]							=    os.path.join(lowerCAmelCase			,	"""all_results.json"""    )
      if os.path.exists(lowerCAmelCase    ):
            with open(lowerCAmelCase			,	"""r"""    ) as f:
                  UpperCAmelCase__			:							str							=    json.load(lowerCAmelCase    )
      else:
            raise ValueError(F"""can't find {path}"""    )
      return results


_A							=  logging.StreamHandler(sys.stdout)
logger.addHandler(stream_handler)





@require_torch_tpu
class       lowerCamelCase	(       lowerCAmelCase__   ):


  '''simple docstring'''







  def  _a      (self	):


        """simple docstring"""

        import xla_spawn

        UpperCAmelCase__			:							str							=    self.get_auto_remove_tmp_dir()
        UpperCAmelCase__			:							Optional[Any]							=    F"""
            ./examples/pytorch/text-classification/run_glue.py
            --num_cores=8
            ./examples/pytorch/text-classification/run_glue.py
            --model_name_or_path distilbert-base-uncased
            --output_dir {tmp_dir}
            --overwrite_output_dir
            --train_file ./tests/fixtures/tests_samples/MRPC/train.csv
            --validation_file ./tests/fixtures/tests_samples/MRPC/dev.csv
            --do_train
            --do_eval
            --debug tpu_metrics_debug
            --per_device_train_batch_size=2
            --per_device_eval_batch_size=1
            --learning_rate=1e-4
            --max_steps=10
            --warmup_steps=2
            --seed=42
            --max_seq_length=128
            """.split()

        with patch.object(_lowerCamelCase							,       """argv"""							,       _lowerCamelCase	):
              UpperCAmelCase__			:							Dict							=    time()
              xla_spawn.main()
              UpperCAmelCase__			:							Tuple							=    time()

              UpperCAmelCase__			:							Union[str, Any]							=    get_results(_lowerCamelCase	)
              self.assertGreaterEqual(result["""eval_accuracy"""]							,       0.75	)

              # Assert that the script takes less than 500 seconds to make sure it doesn't hang.
              self.assertLess(end - start							,       500	)




  def  _a      (self	):


        """simple docstring"""

        import xla_spawn

        UpperCAmelCase__			:							List[Any]							=    """
            ./tests/test_trainer_tpu.py
            --num_cores=8
            ./tests/test_trainer_tpu.py
            """.split()
        with patch.object(_lowerCamelCase							,       """argv"""							,       _lowerCamelCase	):
              xla_spawn.main()




"""simple docstring"""
def 					a__						(						)	-> Union[str, Any]:
      UpperCAmelCase__			:							Dict							=    []
      UpperCAmelCase__			:							Tuple							=    1

      while len(lowerCAmelCase    ) < 1E6:
            constant.append(str(lowerCAmelCase    )    )
            i += 1

      UpperCAmelCase__			:							Any							=    """""".join(lowerCAmelCase    )

      return (
          int(constant[0]    )
          * int(constant[9]    )
          * int(constant[99]    )
          * int(constant[9_99]    )
          * int(constant[99_99]    )
          * int(constant[9_99_99]    )
          * int(constant[99_99_99]    )
      )


if __name__ == "__main__":
    print(solution())

