





from manim import *






class       __A					(					lowerCAmelCase				):

   '''simple docstring'''







   def 	__lowerCamelCase       (					self							):



    '''simple docstring'''







    lowerCamelCase__              =	Rectangle(height=0.5 ,						width=0.5							)
    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=2_4							)
    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=2_4							)
    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=2_4							)
    lowerCamelCase__              =	Group(__lowerCAmelCase ,						__lowerCAmelCase							).arrange(__lowerCAmelCase ,						buff=0.5 ,						aligned_edge=__lowerCAmelCase							)
    model.move_to([3, -1.0, 0]							)
    self.add(__lowerCAmelCase							)

    lowerCamelCase__              =	[]
    for i, rect in enumerate(__lowerCAmelCase							):
     rect.set_stroke(__lowerCAmelCase							)
     # target = fill.copy().set_fill(YELLOW, opacity=0.7)
     # target.move_to(rect)
     # self.add(target)

     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(cpu_targs[0] ,						direction=__lowerCAmelCase ,						buff=0.0							)
     else:
      cpu_target.next_to(cpu_targs[i - 1] ,						direction=__lowerCAmelCase ,						buff=0.0							)
     self.add(__lowerCAmelCase							)
     cpu_targs.append(__lowerCAmelCase							)

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

    lowerCamelCase__              =	Text('''Loaded Checkpoint''' ,						font_size=2_4							)
    lowerCamelCase__              =	Group(__lowerCAmelCase ,						__lowerCAmelCase							).arrange(__lowerCAmelCase ,						aligned_edge=__lowerCAmelCase ,						buff=0.4							)
    checkpoint.move_to([3, 0.5, 0]							)

    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=1_8 ,						)

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

    self.add(__lowerCAmelCase ,						__lowerCAmelCase							)

    lowerCamelCase__              =	MarkupText(
        F'<span fgcolor=\'{BLUE}\'>●</span> Checkpoint' ,						font_size=1_8 ,						)

    blue_text.next_to(__lowerCAmelCase ,						DOWN * 2.4 ,						aligned_edge=key_text.get_left()							)

    lowerCamelCase__              =	MarkupText(
        F'Next, a <i><span fgcolor="{BLUE}">second</span></i> model is loaded into memory,\nwith the weights of a <span fgcolor="{BLUE}">single shard</span>.' ,						font_size=2_4 ,						)
    step_a.move_to([2, 2, 0]							)
    self.play(Write(__lowerCAmelCase							) ,						Write(__lowerCAmelCase							)							)

    self.play(Write(__lowerCAmelCase ,						run_time=1							) ,						Create(__lowerCAmelCase ,						run_time=1							)							)

    lowerCamelCase__              =	[]
    lowerCamelCase__              =	[]
    for i, rect in enumerate(__lowerCAmelCase							):
     lowerCamelCase__              =	fill.copy().set_fill(__lowerCAmelCase ,						opacity=0.7							)
     target.move_to(__lowerCAmelCase							)
     first_animations.append(GrowFromCenter(__lowerCAmelCase ,						run_time=1							)							)

     lowerCamelCase__              =	target.copy()
     cpu_target.generate_target()
     if i < 5:
      cpu_target.target.move_to(cpu_left_col_base[i + 1]							)
     else:
      cpu_target.target.move_to(cpu_right_col_base[i - 5]							)
     second_animations.append(MoveToTarget(__lowerCAmelCase ,						run_time=1.5							)							)

    self.play(*__lowerCAmelCase							)
    self.play(*__lowerCAmelCase							)
    self.wait()










import warnings

from ...utils import logging
from .image_processing_segformer import SegformerImageProcessor


_a						=   logging.get_logger(__name__)






class       __A					(					lowerCAmelCase				):

			'''simple docstring'''







			def __init__(					self ,						*__lowerCAmelCase ,						**__lowerCAmelCase							):



				'''simple docstring'''







				warnings.warn(
				    '''The class SegformerFeatureExtractor is deprecated and will be removed in version 5 of Transformers.'''
				    ''' Please use SegformerImageProcessor instead.''' ,						__lowerCAmelCase ,						)
				super().__init__(*__lowerCAmelCase ,						**__lowerCAmelCase							)



