text: 
  """Visualization of VAE Interpolation"""
  import sys
  import os
  sys.path.append(os.environ["PROJECT_ROOT"])
  from manim import *
  import pickle
  import numpy as np
  import manim_ml.neural_network as neural_network
  import examples.variational_autoencoder.variational_autoencoder as variational_autoencoder
  
  """
      The VAE Scene for the twitter video. 
  """
  config.pixel_height = 720 
  config.pixel_width = 1280 
  config.frame_height = 6.0
  config.frame_width = 6.0
  # Set random seed so point distribution is constant
  np.random.seed(1)
  
  class InterpolationScene(MovingCameraScene):
      """Scene object for a Variational Autoencoder and Autoencoder"""
  
      def construct(self):
          # Set Scene config
          vae = variational_autoencoder.VariationalAutoencoder(dot_radius=0.035, layer_spacing=0.5)
          vae.move_to(ORIGIN)
          vae.encoder.shift(LEFT*0.5)
          vae.decoder.shift(RIGHT*0.5)
          mnist_image_handler = variational_autoencoder.MNISTImageHandler()
          image_pair = mnist_image_handler.image_pairs[3]
          # Make forward pass animation and DO NOT run it
          forward_pass_animation = vae.make_forward_pass_animation(image_pair)
          # Make the interpolation animation
          interpolation_images = mnist_image_handler.interpolation_images
          interpolation_animation = vae.make_interpolation_animation(interpolation_images)
          embedding_zoom_animation = self.camera.auto_zoom([
              vae.embedding, 
              vae.decoder, 
              vae.output_image
          ], margin=0.5)
          # Make animations
          forward_pass_animations = []
          for i in range(7):
              anim = vae.decoder.make_forward_propagation_animation(run_time=0.5)
              forward_pass_animations.append(anim)
          forward_pass_animation_group = AnimationGroup(*forward_pass_animations, lag_ratio=1.0)
          # Make forward pass animations
          self.play(Create(vae), run_time=1.5)
          self.play(FadeOut(vae.encoder), run_time=1.0)
          self.play(embedding_zoom_animation, run_time=1.5)
          interpolation_animation = AnimationGroup(
              forward_pass_animation_group, 
              interpolation_animation
          )
          self.play(interpolation_animation, run_time=9.0)
  