


from manim import *







class        lowerCamelCase__	(							_SCREAMING_SNAKE_CASE      ):






			"""simple docstring"""






			def 				snake_case__				(							self     ):

						'''simple docstring'''


						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(*A_     ).arrange(A_      ,						buff=0     )
						UpperCamelCase__					=       VGroup(*A_     ).arrange(A_      ,						buff=0     )
						UpperCamelCase__					=       VGroup(A_      ,						A_     ).arrange(A_      ,						buff=0     )
						UpperCamelCase__					=       Text("CPU"      ,						font_size=24     )
						UpperCamelCase__					=       Group(A_      ,						A_     ).arrange(A_      ,						buff=0.5      ,						aligned_edge=A_     )
						cpu.move_to([-2.5, -0.5, 0]     )
						self.add(A_     )

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

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

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

						UpperCamelCase__					=       []
						for i, rect in enumerate(A_     ):
									rect.set_stroke(A_     )
									# 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(A_      ,						opacity=0.7     )

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

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

						UpperCamelCase__					=       Text("Loaded Checkpoint"      ,						font_size=24     )
						UpperCamelCase__					=       Group(A_      ,						A_     ).arrange(A_      ,						aligned_edge=A_      ,						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(A_      ,						A_     )

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

						blue_text.next_to(A_      ,						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(A_     )      ,						Write(A_     )     )

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

						UpperCamelCase__					=       []
						UpperCamelCase__					=       []
						for i, rect in enumerate(A_     ):
									UpperCamelCase__					=       fill.copy().set_fill(A_      ,						opacity=0.7     )
									target.move_to(A_     )
									first_animations.append(GrowFromCenter(A_      ,						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(A_      ,						run_time=1.5     )     )

						self.play(*A_     )
						self.play(*A_     )
						self.wait()






import os
import tempfile
import unittest

from transformers.models.marian.convert_marian_tatoeba_to_pytorch import DEFAULT_REPO, TatoebaConverter
from transformers.testing_utils import slow
from transformers.utils import cached_property







@unittest.skipUnless(os.path.exists(UpperCAmelCase      )					,	'Tatoeba directory does not exist.'      )
class        lowerCamelCase__	(							unittest.TestCase      ):






			"""simple docstring"""






			@cached_property
			def 				snake_case__				(							self     ):

						'''simple docstring'''


						UpperCamelCase__					=       tempfile.mkdtemp()
						return TatoebaConverter(save_dir=snake_case     )




			@slow
			def 				snake_case__				(							self     ):

						'''simple docstring'''


						self.resolver.convert_models(["heb-eng"]     )







			@slow
			def 				snake_case__				(							self     ):

						'''simple docstring'''


						UpperCamelCase__,      UpperCamelCase__					=       self.resolver.write_model_card("opus-mt-he-en"      ,						dry_run=snake_case     )
						assert mmeta["long_pair"] == "heb-eng"


