code: def test_restore_nodes_error_cases_high_level(self):
      root = autotrackable.AutoTrackable()
      root.leaf = autotrackable.AutoTrackable()
      root_ckpt = trackable_utils.Checkpoint(root=root)
      root_save_path = root_ckpt.save(
          os.path.join(self.get_temp_dir(), "root_ckpt")
      )
  
      root2 = autotrackable.AutoTrackable()
      root2.leaf = autotrackable.AutoTrackable()
  
      with self.assertRaisesRegex(
          ValueError,
          "Expecting a dictionary of node_id to Trackable for nodes_to_restore.",
      ):
          restore.restore_nodes(root_save_path, [0, 1])
  
      with self.assertRaisesRegex(
          ValueError,
          "The expected node_id: 3 to Trackable <.*?> to restore does not exist "
          "in the checkpoint.",
      ):
          restore.restore_nodes(root_save_path, {3: root2})
  
      with self.assertRaisesRegex(
          ValueError,
          "Expecting a valid Trackable to node_id: 0 but got trackable: None.",
      ):
          restore.restore_nodes(root_save_path, {0: None})
  
file_path: tensorflow/tensorflow/python/checkpoint/restore_test.py
imports: import os
  from tensorflow.python.checkpoint import checkpoint
  from tensorflow.python.checkpoint import restore
  from tensorflow.python.eager import test
  from tensorflow.python.module import module
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import variables
  from tensorflow.python.trackable import autotrackable
  from tensorflow.python.trackable import base
  from tensorflow.python.training.saving import saveable_object
label_desc: Use image node_id 2 for calling the ExtractSaveablenameTest obj's underlying member method code with example usage: obj.test_restore_nodes_error_cases_high_level() without return types