'''simple docstring'''




from manim import *




class        a__ (  UpperCAmelCase_					):






     def   SCREAMING_SNAKE_CASE__  (					self						:						str       ):





         """simple docstring"""



         __lowerCamelCase            =    Rectangle(height=0.5    ,							width=0.5       )
         __lowerCamelCase            =    Rectangle(height=0.25    ,							width=0.25       )
         __lowerCamelCase            =    Rectangle(height=0.46    ,							width=0.46       ).set_stroke(width=0       )

         __lowerCamelCase            =    [mem.copy() for i in range(6       )]
         __lowerCamelCase            =    [mem.copy() for i in range(6       )]
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    VGroup(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    Text('''CPU'''    ,							font_size=24       )
         __lowerCamelCase            =    Group(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0.5    ,							aligned_edge=lowerCamelCase__       )
         cpu.move_to([-2.5, -0.5, 0]       )
         self.add(lowerCamelCase__       )

         __lowerCamelCase            =    [mem.copy() for i in range(4       )]
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    Text('''GPU'''    ,							font_size=24       )
         __lowerCamelCase            =    Group(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0.5    ,							aligned_edge=lowerCamelCase__       )
         gpu.move_to([-1, -1, 0]       )
         self.add(lowerCamelCase__       )

         __lowerCamelCase            =    [mem.copy() for i in range(6       )]
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )

         __lowerCamelCase            =    Text('''Model'''    ,							font_size=24       )
         __lowerCamelCase            =    Group(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0.5    ,							aligned_edge=lowerCamelCase__       )
         model.move_to([3, -1.0, 0]       )
         self.add(lowerCamelCase__       )

         __lowerCamelCase            =    []
         __lowerCamelCase            =    []
         __lowerCamelCase            =    []

         for i, rect in enumerate(lowerCamelCase__       ):
             rect.set_stroke(lowerCamelCase__       )

             __lowerCamelCase            =    Rectangle(height=0.46 / 4    ,							width=0.46 / 3       ).set_stroke(width=0.0       ).set_fill(lowerCamelCase__    ,							opacity=0.7       )

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

         self.add(*lowerCamelCase__    ,							*lowerCamelCase__    ,							*lowerCamelCase__       )

         __lowerCamelCase            =    [mem.copy() for i in range(6       )]
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )

         __lowerCamelCase            =    Text('''Loaded Checkpoint'''    ,							font_size=24       )
         __lowerCamelCase            =    Group(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0.5    ,							aligned_edge=lowerCamelCase__       )
         checkpoint.move_to([3, 0.5, 0]       )

         self.add(lowerCamelCase__       )

         __lowerCamelCase            =    []
         __lowerCamelCase            =    []

         for i, rect in enumerate(lowerCamelCase__       ):
             __lowerCamelCase            =    fill.copy().set_fill(lowerCamelCase__    ,							opacity=0.7       )
             target.move_to(lowerCamelCase__       )
             ckpt_arr.append(lowerCamelCase__       )

             __lowerCamelCase            =    target.copy()
             if i < 5:
                 cpu_target.move_to(cpu_left_col_base[i + 1]       )
             else:
                 cpu_target.move_to(cpu_right_col_base[i - 5]       )
             ckpt_cpu_arr.append(lowerCamelCase__       )
         self.add(*lowerCamelCase__    ,							*lowerCamelCase__       )

         __lowerCamelCase            =    Square(side_length=2.2       )
         key.move_to([-5, 2, 0]       )

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

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

         self.add(lowerCamelCase__    ,							lowerCamelCase__       )

         __lowerCamelCase            =    MarkupText(
             f"""<span fgcolor=\'{BLUE}\'>●</span> Checkpoint"""    ,							font_size=18    ,							)

         blue_text.next_to(lowerCamelCase__    ,							DOWN * 2.4    ,							aligned_edge=key_text.get_left()       )
         self.add(lowerCamelCase__       )

         __lowerCamelCase            =    MarkupText(
             f"""Based on the passed in configuration, weights are stored in\na variety of np.memmaps on disk or to a particular device."""    ,							font_size=24    ,							)
         step_a.move_to([2, 2, 0]       )

         __lowerCamelCase            =    [meta_mem.copy() for i in range(6       )]
         __lowerCamelCase            =    [meta_mem.copy() for i in range(6       )]
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    VGroup(*lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    VGroup(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0       )
         __lowerCamelCase            =    Text('''Disk'''    ,							font_size=24       )
         __lowerCamelCase            =    Group(lowerCamelCase__    ,							lowerCamelCase__       ).arrange(lowerCamelCase__    ,							buff=0.5    ,							aligned_edge=lowerCamelCase__       )
         disk.move_to([-4.0, -1.25, 0]       )
         self.play(Write(lowerCamelCase__    ,							run_time=3       )    ,							Write(lowerCamelCase__    ,							run_time=1       )    ,							Create(lowerCamelCase__    ,							run_time=1       )       )

         __lowerCamelCase            =    []
         for i, rect in enumerate(lowerCamelCase__       ):
             __lowerCamelCase            =    rect.copy()
             target.generate_target()
             target.target.move_to(disk_left_col_base[i]       ).scale(0.5       )
             animations.append(MoveToTarget(lowerCamelCase__    ,							run_time=1.5       )       )
         self.play(*lowerCamelCase__       )

         self.play(FadeOut(lowerCamelCase__       )       )

         __lowerCamelCase            =    MarkupText(f"""Then, the checkpoint is removed from memory\nthrough garbage collection."""    ,							font_size=24       )
         step_a.move_to([2, 2, 0]       )

         self.play(Write(lowerCamelCase__    ,							run_time=3       )       )

         self.play(
             FadeOut(lowerCamelCase__    ,							lowerCamelCase__    ,							*lowerCamelCase__    ,							*lowerCamelCase__       )    ,							)

         self.wait()








import warnings

from ...utils import logging
from .image_processing_beit import BeitImageProcessor


UpperCamelCase    							=      logging.get_logger(__name__)







class 		_A						( UpperCAmelCase_ ):

  def __init__(    self						:	str   ,				*lowerCamelCase__						:	Optional[int]   ,				**lowerCamelCase__						:	Any			):
     """simple docstring"""

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



