




from manim import *







class 				lowerCAmelCase_       (					lowerCamelCase_							):






				def 		snake_case	(			self ):
							SCREAMING_SNAKE_CASE_   : List[Any]					  =      Rectangle(height=0.5      ,width=0.5 )
							SCREAMING_SNAKE_CASE_   : Optional[Any]					  =      Rectangle(height=0.46      ,width=0.46 ).set_stroke(width=0 )

							SCREAMING_SNAKE_CASE_   : Any					  =      [mem.copy() for i in range(6 )]
							SCREAMING_SNAKE_CASE_   : Any					  =      [mem.copy() for i in range(6 )]
							SCREAMING_SNAKE_CASE_   : List[str]					  =      VGroup(*snake_case__ ).arrange(snake_case__      ,buff=0 )
							SCREAMING_SNAKE_CASE_   : Dict					  =      VGroup(*snake_case__ ).arrange(snake_case__      ,buff=0 )
							SCREAMING_SNAKE_CASE_   : List[Any]					  =      VGroup(snake_case__      ,snake_case__ ).arrange(snake_case__      ,buff=0 )
							SCREAMING_SNAKE_CASE_   : int					  =      Text('CPU'      ,font_size=24 )
							SCREAMING_SNAKE_CASE_   : Tuple					  =      Group(snake_case__      ,snake_case__ ).arrange(snake_case__      ,buff=0.5      ,aligned_edge=snake_case__ )
							cpu.move_to([-2.5, -0.5, 0] )
							self.add(snake_case__ )

							SCREAMING_SNAKE_CASE_   : Union[str, Any]					  =      [mem.copy() for i in range(1 )]
							SCREAMING_SNAKE_CASE_   : List[Any]					  =      VGroup(*snake_case__ ).arrange(snake_case__      ,buff=0 )
							SCREAMING_SNAKE_CASE_   : Union[str, Any]					  =      Text('GPU'      ,font_size=24 )
							SCREAMING_SNAKE_CASE_   : Union[str, Any]					  =      Group(snake_case__      ,snake_case__ ).arrange(snake_case__      ,buff=0.5      ,aligned_edge=snake_case__ )
							gpu.align_to(snake_case__      ,snake_case__ )
							gpu.set_x(gpu.get_x() - 1 )

							self.add(snake_case__ )

							SCREAMING_SNAKE_CASE_   : Any					  =      [mem.copy() for i in range(6 )]
							SCREAMING_SNAKE_CASE_   : List[Any]					  =      VGroup(*snake_case__ ).arrange(snake_case__      ,buff=0 )

							SCREAMING_SNAKE_CASE_   : Any					  =      Text('Model'      ,font_size=24 )
							SCREAMING_SNAKE_CASE_   : Optional[Any]					  =      Group(snake_case__      ,snake_case__ ).arrange(snake_case__      ,buff=0.5      ,aligned_edge=snake_case__ )
							model.move_to([3, -1.0, 0] )

							self.play(
							    Create(snake_case__      ,run_time=1 )      ,Create(snake_case__      ,run_time=1 )      ,Create(snake_case__      ,run_time=1 )      ,)

							SCREAMING_SNAKE_CASE_   : Optional[int]					  =      MarkupText(
							    F'First, an empty model skeleton is loaded\ninto <span fgcolor=\'{YELLOW}\'>memory</span> without using much RAM.'      ,font_size=24      ,)

							SCREAMING_SNAKE_CASE_   : List[Any]					  =      Square(side_length=2.2 )
							key.move_to([-5, 2, 0] )

							SCREAMING_SNAKE_CASE_   : Tuple					  =      MarkupText(
							    F'<b>Key:</b>\n\n<span fgcolor=\'{YELLOW}\'>●</span> Empty Model'      ,font_size=18      ,)

							key_text.move_to([-5, 2.4, 0] )

							step_a.move_to([2, 2, 0] )
							self.play(Write(snake_case__      ,run_time=2.5 )      ,Write(snake_case__ )      ,Write(snake_case__ ) )

							self.add(snake_case__ )

							SCREAMING_SNAKE_CASE_   : List[Any]					  =      []
							SCREAMING_SNAKE_CASE_   : str					  =      []
							SCREAMING_SNAKE_CASE_   : Any					  =      []
							for i, rect in enumerate(snake_case__ ):
										SCREAMING_SNAKE_CASE_   : Optional[int]					  =      Rectangle(height=0.46      ,width=0.46 ).set_stroke(width=0.0 ).set_fill(snake_case__      ,opacity=0.7 )
										cpu_target.move_to(snake_case__ )
										cpu_target.generate_target()
										SCREAMING_SNAKE_CASE_   : List[Any]					  =      0.46 / 4
										SCREAMING_SNAKE_CASE_   : Tuple					  =      0.46 / 3

										if i == 0:
													cpu_target.target.next_to(cpu_left_col_base[0].get_corner(DOWN + LEFT )      ,buff=0.02      ,direction=snake_case__ )
													cpu_target.target.set_x(cpu_target.target.get_x() + 0.1 )
										elif i == 3:
													cpu_target.target.next_to(cpu_targs[0].target      ,direction=snake_case__      ,buff=0.0 )
										else:
													cpu_target.target.next_to(cpu_targs[i - 1].target      ,direction=snake_case__      ,buff=0.0 )
										cpu_targs.append(snake_case__ )

										first_animations.append(rect.animate(run_time=0.5 ).set_stroke(snake_case__ ) )
										second_animations.append(MoveToTarget(snake_case__      ,run_time=1.5 ) )

							self.play(*snake_case__ )
							self.play(*snake_case__ )

							self.wait()









import warnings

from ...utils import logging
from .image_processing_poolformer import PoolFormerImageProcessor


UpperCamelCase__ :   str						=							logging.get_logger(__name__)







class 				lowerCAmelCase_       (					lowerCamelCase_							):






				def __init__(			self      ,*snake_case__      ,**snake_case__ ):
							warnings.warn(
							    'The class PoolFormerFeatureExtractor is deprecated and will be removed in version 5 of Transformers.'
							    ' Please use PoolFormerImageProcessor instead.'      ,snake_case__      ,)
							super().__init__(*snake_case__      ,**snake_case__ )



