
from manim import *




class      __A(    __lowerCamelCase			):

  """simple docstring"""







  def 	UpperCAmelCase_ (self						):
       UpperCamelCase__				=    Rectangle(height=0.5	,      width=0.5						)
       UpperCamelCase__				=    Rectangle(height=0.46	,      width=0.46						).set_stroke(width=0						)

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

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

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

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

       UpperCamelCase__				=    []
       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)

            UpperCamelCase__				=    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_						)

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

       UpperCamelCase__				=    Text("""Loaded Checkpoint"""	,      font_size=24						)
       UpperCamelCase__				=    Group(lowerCamelCase_	,      lowerCamelCase_						).arrange(lowerCamelCase_	,      aligned_edge=lowerCamelCase_	,      buff=0.4						)
       checkpoint.move_to([3, 0.5, 0]						)

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

       UpperCamelCase__				=    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_						)

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

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

       UpperCamelCase__				=    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=24	,      )
       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						)						)

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

            UpperCamelCase__				=    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


lowerCamelCase_						     =					logging.get_logger(__name__)




class      __A(    __lowerCamelCase			):

  """simple docstring"""







  def __init__(self	,      *SCREAMING_SNAKE_CASE_	,      **SCREAMING_SNAKE_CASE_						):
       warnings.warn(
           """The class SegformerFeatureExtractor is deprecated and will be removed in version 5 of Transformers."""
           """ Please use SegformerImageProcessor instead."""	,      SCREAMING_SNAKE_CASE_	,      )
       super().__init__(*SCREAMING_SNAKE_CASE_	,      **SCREAMING_SNAKE_CASE_						)





