
'''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)

_lowercase          =						logging.getLogger()


def A (__lowerCamelCase :str						):
						_lowerCAmelCase    		=					{}
						_lowerCAmelCase    		=					os.path.join(__lowerCamelCase					,      """all_results.json"""						)
						if os.path.exists(__lowerCamelCase						):
												with open(__lowerCamelCase					,      """r"""						) as f:
																		_lowerCAmelCase    		=					json.load(__lowerCamelCase						)
						else:
												raise ValueError(f'can\'t find {path}'						)
						return results


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





@require_torch_tpu
class     UpperCAmelCase_	(						_SCREAMING_SNAKE_CASE					):






						'''simple docstring'''






						def    _lowercase      (   self ):

												"""simple docstring"""



												import xla_spawn

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

												with patch.object(_lowercase       ,  """argv"""       ,  _lowercase ):
																		_lowerCAmelCase    		=					time()
																		xla_spawn.main()
																		_lowerCAmelCase    		=					time()

																		_lowerCAmelCase    		=					get_results(_lowercase )
																		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    _lowercase      (   self ):

												"""simple docstring"""



												import xla_spawn

												_lowerCAmelCase    		=					"""
            ./tests/test_trainer_tpu.py
            --num_cores=8
            ./tests/test_trainer_tpu.py
            """.split()
												with patch.object(_lowercase       ,  """argv"""       ,  _lowercase ):
																		xla_spawn.main()


'''simple docstring'''



import warnings

from ...utils import logging
from .image_processing_donut import DonutImageProcessor


_lowercase          =						logging.get_logger(__name__)




class     UpperCAmelCase_	(						_SCREAMING_SNAKE_CASE					):






						'''simple docstring'''






						def __init__(   self       ,  *_lowercase       ,  **_lowercase ):

												"""simple docstring"""



												warnings.warn(
												    """The class DonutFeatureExtractor is deprecated and will be removed in version 5 of Transformers. Please"""
												    """ use DonutImageProcessor instead."""       ,  _lowercase       ,  )
												super().__init__(*_lowercase       ,  **_lowercase )
