

import unittest

import numpy as np

from diffusers import OnnxStableDiffusionInpaintPipelineLegacy
from diffusers.utils.testing_utils import (
    is_onnx_available,
    load_image,
    load_numpy,
    nightly,
    require_onnxruntime,
    require_torch_gpu,
)


if is_onnx_available():
			import onnxruntime as ort






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




	@property
	def        lowerCAmelCase_       (     self						:     str							):
		return (
		    "CUDAExecutionProvider",
		    {
		        "gpu_mem_limit": "15000000000",  # 15GB
		        "arena_extend_strategy": "kSameAsRequested",
		    },
		)




	@property
	def        lowerCAmelCase_       (     self						:     Tuple							):
		__A :			List[str]		    =			ort.SessionOptions()
		__A :			List[str]		    =			False
		return options




	def        lowerCAmelCase_       (     self						:     Optional[int]							):
		__A :			Optional[Any]		    =			load_image(
		    """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
		    """/in_paint/overture-creations-5sI6fQgYIuo.png"""							)
		__A :			Dict		    =			load_image(
		    """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
		    """/in_paint/overture-creations-5sI6fQgYIuo_mask.png"""							)
		__A :			List[str]		    =			load_numpy(
		    """https://huggingface.co/datasets/hf-internal-testing/diffusers-images/resolve/main"""
		    """/in_paint/red_cat_sitting_on_a_park_bench_onnx.npy"""							)

		# using the PNDM scheduler by default
		__A :			int		    =			OnnxStableDiffusionInpaintPipelineLegacy.from_pretrained(
		    """CompVis/stable-diffusion-v1-4"""					,      revision="""onnx"""					,      safety_checker=__A					,      feature_extractor=__A					,      provider=self.gpu_provider					,      sess_options=self.gpu_options					,      )
		pipe.set_progress_bar_config(disable=__A							)

		__A :			List[Any]		    =			"""A red cat sitting on a park bench"""

		__A :			Dict		    =			np.random.RandomState(0							)
		__A :			str		    =			pipe(
		    prompt=__A					,      image=__A					,      mask_image=__A					,      strength=0.7_5					,      guidance_scale=7.5					,      num_inference_steps=15					,      generator=__A					,      output_type="""np"""					,      )

		__A :			List[Any]		    =			output.images[0]

		assert image.shape == (512, 512, 3)
		assert np.abs(expected_image - image							).max() < 1e-2













import os

# Precomputes a list of the 100 first triangular numbers
lowerCamelCase      :       str    =						[int(0.5 * n * (n + 1)) for n in range(1, 101)]





def    __lowerCAmelCase   (    ):
     __lowerCAmelCase             =       os.path.dirname(os.path.realpath(__snake_case							)							)
     __lowerCAmelCase             =       os.path.join(__snake_case       ,			"words.txt"							)

     __lowerCAmelCase             =       ""
     with open(__snake_case							) as f:
          __lowerCAmelCase             =       f.readline()

     __lowerCAmelCase             =       [word.strip("\""							) for word in words.strip("\r\n"							).split(","							)]
     __lowerCAmelCase             =       [
         word
         for word in [sum(ord(__snake_case							) - 64 for x in word							) for word in words]
         if word in TRIANGULAR_NUMBERS
     ]
     return len(__snake_case							)


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






