code: def plot_save_graphs(
      save_dir: str,
      model_name: str,
      grid_a: np.ndarray,
      grid_b: np.ndarray,
      loss_surface: np.ndarray,
      resolution: int,
  ):
      np.save(f"{save_dir}/{model_name}_xx.npy", grid_a)
      np.save(f"{save_dir}/{model_name}_yy.npy", grid_b)
      np.save(f"{save_dir}/{model_name}_zz.npy", loss_surface)
  
      plt.figure(figsize=(10, 10))
      plt.contour(grid_a, grid_b, loss_surface)
      plt.savefig(
          f"{save_dir}/{model_name}_contour_res_{resolution}.png",
          dpi=100,
      )
      plt.close()
  
      generate_plots(
          xx=grid_a,
          yy=grid_b,
          zz=loss_surface,
          model_name=model_name,
          results_loc=save_dir,
      )
  
file_path: ml-cvnets/loss_landscape/landscape_utils.py
imports: import copy
  from typing import Dict, Optional
  import matplotlib.pyplot
  import numpy
  import torch
  from matplotlib import animation, cm
  from mpl_toolkits.mplot3d import Axes3D
  from utils.common_utils import unwrap_model_fn
label_desc: Use image node_id 6 for calling a global function with example usage: plot_save_graphs(save_dir, model_name, grid_a, grid_b, loss_surface, resolution) without return types