






import unittest

from transformers import JukeboxTokenizer
from transformers.testing_utils import require_torch
class 						lowerCamelCase_				(      unittest.TestCase ):
				a__					       =  JukeboxTokenizer
				a__					       =  {
				    '''artist''': '''Zac Brown Band''',
				    '''genres''': '''Country''',
				    '''lyrics''': '''I met a traveller from an antique land,
        Who said "Two vast and trunkless legs of stone
        Stand in the desert. . . . Near them, on the sand,
        Half sunk a shattered visage lies, whose frown,
        And wrinkled lip, and sneer of cold command,
        Tell that its sculptor well those passions read
        Which yet survive, stamped on these lifeless things,
        The hand that mocked them, and the heart that fed;
        And on the pedestal, these words appear:
        My name is Ozymandias, King of Kings;
        Look on my Works, ye Mighty, and despair!
        Nothing beside remains. Round the decay
        Of that colossal Wreck, boundless and bare
        The lone and level sands stretch far away
        ''',
				}







				@require_torch
				def 			A	(						self     ):
								"""simple docstring"""
								import torch

								__magic_name__		:Optional[int]        =      JukeboxTokenizer.from_pretrained('''openai/jukebox-1b-lyrics'''     )
								__magic_name__		:Any        =      tokenizer(**self.metas     )['''input_ids''']
								# fmt: off
								__magic_name__		:Optional[Any]        =      [
								    torch.tensor([[
								        0, 0, 0, 7_1_6_9, 5_0_7, 9, 7_6, 3_9, 3_1, 4_6, 7_6, 2_7,
								        7_6, 4_6, 4_4, 2_7, 4_8, 3_1, 3_8, 3_8, 3_1, 4_4, 7_6, 3_2,
								        4_4, 4_1, 3_9, 7_6, 2_7, 4_0, 7_6, 2_7, 4_0, 4_6, 3_5, 4_3,
								        4_7, 3_1, 7_6, 3_8, 2_7, 4_0, 3_0, 6_4, 7_8, 7_6, 7_6, 7_6,
								        7_6, 7_6, 7_6, 7_6, 7_6, 2_3, 3_4, 4_1, 7_6, 4_5, 2_7, 3_5,
								        3_0, 7_6, 7_1, 2_0, 4_9, 4_1, 7_6, 4_8, 2_7, 4_5, 4_6, 7_6,
								        2_7, 4_0, 3_0, 7_6, 4_6, 4_4, 4_7, 4_0, 3_7, 3_8, 3_1, 4_5,
								        4_5, 7_6, 3_8, 3_1, 3_3, 4_5, 7_6, 4_1, 3_2, 7_6, 4_5, 4_6,
								        4_1, 4_0, 3_1, 7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6,
								        1_9, 4_6, 2_7, 4_0, 3_0, 7_6, 3_5, 4_0, 7_6, 4_6, 3_4, 3_1,
								        7_6, 3_0, 3_1, 4_5, 3_1, 4_4, 4_6, 6_3, 7_6, 6_3, 7_6, 6_3,
								        7_6, 6_3, 7_6, 1_4, 3_1, 2_7, 4_4, 7_6, 4_6, 3_4, 3_1, 3_9,
								        6_4, 7_6, 4_1, 4_0, 7_6, 4_6, 3_4, 3_1, 7_6, 4_5, 2_7, 4_0,
								        3_0, 6_4, 7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 8,
								        2_7, 3_8, 3_2, 7_6, 4_5, 4_7, 4_0, 3_7, 7_6, 2_7, 7_6, 4_5,
								        3_4, 2_7, 4_6, 4_6, 3_1, 4_4, 3_1, 3_0, 7_6, 4_8, 3_5, 4_5,
								        2_7, 3_3, 3_1, 7_6, 3_8, 3_5, 3_1, 4_5, 6_4, 7_6, 4_9, 3_4,
								        4_1, 4_5, 3_1, 7_6, 3_2, 4_4, 4_1, 4_9, 4_0, 6_4, 7_8, 7_6,
								        7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 1, 4_0, 3_0, 7_6, 4_9,
								        4_4, 3_5, 4_0, 3_7, 3_8, 3_1, 3_0, 7_6, 3_8, 3_5, 4_2, 6_4,
								        7_6, 2_7, 4_0, 3_0, 7_6, 4_5, 4_0, 3_1, 3_1, 4_4, 7_6, 4_1,
								        3_2, 7_6, 2_9, 4_1, 3_8, 3_0, 7_6, 2_9, 4_1, 3_9, 3_9, 2_7,
								        4_0, 3_0, 6_4, 7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6,
								        2_0, 3_1, 3_8, 3_8, 7_6, 4_6, 3_4, 2_7, 4_6, 7_6, 3_5, 4_6,
								        4_5, 7_6, 4_5, 2_9, 4_7, 3_8, 4_2, 4_6, 4_1, 4_4, 7_6, 4_9,
								        3_1, 3_8, 3_8, 7_6, 4_6, 3_4, 4_1, 4_5, 3_1, 7_6, 4_2, 2_7,
								        4_5, 4_5, 3_5, 4_1, 4_0, 4_5, 7_6, 4_4, 3_1, 2_7, 3_0, 7_8,
								        7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 2_3, 3_4, 3_5, 2_9,
								        3_4, 7_6, 5_1, 3_1, 4_6, 7_6, 4_5, 4_7, 4_4, 4_8, 3_5, 4_8,
								        3_1, 6_4, 7_6, 4_5, 4_6, 2_7, 3_9, 4_2, 3_1, 3_0, 7_6, 4_1,
								        4_0, 7_6, 4_6, 3_4, 3_1, 4_5, 3_1, 7_6, 3_8, 3_5, 3_2, 3_1,
								        3_8, 3_1, 4_5, 4_5, 7_6, 4_6, 3_4, 3_5, 4_0, 3_3, 4_5, 6_4,
								        7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 2_0, 3_4, 3_1,
								        7_6, 3_4, 2_7, 4_0, 3_0, 7_6, 4_6, 3_4, 2_7, 4_6, 7_6, 3_9,
								        4_1, 2_9, 3_7, 3_1, 3_0, 7_6, 4_6, 3_4, 3_1, 3_9, 6_4, 7_6,
								        2_7, 4_0, 3_0, 7_6, 4_6, 3_4, 3_1, 7_6, 3_4, 3_1, 2_7, 4_4,
								        4_6, 7_6, 4_6, 3_4, 2_7, 4_6, 7_6, 3_2, 3_1, 3_0, 6_6, 7_8,
								        7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 1, 4_0, 3_0, 7_6,
								        4_1, 4_0, 7_6, 4_6, 3_4, 3_1, 7_6, 4_2, 3_1, 3_0, 3_1, 4_5,
								        4_6, 2_7, 3_8, 6_4, 7_6, 4_6, 3_4, 3_1, 4_5, 3_1, 7_6, 4_9,
								        4_1, 4_4, 3_0, 4_5, 7_6, 2_7, 4_2, 4_2, 3_1, 2_7, 4_4, 6_5,
								        7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 1_3, 5_1, 7_6,
								        4_0, 2_7, 3_9, 3_1, 7_6, 3_5, 4_5, 7_6, 1_5, 5_2, 5_1, 3_9,
								        2_7, 4_0, 3_0, 3_5, 2_7, 4_5, 6_4, 7_6, 1_1, 3_5, 4_0, 3_3,
								        7_6, 4_1, 3_2, 7_6, 1_1, 3_5, 4_0, 3_3, 4_5, 6_6, 7_8, 7_6,
								        7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 1_2, 4_1, 4_1, 3_7, 7_6,
								        4_1, 4_0, 7_6, 3_9, 5_1, 7_6, 2_3, 4_1, 4_4, 3_7, 4_5, 6_4,
								        7_6, 5_1, 3_1, 7_6, 1_3, 3_5, 3_3, 3_4, 4_6, 5_1, 6_4, 7_6,
								        2_7, 4_0, 3_0, 7_6, 3_0, 3_1, 4_5, 4_2, 2_7, 3_5, 4_4, 6_7,
								        7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 1_4, 4_1, 4_6,
								        3_4, 3_5, 4_0, 3_3, 7_6, 2_8, 3_1, 4_5, 3_5, 3_0, 3_1, 7_6,
								        4_4, 3_1, 3_9, 2_7, 3_5, 4_0, 4_5, 6_3, 7_6, 1_8, 4_1, 4_7,
								        4_0, 3_0, 7_6, 4_6, 3_4, 3_1, 7_6, 3_0, 3_1, 2_9, 2_7, 5_1,
								        7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 1_5, 3_2, 7_6,
								        4_6, 3_4, 2_7, 4_6, 7_6, 2_9, 4_1, 3_8, 4_1, 4_5, 4_5, 2_7,
								        3_8, 7_6, 2_3, 4_4, 3_1, 2_9, 3_7, 6_4, 7_6, 2_8, 4_1, 4_7,
								        4_0, 3_0, 3_8, 3_1, 4_5, 4_5, 7_6, 2_7, 4_0, 3_0, 7_6, 2_8,
								        2_7, 4_4, 3_1, 7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6,
								        2_0, 3_4, 3_1, 7_6, 3_8, 4_1, 4_0, 3_1, 7_6, 2_7, 4_0, 3_0,
								        7_6, 3_8, 3_1, 4_8, 3_1, 3_8, 7_6, 4_5, 2_7, 4_0, 3_0, 4_5,
								        7_6, 4_5, 4_6, 4_4, 3_1, 4_6, 2_9, 3_4, 7_6, 3_2, 2_7, 4_4,
								        7_6, 2_7, 4_9, 2_7, 5_1, 7_8, 7_6, 7_6, 7_6, 7_6, 7_6, 7_6,
								        7_6, 7_6]]     ),
								    torch.tensor([[0, 0, 0, 1_0_6_9, 1_1]]     ),
								    torch.tensor([[0, 0, 0, 1_0_6_9, 1_1]]     ),
								]
								# fmt: on
								self.assertTrue(torch.allclose(tokens[0]       ,					EXPECTED_OUTPUT[0]     )     )
								self.assertTrue(torch.allclose(tokens[1]       ,					EXPECTED_OUTPUT[1]     )     )
								self.assertTrue(torch.allclose(tokens[2]       ,					EXPECTED_OUTPUT[2]     )     )







				@require_torch
				def 			A	(						self     ):
								"""simple docstring"""
								import torch

								__magic_name__		:Union[str, Any]        =      JukeboxTokenizer.from_pretrained('''openai/jukebox-5b-lyrics'''     )
								__magic_name__		:List[str]        =      tokenizer(**self.metas     )['''input_ids''']
								# fmt: off
								__magic_name__		:int        =      [
								    torch.tensor([[
								        0, 0, 0, 1_0_6_9, 1_1, -1, -1, -1, -1, 9, 7_7, 3_9,
								        3_1, 4_6, 7_7, 2_7, 7_7, 4_6, 4_4, 2_7, 4_8, 3_1, 3_8, 3_8,
								        3_1, 4_4, 7_7, 3_2, 4_4, 4_1, 3_9, 7_7, 2_7, 4_0, 7_7, 2_7,
								        4_0, 4_6, 3_5, 4_3, 4_7, 3_1, 7_7, 3_8, 2_7, 4_0, 3_0, 6_4,
								        7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 2_3, 3_4, 4_1,
								        7_7, 4_5, 2_7, 3_5, 3_0, 7_7, 7_2, 2_0, 4_9, 4_1, 7_7, 4_8,
								        2_7, 4_5, 4_6, 7_7, 2_7, 4_0, 3_0, 7_7, 4_6, 4_4, 4_7, 4_0,
								        3_7, 3_8, 3_1, 4_5, 4_5, 7_7, 3_8, 3_1, 3_3, 4_5, 7_7, 4_1,
								        3_2, 7_7, 4_5, 4_6, 4_1, 4_0, 3_1, 7_9, 7_7, 7_7, 7_7, 7_7,
								        7_7, 7_7, 7_7, 7_7, 1_9, 4_6, 2_7, 4_0, 3_0, 7_7, 3_5, 4_0,
								        7_7, 4_6, 3_4, 3_1, 7_7, 3_0, 3_1, 4_5, 3_1, 4_4, 4_6, 6_3,
								        7_7, 6_3, 7_7, 6_3, 7_7, 6_3, 7_7, 1_4, 3_1, 2_7, 4_4, 7_7,
								        4_6, 3_4, 3_1, 3_9, 6_4, 7_7, 4_1, 4_0, 7_7, 4_6, 3_4, 3_1,
								        7_7, 4_5, 2_7, 4_0, 3_0, 6_4, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7,
								        7_7, 7_7, 7_7, 8, 2_7, 3_8, 3_2, 7_7, 4_5, 4_7, 4_0, 3_7,
								        7_7, 2_7, 7_7, 4_5, 3_4, 2_7, 4_6, 4_6, 3_1, 4_4, 3_1, 3_0,
								        7_7, 4_8, 3_5, 4_5, 2_7, 3_3, 3_1, 7_7, 3_8, 3_5, 3_1, 4_5,
								        6_4, 7_7, 4_9, 3_4, 4_1, 4_5, 3_1, 7_7, 3_2, 4_4, 4_1, 4_9,
								        4_0, 6_4, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 1,
								        4_0, 3_0, 7_7, 4_9, 4_4, 3_5, 4_0, 3_7, 3_8, 3_1, 3_0, 7_7,
								        3_8, 3_5, 4_2, 6_4, 7_7, 2_7, 4_0, 3_0, 7_7, 4_5, 4_0, 3_1,
								        3_1, 4_4, 7_7, 4_1, 3_2, 7_7, 2_9, 4_1, 3_8, 3_0, 7_7, 2_9,
								        4_1, 3_9, 3_9, 2_7, 4_0, 3_0, 6_4, 7_9, 7_7, 7_7, 7_7, 7_7,
								        7_7, 7_7, 7_7, 7_7, 2_0, 3_1, 3_8, 3_8, 7_7, 4_6, 3_4, 2_7,
								        4_6, 7_7, 3_5, 4_6, 4_5, 7_7, 4_5, 2_9, 4_7, 3_8, 4_2, 4_6,
								        4_1, 4_4, 7_7, 4_9, 3_1, 3_8, 3_8, 7_7, 4_6, 3_4, 4_1, 4_5,
								        3_1, 7_7, 4_2, 2_7, 4_5, 4_5, 3_5, 4_1, 4_0, 4_5, 7_7, 4_4,
								        3_1, 2_7, 3_0, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7,
								        2_3, 3_4, 3_5, 2_9, 3_4, 7_7, 5_1, 3_1, 4_6, 7_7, 4_5, 4_7,
								        4_4, 4_8, 3_5, 4_8, 3_1, 6_4, 7_7, 4_5, 4_6, 2_7, 3_9, 4_2,
								        3_1, 3_0, 7_7, 4_1, 4_0, 7_7, 4_6, 3_4, 3_1, 4_5, 3_1, 7_7,
								        3_8, 3_5, 3_2, 3_1, 3_8, 3_1, 4_5, 4_5, 7_7, 4_6, 3_4, 3_5,
								        4_0, 3_3, 4_5, 6_4, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7,
								        7_7, 2_0, 3_4, 3_1, 7_7, 3_4, 2_7, 4_0, 3_0, 7_7, 4_6, 3_4,
								        2_7, 4_6, 7_7, 3_9, 4_1, 2_9, 3_7, 3_1, 3_0, 7_7, 4_6, 3_4,
								        3_1, 3_9, 6_4, 7_7, 2_7, 4_0, 3_0, 7_7, 4_6, 3_4, 3_1, 7_7,
								        3_4, 3_1, 2_7, 4_4, 4_6, 7_7, 4_6, 3_4, 2_7, 4_6, 7_7, 3_2,
								        3_1, 3_0, 6_6, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7,
								        1, 4_0, 3_0, 7_7, 4_1, 4_0, 7_7, 4_6, 3_4, 3_1, 7_7, 4_2,
								        3_1, 3_0, 3_1, 4_5, 4_6, 2_7, 3_8, 6_4, 7_7, 4_6, 3_4, 3_1,
								        4_5, 3_1, 7_7, 4_9, 4_1, 4_4, 3_0, 4_5, 7_7, 2_7, 4_2, 4_2,
								        3_1, 2_7, 4_4, 6_5, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7,
								        7_7, 1_3, 5_1, 7_7, 4_0, 2_7, 3_9, 3_1, 7_7, 3_5, 4_5, 7_7,
								        1_5, 5_2, 5_1, 3_9, 2_7, 4_0, 3_0, 3_5, 2_7, 4_5, 6_4, 7_7,
								        1_1, 3_5, 4_0, 3_3, 7_7, 4_1, 3_2, 7_7, 1_1, 3_5, 4_0, 3_3,
								        4_5, 6_6, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 1_2,
								        4_1, 4_1, 3_7, 7_7, 4_1, 4_0, 7_7, 3_9, 5_1, 7_7, 2_3, 4_1,
								        4_4, 3_7, 4_5, 6_4, 7_7, 5_1, 3_1, 7_7, 1_3, 3_5, 3_3, 3_4,
								        4_6, 5_1, 6_4, 7_7, 2_7, 4_0, 3_0, 7_7, 3_0, 3_1, 4_5, 4_2,
								        2_7, 3_5, 4_4, 6_7, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7,
								        7_7, 1_4, 4_1, 4_6, 3_4, 3_5, 4_0, 3_3, 7_7, 2_8, 3_1, 4_5,
								        3_5, 3_0, 3_1, 7_7, 4_4, 3_1, 3_9, 2_7, 3_5, 4_0, 4_5, 6_3,
								        7_7, 1_8, 4_1, 4_7, 4_0, 3_0, 7_7, 4_6, 3_4, 3_1, 7_7, 3_0,
								        3_1, 2_9, 2_7, 5_1, 7_9, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7, 7_7,
								        7_7, 1_5, 3_2, 7_7, 4_6, 3_4, 2_7, 4_6, 7_7, 2_9, 4_1, 3_8,
								        4_1, 4_5, 4_5, 2_7, 3_8, 7_7, 2_3, 4_4, 3_1, 2_9, 3_7, 6_4,
								        7_7, 2_8, 4_1, 4_7, 4_0, 3_0, 3_8, 3_1, 4_5, 4_5, 7_7, 2_7,
								        4_0, 3_0, 7_7, 2_8, 2_7, 4_4, 3_1, 7_9, 7_7, 7_7, 7_7, 7_7,
								        7_7, 7_7, 7_7, 7_7, 2_0, 3_4, 3_1, 7_7, 3_8, 4_1, 4_0, 3_1,
								        7_7, 2_7, 4_0, 3_0, 7_7, 3_8, 3_1, 4_8, 3_1, 3_8, 7_7, 4_5,
								        2_7, 4_0, 3_0, 4_5, 7_7, 4_5, 4_6, 4_4, 3_1, 4_6, 2_9, 3_4,
								        7_7, 3_2, 2_7, 4_4, 7_7, 2_7, 4_9, 2_7, 5_1, 7_9, 7_7, 7_7,
								        7_7, 7_7, 7_7, 7_7, 7_7, 7_7]]     ),
								    torch.tensor([[0, 0, 0, 1_0_6_9, 1_1, -1, -1, -1, -1]]     ),
								    torch.tensor([[0, 0, 0, 1_0_6_9, 1_1, -1, -1, -1, -1]]     ),
								]
								# fmt: on
								self.assertTrue(torch.allclose(tokens[0]       ,					EXPECTED_OUTPUT[0]     )     )
								self.assertTrue(torch.allclose(tokens[1]       ,					EXPECTED_OUTPUT[1]     )     )
								self.assertTrue(torch.allclose(tokens[2]       ,					EXPECTED_OUTPUT[2]     )     )














import inspect
import unittest

from transformers import RegNetConfig
from transformers.file_utils import cached_property, is_torch_available, is_vision_available
from transformers.testing_utils import require_torch, require_vision, slow, torch_device

from ...test_configuration_common import ConfigTester
from ...test_modeling_common import ModelTesterMixin, floats_tensor, ids_tensor
from ...test_pipeline_mixin import PipelineTesterMixin


if is_torch_available():
					import torch
					from torch import nn

					from transformers import RegNetForImageClassification, RegNetModel
					from transformers.models.regnet.modeling_regnet import REGNET_PRETRAINED_MODEL_ARCHIVE_LIST


if is_vision_available():
					from PIL import Image

					from transformers import AutoImageProcessor
class 						lowerCamelCase_				:







				def __init__(						self       ,					__lowerCAmelCase       ,					__lowerCAmelCase=3       ,					__lowerCAmelCase=3_2       ,					__lowerCAmelCase=3       ,					__lowerCAmelCase=1_0       ,					__lowerCAmelCase=[1_0, 2_0, 3_0, 4_0]       ,					__lowerCAmelCase=[1, 1, 2, 1]       ,					__lowerCAmelCase=True       ,					__lowerCAmelCase=True       ,					__lowerCAmelCase="relu"       ,					__lowerCAmelCase=3       ,					__lowerCAmelCase=None       ,					):
								"""simple docstring"""
								__magic_name__		:Union[str, Any]        =      parent
								__magic_name__		:str        =      batch_size
								__magic_name__		:Union[str, Any]        =      image_size
								__magic_name__		:Optional[Any]        =      num_channels
								__magic_name__		:str        =      embeddings_size
								__magic_name__		:List[Any]        =      hidden_sizes
								__magic_name__		:List[str]        =      depths
								__magic_name__		:str        =      is_training
								__magic_name__		:List[Any]        =      use_labels
								__magic_name__		:int        =      hidden_act
								__magic_name__		:Dict        =      num_labels
								__magic_name__		:Any        =      scope
								__magic_name__		:Optional[int]        =      len(__lowerCAmelCase     )







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__		:Optional[int]        =      floats_tensor([self.batch_size, self.num_channels, self.image_size, self.image_size]     )

								__magic_name__		:int        =      None
								if self.use_labels:
												__magic_name__		:int        =      ids_tensor([self.batch_size]       ,					self.num_labels     )

								__magic_name__		:List[str]        =      self.get_config()

								return config, pixel_values, labels







				def 			A	(						self     ):
								"""simple docstring"""
								return RegNetConfig(
								    num_channels=self.num_channels       ,					embeddings_size=self.embeddings_size       ,					hidden_sizes=self.hidden_sizes       ,					depths=self.depths       ,					hidden_act=self.hidden_act       ,					num_labels=self.num_labels       ,					)







				def 			A	(						self       ,					__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase     ):
								"""simple docstring"""
								__magic_name__		:Optional[int]        =      RegNetModel(config=__lowerCAmelCase     )
								model.to(__lowerCAmelCase     )
								model.eval()
								__magic_name__		:Dict        =      model(__lowerCAmelCase     )
								# expected last hidden states: B, C, H // 32, W // 32
								self.parent.assertEqual(
								    result.last_hidden_state.shape       ,					(self.batch_size, self.hidden_sizes[-1], self.image_size // 3_2, self.image_size // 3_2)       ,					)







				def 			A	(						self       ,					__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase     ):
								"""simple docstring"""
								__magic_name__		:Union[str, Any]        =      self.num_labels
								__magic_name__		:str        =      RegNetForImageClassification(__lowerCAmelCase     )
								model.to(__lowerCAmelCase     )
								model.eval()
								__magic_name__		:str        =      model(__lowerCAmelCase       ,					labels=__lowerCAmelCase     )
								self.parent.assertEqual(result.logits.shape       ,					(self.batch_size, self.num_labels)     )







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__		:int        =      self.prepare_config_and_inputs()
								__magic_name__     ,				__magic_name__     ,				__magic_name__		:str        =      config_and_inputs
								__magic_name__		:Optional[int]        =      {'''pixel_values''': pixel_values}
								return config, inputs_dict







@require_torch
class 						lowerCamelCase_				(      lowerCamelCase			,				lowerCamelCase			,				unittest.TestCase ):
				a__					       =  (RegNetModel, RegNetForImageClassification) if is_torch_available() else ()
				a__					       =  (
				    {'''feature-extraction''': RegNetModel, '''image-classification''': RegNetForImageClassification}
				    if is_torch_available()
				    else {}
				)

				a__					       =  False
				a__					       =  False
				a__					       =  False
				a__					       =  False







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__		:Tuple        =      RegNetModelTester(self     )
								__magic_name__		:Union[str, Any]        =      ConfigTester(self       ,					config_class=__lowerCAmelCase       ,					has_text_modality=__lowerCAmelCase     )







				def 			A	(						self     ):
								"""simple docstring"""
								self.create_and_test_config_common_properties()
								self.config_tester.create_and_test_config_to_json_string()
								self.config_tester.create_and_test_config_to_json_file()
								self.config_tester.create_and_test_config_from_and_save_pretrained()
								self.config_tester.create_and_test_config_with_num_labels()
								self.config_tester.check_config_can_be_init_without_params()
								self.config_tester.check_config_arguments_init()







				def 			A	(						self     ):
								"""simple docstring"""
								return







				@unittest.skip(reason='''RegNet does not use inputs_embeds'''     )
				def 			A	(						self     ):
								"""simple docstring"""
								pass







				@unittest.skip(reason='''RegNet does not support input and output embeddings'''     )
				def 			A	(						self     ):
								"""simple docstring"""
								pass







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__     ,				__magic_name__		:Union[str, Any]        =      self.model_tester.prepare_config_and_inputs_for_common()

								for model_class in self.all_model_classes:
												__magic_name__		:Dict        =      model_class(__lowerCAmelCase     )
												__magic_name__		:Any        =      inspect.signature(model.forward     )
												# signature.parameters is an OrderedDict => so arg_names order is deterministic
												__magic_name__		:Optional[Any]        =      [*signature.parameters.keys()]

												__magic_name__		:Any        =      ['''pixel_values''']
												self.assertListEqual(arg_names[:1]       ,					__lowerCAmelCase     )







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__		:str        =      self.model_tester.prepare_config_and_inputs()
								self.model_tester.create_and_check_model(*__lowerCAmelCase     )







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__     ,				__magic_name__		:Any        =      self.model_tester.prepare_config_and_inputs_for_common()

								for model_class in self.all_model_classes:
												__magic_name__		:Tuple        =      model_class(config=__lowerCAmelCase     )
												for name, module in model.named_modules():
																if isinstance(__lowerCAmelCase       ,					(nn.BatchNormad, nn.GroupNorm)     ):
																				self.assertTrue(
																				    torch.all(module.weight == 1     )       ,					msg=F'''Parameter {name} of model {model_class} seems not properly initialized'''       ,					)
																				self.assertTrue(
																				    torch.all(module.bias == 0     )       ,					msg=F'''Parameter {name} of model {model_class} seems not properly initialized'''       ,					)







				def 			A	(						self     ):
								"""simple docstring"""
								def check_hidden_states_output(__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase     ):
												__magic_name__		:Any        =      model_class(__lowerCAmelCase     )
												model.to(__lowerCAmelCase     )
												model.eval()

												with torch.no_grad():
																__magic_name__		:int        =      model(**self._prepare_for_class(__lowerCAmelCase       ,					__lowerCAmelCase     )     )

												__magic_name__		:Optional[int]        =      outputs.encoder_hidden_states if config.is_encoder_decoder else outputs.hidden_states

												__magic_name__		:List[str]        =      self.model_tester.num_stages
												self.assertEqual(len(__lowerCAmelCase     )       ,					expected_num_stages + 1     )

												# RegNet's feature maps are of shape (batch_size, num_channels, height, width)
												self.assertListEqual(
												    list(hidden_states[0].shape[-2:]     )       ,					[self.model_tester.image_size // 2, self.model_tester.image_size // 2]       ,					)

								__magic_name__     ,				__magic_name__		:str        =      self.model_tester.prepare_config_and_inputs_for_common()
								__magic_name__		:List[Any]        =      ['''basic''', '''bottleneck''']
								for model_class in self.all_model_classes:
												for layer_type in layers_type:
																__magic_name__		:Optional[Any]        =      layer_type
																__magic_name__		:List[str]        =      True
																check_hidden_states_output(__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase     )

																# check that output_hidden_states also work using config
																del inputs_dict["output_hidden_states"]
																__magic_name__		:List[str]        =      True

																check_hidden_states_output(__lowerCAmelCase       ,					__lowerCAmelCase       ,					__lowerCAmelCase     )







				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__		:str        =      self.model_tester.prepare_config_and_inputs()
								self.model_tester.create_and_check_for_image_classification(*__lowerCAmelCase     )







				@slow
				def 			A	(						self     ):
								"""simple docstring"""
								for model_name in REGNET_PRETRAINED_MODEL_ARCHIVE_LIST[:1]:
												__magic_name__		:Optional[int]        =      RegNetModel.from_pretrained(__lowerCAmelCase     )
												self.assertIsNotNone(__lowerCAmelCase     )







def      __lowercase					( ):







				"""simple docstring"""






				__magic_name__		:List[str]        =      Image.open('''./tests/fixtures/tests_samples/COCO/000000039769.png''' )
				return image

@require_torch
@require_vision
class 						lowerCamelCase_				(      unittest.TestCase ):







				@cached_property
				def 			A	(						self     ):
								"""simple docstring"""
								return (
								    AutoImageProcessor.from_pretrained(REGNET_PRETRAINED_MODEL_ARCHIVE_LIST[0]     )
								    if is_vision_available()
								    else None
								)







				@slow
				def 			A	(						self     ):
								"""simple docstring"""
								__magic_name__		:Optional[int]        =      RegNetForImageClassification.from_pretrained(REGNET_PRETRAINED_MODEL_ARCHIVE_LIST[0]     ).to(__lowerCAmelCase     )

								__magic_name__		:List[str]        =      self.default_image_processor
								__magic_name__		:Any        =      prepare_img()
								__magic_name__		:Optional[Any]        =      image_processor(images=__lowerCAmelCase       ,					return_tensors='''pt'''     ).to(__lowerCAmelCase     )

								# forward pass
								with torch.no_grad():
												__magic_name__		:int        =      model(**__lowerCAmelCase     )

								# verify the logits
								__magic_name__		:List[Any]        =      torch.Size((1, 1_0_0_0)     )
								self.assertEqual(outputs.logits.shape       ,					__lowerCAmelCase     )

								__magic_name__		:Any        =      torch.tensor([-0.4180, -1.5051, -3.4836]     ).to(__lowerCAmelCase     )

								self.assertTrue(torch.allclose(outputs.logits[0, :3]       ,					__lowerCAmelCase       ,					atol=1E-4     )     )






