


'''simple docstring'''






import tempfile
import unittest

import numpy as np

from diffusers import (
    DDIMScheduler,
    DPMSolverMultistepScheduler,
    EulerAncestralDiscreteScheduler,
    EulerDiscreteScheduler,
    LMSDiscreteScheduler,
    OnnxStableDiffusionPipeline,
    PNDMScheduler,
)
from diffusers.utils.testing_utils import is_onnx_available, nightly, require_onnxruntime, require_torch_gpu

from ..test_pipelines_onnx_common import OnnxPipelineTesterMixin


if is_onnx_available():
		import onnxruntime as ort




class 	a__       (							a__       ,       unittest.TestCase						):





							'''simple docstring'''






							lowercase__    :     str					=   "hf-internal-testing/tiny-random-OnnxStableDiffusionPipeline"







							def 						__SCREAMING_SNAKE_CASE							(	self      ,					lowerCamelCase_=0     ) ->							Tuple:
														lowerCAmelCase__      =			np.random.RandomState(lowerCamelCase_     )
														lowerCAmelCase__      =			{
														    '''prompt''': '''A painting of a squirrel eating a burger''',
														    '''generator''': generator,
														    '''num_inference_steps''': 2,
														    '''guidance_scale''': 7.5,
														    '''output_type''': '''numpy''',
														}
														return inputs







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Tuple:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     ).images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 1_28, 1_28, 3)
														lowerCAmelCase__      =			np.array([0.65_072, 0.58_492, 0.48_219, 0.55_521, 0.53_180, 0.55_939, 0.50_697, 0.39_800, 0.46_455]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-2







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							str:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														lowerCAmelCase__      =			PNDMScheduler.from_config(pipe.scheduler.config      ,					skip_prk_steps=lowerCamelCase_     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     ).images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 1_28, 1_28, 3)
														lowerCAmelCase__      =			np.array([0.65_863, 0.59_425, 0.49_326, 0.56_313, 0.53_875, 0.56_627, 0.51_065, 0.39_777, 0.46_330]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-2







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							int:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														lowerCAmelCase__      =			LMSDiscreteScheduler.from_config(pipe.scheduler.config     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     ).images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 1_28, 1_28, 3)
														lowerCAmelCase__      =			np.array([0.53_755, 0.60_786, 0.47_402, 0.49_488, 0.51_869, 0.49_819, 0.47_985, 0.38_957, 0.44_279]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-2







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Optional[Any]:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														lowerCAmelCase__      =			EulerDiscreteScheduler.from_config(pipe.scheduler.config     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     ).images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 1_28, 1_28, 3)
														lowerCAmelCase__      =			np.array([0.53_755, 0.60_786, 0.47_402, 0.49_488, 0.51_869, 0.49_819, 0.47_985, 0.38_957, 0.44_279]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-2







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Optional[Any]:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														lowerCAmelCase__      =			EulerAncestralDiscreteScheduler.from_config(pipe.scheduler.config     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     ).images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 1_28, 1_28, 3)
														lowerCAmelCase__      =			np.array([0.53_817, 0.60_812, 0.47_384, 0.49_530, 0.51_894, 0.49_814, 0.47_984, 0.38_958, 0.44_271]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-2







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Dict:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														lowerCAmelCase__      =			DPMSolverMultistepScheduler.from_config(pipe.scheduler.config     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     ).images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 1_28, 1_28, 3)
														lowerCAmelCase__      =			np.array([0.53_895, 0.60_808, 0.47_933, 0.49_608, 0.51_886, 0.49_950, 0.48_053, 0.38_957, 0.44_200]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-2







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Optional[Any]:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			3 * [inputs['''prompt''']]

														# forward
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     )
														lowerCAmelCase__      =			output.images[0, -3:, -3:, -1]

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			3 * [inputs.pop('''prompt'''     )]

														lowerCAmelCase__      =			pipe.tokenizer(
														    lowerCamelCase_      ,					padding='''max_length'''      ,					max_length=pipe.tokenizer.model_max_length      ,					truncation=lowerCamelCase_      ,					return_tensors='''np'''      ,					)
														lowerCAmelCase__      =			text_inputs['''input_ids''']

														lowerCAmelCase__      =			pipe.text_encoder(input_ids=text_inputs.astype(np.intaa     )     )[0]

														lowerCAmelCase__      =			prompt_embeds

														# forward
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     )
														lowerCAmelCase__      =			output.images[0, -3:, -3:, -1]

														assert np.abs(image_slice_a.flatten() - image_slice_a.flatten()     ).max() < 1e-4







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							List[str]:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(self.hub_checkpoint      ,					provider='''CPUExecutionProvider'''     )
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			3 * ['''this is a negative prompt''']
														lowerCAmelCase__      =			negative_prompt
														lowerCAmelCase__      =			3 * [inputs['''prompt''']]

														# forward
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     )
														lowerCAmelCase__      =			output.images[0, -3:, -3:, -1]

														lowerCAmelCase__      =			self.get_dummy_inputs()
														lowerCAmelCase__      =			3 * [inputs.pop('''prompt'''     )]

														lowerCAmelCase__      =			[]
														for p in [prompt, negative_prompt]:
																					lowerCAmelCase__      =			pipe.tokenizer(
																					    lowerCamelCase_      ,					padding='''max_length'''      ,					max_length=pipe.tokenizer.model_max_length      ,					truncation=lowerCamelCase_      ,					return_tensors='''np'''      ,					)
																					lowerCAmelCase__      =			text_inputs['''input_ids''']

																					embeds.append(pipe.text_encoder(input_ids=text_inputs.astype(np.intaa     )     )[0]     )

														lowerCAmelCase__     ,      lowerCAmelCase__      =			embeds

														# forward
														lowerCAmelCase__      =			pipe(**lowerCamelCase_     )
														lowerCAmelCase__      =			output.images[0, -3:, -3:, -1]

														assert np.abs(image_slice_a.flatten() - image_slice_a.flatten()     ).max() < 1e-4




@nightly
@require_onnxruntime
@require_torch_gpu
class 	a__       (							unittest.TestCase						):





							'''simple docstring'''






							@property
							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Tuple:
														return (
														    "CUDAExecutionProvider",
														    {
														        "gpu_mem_limit": "15000000000",  # 15GB
														        "arena_extend_strategy": "kSameAsRequested",
														    },
														)







							@property
							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Optional[Any]:
														lowerCAmelCase__      =			ort.SessionOptions()
														lowerCAmelCase__      =			False
														return options







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							List[str]:
														# using the PNDM scheduler by default
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(
														    '''CompVis/stable-diffusion-v1-4'''      ,					revision='''onnx'''      ,					safety_checker=lowerCamelCase_      ,					feature_extractor=lowerCamelCase_      ,					provider=self.gpu_provider      ,					sess_options=self.gpu_options      ,					)
														sd_pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			'''A painting of a squirrel eating a burger'''
														np.random.seed(0     )
														lowerCAmelCase__      =			sd_pipe([prompt]      ,					guidance_scale=6.0      ,					num_inference_steps=10      ,					output_type='''np'''     )
														lowerCAmelCase__      =			output.images

														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 5_12, 5_12, 3)
														lowerCAmelCase__      =			np.array([0.0_452, 0.0_390, 0.0_087, 0.0_350, 0.0_617, 0.0_364, 0.0_544, 0.0_523, 0.0_720]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-3







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Optional[Any]:
														lowerCAmelCase__      =			DDIMScheduler.from_pretrained(
														    '''runwayml/stable-diffusion-v1-5'''      ,					subfolder='''scheduler'''      ,					revision='''onnx'''     )
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(
														    '''runwayml/stable-diffusion-v1-5'''      ,					revision='''onnx'''      ,					scheduler=lowerCamelCase_      ,					safety_checker=lowerCamelCase_      ,					feature_extractor=lowerCamelCase_      ,					provider=self.gpu_provider      ,					sess_options=self.gpu_options      ,					)
														sd_pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			'''open neural network exchange'''
														lowerCAmelCase__      =			np.random.RandomState(0     )
														lowerCAmelCase__      =			sd_pipe([prompt]      ,					guidance_scale=7.5      ,					num_inference_steps=10      ,					generator=lowerCamelCase_      ,					output_type='''np'''     )
														lowerCAmelCase__      =			output.images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 5_12, 5_12, 3)
														lowerCAmelCase__      =			np.array([0.2_867, 0.1_974, 0.1_481, 0.7_294, 0.7_251, 0.6_667, 0.4_194, 0.5_642, 0.6_486]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-3







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Union[str, Any]:
														lowerCAmelCase__      =			LMSDiscreteScheduler.from_pretrained(
														    '''runwayml/stable-diffusion-v1-5'''      ,					subfolder='''scheduler'''      ,					revision='''onnx'''     )
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(
														    '''runwayml/stable-diffusion-v1-5'''      ,					revision='''onnx'''      ,					scheduler=lowerCamelCase_      ,					safety_checker=lowerCamelCase_      ,					feature_extractor=lowerCamelCase_      ,					provider=self.gpu_provider      ,					sess_options=self.gpu_options      ,					)
														sd_pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			'''open neural network exchange'''
														lowerCAmelCase__      =			np.random.RandomState(0     )
														lowerCAmelCase__      =			sd_pipe([prompt]      ,					guidance_scale=7.5      ,					num_inference_steps=10      ,					generator=lowerCamelCase_      ,					output_type='''np'''     )
														lowerCAmelCase__      =			output.images
														lowerCAmelCase__      =			image[0, -3:, -3:, -1]

														assert image.shape == (1, 5_12, 5_12, 3)
														lowerCAmelCase__      =			np.array([0.2_306, 0.1_959, 0.1_593, 0.6_549, 0.6_394, 0.5_408, 0.5_065, 0.6_010, 0.6_161]     )

														assert np.abs(image_slice.flatten() - expected_slice     ).max() < 1e-3







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							Dict:
														lowerCAmelCase__      =			0

														def test_callback_fn(lowerCamelCase_      ,					lowerCamelCase_      ,					lowerCamelCase_     ) -> None:
																					lowerCAmelCase__      =			True
																					nonlocal number_of_steps
																					number_of_steps += 1
																					if step == 0:
																												assert latents.shape == (1, 4, 64, 64)
																												lowerCAmelCase__      =			latents[0, -3:, -3:, -1]
																												lowerCAmelCase__      =			np.array(
																												    [-0.6_772, -0.3_835, -1.2_456, 0.1_905, -1.0_974, 0.6_967, -1.9_353, 0.0_178, 1.0_167]     )

																												assert np.abs(latents_slice.flatten() - expected_slice     ).max() < 1e-3
																					elif step == 5:
																												assert latents.shape == (1, 4, 64, 64)
																												lowerCAmelCase__      =			latents[0, -3:, -3:, -1]
																												lowerCAmelCase__      =			np.array(
																												    [-0.3_351, 0.2_241, -0.1_837, -0.2_325, -0.6_577, 0.3_393, -0.0_241, 0.5_899, 1.3_875]     )

																												assert np.abs(latents_slice.flatten() - expected_slice     ).max() < 1e-3

														lowerCAmelCase__      =			False

														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(
														    '''runwayml/stable-diffusion-v1-5'''      ,					revision='''onnx'''      ,					safety_checker=lowerCamelCase_      ,					feature_extractor=lowerCamelCase_      ,					provider=self.gpu_provider      ,					sess_options=self.gpu_options      ,					)
														pipe.set_progress_bar_config(disable=lowerCamelCase_     )

														lowerCAmelCase__      =			'''Andromeda galaxy in a bottle'''

														lowerCAmelCase__      =			np.random.RandomState(0     )
														pipe(
														    prompt=lowerCamelCase_      ,					num_inference_steps=5      ,					guidance_scale=7.5      ,					generator=lowerCamelCase_      ,					callback=lowerCamelCase_      ,					callback_steps=1      ,					)
														assert test_callback_fn.has_been_called
														assert number_of_steps == 6







							def 						__SCREAMING_SNAKE_CASE							(	self     ) ->							int:
														lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(
														    '''runwayml/stable-diffusion-v1-5'''      ,					revision='''onnx'''      ,					safety_checker=lowerCamelCase_      ,					feature_extractor=lowerCamelCase_      ,					provider=self.gpu_provider      ,					sess_options=self.gpu_options      ,					)
														assert isinstance(lowerCamelCase_      ,					lowerCamelCase_     )
														assert pipe.safety_checker is None

														lowerCAmelCase__      =			pipe('''example prompt'''      ,					num_inference_steps=2     ).images[0]
														assert image is not None

														# check that there's no error when saving a pipeline with one of the models being None
														with tempfile.TemporaryDirectory() as tmpdirname:
																					pipe.save_pretrained(lowerCamelCase_     )
																					lowerCAmelCase__      =			OnnxStableDiffusionPipeline.from_pretrained(lowerCamelCase_     )

														# sanity check that the pipeline still works
														assert pipe.safety_checker is None
														lowerCAmelCase__      =			pipe('''example prompt'''      ,					num_inference_steps=2     ).images[0]
														assert image is not None



'''simple docstring'''






import contextlib
import csv
import json
import os
import sqlitea
import tarfile
import textwrap
import zipfile

import pyarrow as pa
import pyarrow.parquet as pq
import pytest

import datasets
import datasets.config


@pytest.fixture(scope='''session''' )
def       _snake_case     (  )		->					Any:
							lowerCAmelCase__      =			10
							lowerCAmelCase__      =			datasets.Features(
							    {
							        '''tokens''': datasets.Sequence(datasets.Value('''string''' ) ),
							        '''labels''': datasets.Sequence(datasets.ClassLabel(names=['''negative''', '''positive'''] ) ),
							        '''answers''': datasets.Sequence(
							            {
							                '''text''': datasets.Value('''string''' ),
							                '''answer_start''': datasets.Value('''int32''' ),
							            } ),
							        '''id''': datasets.Value('''int64''' ),
							    } )
							lowerCAmelCase__      =			datasets.Dataset.from_dict(
							    {
							        '''tokens''': [['''foo'''] * 5] * n,
							        '''labels''': [[1] * 5] * n,
							        '''answers''': [{'''answer_start''': [97], '''text''': ['''1976''']}] * 10,
							        '''id''': list(range(A ) ),
							    }				,					features=A				,					)
							return dataset


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					List[Any]:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''file.arrow''' )
							dataset.map(cache_file_name=A )
							return filename


# FILE_CONTENT + files


__UpperCAmelCase					       =							'''\
    Text data.
    Second line of data.'''


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Optional[int]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt'''
							lowerCAmelCase__      =			FILE_CONTENT
							with open(A				,					'''w''' ) as f:
														f.write(A )
							return filename


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Union[str, Any]:
							import bza

							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.bz2'''
							lowerCAmelCase__      =			bytes(A				,					'''utf-8''' )
							with bza.open(A				,					'''wb''' ) as f:
														f.write(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Tuple:
							import gzip

							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''file.txt.gz''' )
							lowerCAmelCase__      =			bytes(A				,					'''utf-8''' )
							with gzip.open(A				,					'''wb''' ) as f:
														f.write(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					List[str]:
							if datasets.config.LZ4_AVAILABLE:
														import lza.frame

														lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.lz4'''
														lowerCAmelCase__      =			bytes(A				,					'''utf-8''' )
														with lza.frame.open(A				,					'''wb''' ) as f:
																					f.write(A )
														return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					int:
							if datasets.config.PY7ZR_AVAILABLE:
														import pyazr

														lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.7z'''
														with pyazr.SevenZipFile(A				,					'''w''' ) as archive:
																					archive.write(A				,					arcname=os.path.basename(A ) )
														return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					str:
							import tarfile

							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.tar'''
							with tarfile.TarFile(A				,					'''w''' ) as f:
														f.add(A				,					arcname=os.path.basename(A ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Optional[int]:
							import lzma

							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.xz'''
							lowerCAmelCase__      =			bytes(A				,					'''utf-8''' )
							with lzma.open(A				,					'''wb''' ) as f:
														f.write(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					List[str]:
							import zipfile

							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename(A ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Any:
							if datasets.config.ZSTANDARD_AVAILABLE:
														import zstandard as zstd

														lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.txt.zst'''
														lowerCAmelCase__      =			bytes(A				,					'''utf-8''' )
														with zstd.open(A				,					'''wb''' ) as f:
																					f.write(A )
														return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Any:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''file.xml'''
							lowerCAmelCase__      =			textwrap.dedent(
							    '''\
    <?xml version="1.0" encoding="UTF-8" ?>
    <tmx version="1.4">
      <header segtype="sentence" srclang="ca" />
      <body>
        <tu>
          <tuv xml:lang="ca"><seg>Contingut 1</seg></tuv>
          <tuv xml:lang="en"><seg>Content 1</seg></tuv>
        </tu>
        <tu>
          <tuv xml:lang="ca"><seg>Contingut 2</seg></tuv>
          <tuv xml:lang="en"><seg>Content 2</seg></tuv>
        </tu>
        <tu>
          <tuv xml:lang="ca"><seg>Contingut 3</seg></tuv>
          <tuv xml:lang="en"><seg>Content 3</seg></tuv>
        </tu>
        <tu>
          <tuv xml:lang="ca"><seg>Contingut 4</seg></tuv>
          <tuv xml:lang="en"><seg>Content 4</seg></tuv>
        </tu>
        <tu>
          <tuv xml:lang="ca"><seg>Contingut 5</seg></tuv>
          <tuv xml:lang="en"><seg>Content 5</seg></tuv>
        </tu>
      </body>
    </tmx>''' )
							with open(A				,					'''w''' ) as f:
														f.write(A )
							return filename


__UpperCAmelCase					       =							[
    {'''col_1''': '''0''', '''col_2''': 0, '''col_3''': 0.0},
    {'''col_1''': '''1''', '''col_2''': 1, '''col_3''': 1.0},
    {'''col_1''': '''2''', '''col_2''': 2, '''col_3''': 2.0},
    {'''col_1''': '''3''', '''col_2''': 3, '''col_3''': 3.0},
]
__UpperCAmelCase					       =							[
    {'''col_1''': '''4''', '''col_2''': 4, '''col_3''': 4.0},
    {'''col_1''': '''5''', '''col_2''': 5, '''col_3''': 5.0},
]
__UpperCAmelCase					       =							{
    '''col_1''': ['''0''', '''1''', '''2''', '''3'''],
    '''col_2''': [0, 1, 2, 3],
    '''col_3''': [0.0, 1.0, 2.0, 3.0],
}

__UpperCAmelCase					       =							[
    {'''col_3''': 0.0, '''col_1''': '''0''', '''col_2''': 0},
    {'''col_3''': 1.0, '''col_1''': '''1''', '''col_2''': 1},
]

__UpperCAmelCase					       =							[
    {'''col_1''': '''s0''', '''col_2''': 0, '''col_3''': 0.0},
    {'''col_1''': '''s1''', '''col_2''': 1, '''col_3''': 1.0},
    {'''col_1''': '''s2''', '''col_2''': 2, '''col_3''': 2.0},
    {'''col_1''': '''s3''', '''col_2''': 3, '''col_3''': 3.0},
]


@pytest.fixture(scope='''session''' )
def       _snake_case     (  )		->					Union[str, Any]:
							return DATA_DICT_OF_LISTS


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Optional[Any]:
							lowerCAmelCase__      =			datasets.Dataset.from_dict(A )
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.arrow''' )
							dataset.map(cache_file_name=A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					str:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.sqlite''' )
							with contextlib.closing(sqlitea.connect(A ) ) as con:
														lowerCAmelCase__      =			con.cursor()
														cur.execute('''CREATE TABLE dataset(col_1 text, col_2 int, col_3 real)''' )
														for item in DATA:
																					cur.execute('''INSERT INTO dataset(col_1, col_2, col_3) VALUES (?, ?, ?)'''				,					tuple(item.values() ) )
														con.commit()
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Any:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.csv''' )
							with open(A				,					'''w'''				,					newline='''''' ) as f:
														lowerCAmelCase__      =			csv.DictWriter(A				,					fieldnames=['''col_1''', '''col_2''', '''col_3'''] )
														writer.writeheader()
														for item in DATA:
																					writer.writerow(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Optional[int]:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset2.csv''' )
							with open(A				,					'''w'''				,					newline='''''' ) as f:
														lowerCAmelCase__      =			csv.DictWriter(A				,					fieldnames=['''col_1''', '''col_2''', '''col_3'''] )
														writer.writeheader()
														for item in DATA:
																					writer.writerow(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					Optional[int]:
							import bza

							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.csv.bz2'''
							with open(A				,					'''rb''' ) as f:
														lowerCAmelCase__      =			f.read()
							# data = bytes(FILE_CONTENT, "utf-8")
							with bza.open(A				,					'''wb''' ) as f:
														f.write(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					List[str]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.csv.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename(A ) )
														f.write(A				,					arcname=os.path.basename(A ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					Dict:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.csv.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename(csv_path.replace('''.csv'''				,					'''.CSV''' ) ) )
														f.write(A				,					arcname=os.path.basename(csva_path.replace('''.csv'''				,					'''.CSV''' ) ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					Optional[int]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset_with_dir.csv.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.join('''main_dir'''				,					os.path.basename(A ) ) )
														f.write(A				,					arcname=os.path.join('''main_dir'''				,					os.path.basename(A ) ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					str:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.parquet''' )
							lowerCAmelCase__      =			pa.schema(
							    {
							        '''col_1''': pa.string(),
							        '''col_2''': pa.intaa(),
							        '''col_3''': pa.floataa(),
							    } )
							with open(A				,					'''wb''' ) as f:
														lowerCAmelCase__      =			pq.ParquetWriter(A				,					schema=A )
														lowerCAmelCase__      =			pa.Table.from_pydict({k: [DATA[i][k] for i in range(len(A ) )] for k in DATA[0]}				,					schema=A )
														writer.write_table(A )
														writer.close()
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					str:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.json''' )
							lowerCAmelCase__      =			{'''data''': DATA}
							with open(A				,					'''w''' ) as f:
														json.dump(A				,					A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Union[str, Any]:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.json''' )
							lowerCAmelCase__      =			{'''data''': DATA_DICT_OF_LISTS}
							with open(A				,					'''w''' ) as f:
														json.dump(A				,					A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					str:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.jsonl''' )
							with open(A				,					'''w''' ) as f:
														for item in DATA:
																					f.write(json.dumps(A ) + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Optional[Any]:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset2.jsonl''' )
							with open(A				,					'''w''' ) as f:
														for item in DATA:
																					f.write(json.dumps(A ) + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					List[str]:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset_312.jsonl''' )
							with open(A				,					'''w''' ) as f:
														for item in DATA_312:
																					f.write(json.dumps(A ) + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					List[Any]:
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset-str.jsonl''' )
							with open(A				,					'''w''' ) as f:
														for item in DATA_STR:
																					f.write(json.dumps(A ) + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					List[str]:
							import gzip

							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.txt.gz''' )
							with open(A				,					'''rb''' ) as orig_file:
														with gzip.open(A				,					'''wb''' ) as zipped_file:
																					zipped_file.writelines(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					Dict:
							import gzip

							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.jsonl.gz''' )
							with open(A				,					'''rb''' ) as orig_file:
														with gzip.open(A				,					'''wb''' ) as zipped_file:
																					zipped_file.writelines(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					str:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.jsonl.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename(A ) )
														f.write(A				,					arcname=os.path.basename(A ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A				,					A )		->					Optional[Any]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset_nested.jsonl.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.join('''nested'''				,					os.path.basename(A ) ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					List[Any]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset_with_dir.jsonl.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.join('''main_dir'''				,					os.path.basename(A ) ) )
														f.write(A				,					arcname=os.path.join('''main_dir'''				,					os.path.basename(A ) ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					List[str]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.jsonl.tar'''
							with tarfile.TarFile(A				,					'''w''' ) as f:
														f.add(A				,					arcname=os.path.basename(A ) )
														f.add(A				,					arcname=os.path.basename(A ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A				,					A )		->					Optional[int]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset_nested.jsonl.tar'''
							with tarfile.TarFile(A				,					'''w''' ) as f:
														f.add(A				,					arcname=os.path.join('''nested'''				,					os.path.basename(A ) ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Any:
							lowerCAmelCase__      =			['''0''', '''1''', '''2''', '''3''']
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset.txt''' )
							with open(A				,					'''w''' ) as f:
														for item in data:
																					f.write(item + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Union[str, Any]:
							lowerCAmelCase__      =			['''0''', '''1''', '''2''', '''3''']
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset2.txt''' )
							with open(A				,					'''w''' ) as f:
														for item in data:
																					f.write(item + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Union[str, Any]:
							lowerCAmelCase__      =			['''0''', '''1''', '''2''', '''3''']
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.abc'''
							with open(A				,					'''w''' ) as f:
														for item in data:
																					f.write(item + '''\n''' )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					List[Any]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.text.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename(A ) )
														f.write(A				,					arcname=os.path.basename(A ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					Union[str, Any]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset_with_dir.text.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.join('''main_dir'''				,					os.path.basename(A ) ) )
														f.write(A				,					arcname=os.path.join('''main_dir'''				,					os.path.basename(A ) ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A				,					A )		->					Optional[int]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.ext.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename('''unsupported.ext''' ) )
														f.write(A				,					arcname=os.path.basename('''unsupported_2.ext''' ) )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					Tuple:
							lowerCAmelCase__      =			'''\n'''.join(['''First''', '''Second\u2029with Unicode new line''', '''Third'''] )
							lowerCAmelCase__      =			str(tmp_path_factory.mktemp('''data''' ) / '''dataset_with_unicode_new_lines.txt''' )
							with open(A				,					'''w'''				,					encoding='''utf-8''' ) as f:
														f.write(A )
							return path


@pytest.fixture(scope='''session''' )
def       _snake_case     (  )		->					List[str]:
							return os.path.join('''tests'''				,					'''features'''				,					'''data'''				,					'''test_image_rgb.jpg''' )


@pytest.fixture(scope='''session''' )
def       _snake_case     (  )		->					Any:
							return os.path.join('''tests'''				,					'''features'''				,					'''data'''				,					'''test_audio_44100.wav''' )


@pytest.fixture(scope='''session''' )
def       _snake_case     (  A				,					A )		->					Union[str, Any]:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data''' ) / '''dataset.img.zip'''
							with zipfile.ZipFile(A				,					'''w''' ) as f:
														f.write(A				,					arcname=os.path.basename(A ) )
														f.write(A				,					arcname=os.path.basename(A ).replace('''.jpg'''				,					'''2.jpg''' ) )
							return path






@pytest.fixture(scope='''session''' )
def       _snake_case     (  A )		->					int:
							lowerCAmelCase__      =			tmp_path_factory.mktemp('''data_dir''' )

							(data_dir / "subdir").mkdir()
							with open(data_dir / '''subdir''' / '''train.txt'''				,					'''w''' ) as f:
														f.write('''foo\n''' * 10 )
							with open(data_dir / '''subdir''' / '''test.txt'''				,					'''w''' ) as f:
														f.write('''bar\n''' * 10 )
							# hidden file
							with open(data_dir / '''subdir''' / '''.test.txt'''				,					'''w''' ) as f:
														f.write('''bar\n''' * 10 )

							# hidden directory
							(data_dir / ".subdir").mkdir()
							with open(data_dir / '''.subdir''' / '''train.txt'''				,					'''w''' ) as f:
														f.write('''foo\n''' * 10 )
							with open(data_dir / '''.subdir''' / '''test.txt'''				,					'''w''' ) as f:
														f.write('''bar\n''' * 10 )

							return data_dir