code: def check_dynamic_info_inputs(
      dynamic_info: Optional[Dict], input_sample: Tuple[Any]
  ):
      if dynamic_info is not None:
          assert dynamic_info.get("inputs") is not None, (
              "Dynamic info must contain an 'inputs' key with a list of "
              "dictionaries as value."
          )
  
          num_dynamic_inputs = len(dynamic_info["inputs"])
          num_model_inputs = len(input_sample)
          assert len(dynamic_info["inputs"]) == len(input_sample), (
              f"The number of dynamic inputs provided in the dynamic info "
              f"dict ({num_dynamic_inputs}) is not equal to the number "
              f"of inputs of the model ({num_model_inputs}). Detected model "
              f"input shapes are: {[input.shape for input in input_sample]} "
          )
  
          assert dynamic_info.get("outputs") is not None, (
              "Dynamic info must contain an 'outputs' key with a list of "
              "dictionaries as value."
          )
  
imports: import os
  import subprocess
  import sys
  import uuid
  from pathlib import Path
  from types import ModuleType
  from typing import Tuple, Any, List, Dict, Union, Iterable, Sequence, Optional, Callable
  import numpy
  from loguru import logger
  from packaging import version
  from nebullvm.core.models import DeepLearningFramework, Device, ModelParams, DeviceType
  from nebullvm.optional_modules.tensorflow import tensorflow
  from nebullvm.optional_modules.torch import torch
  from nebullvm.tools.data import DataManager
  from nebullvm.tools.onnx import extract_info_from_np_data, get_output_info_onnx
  from nebullvm.tools.pytorch import extract_info_from_torch_data, get_output_info_torch
  from nebullvm.tools.tf import extract_info_from_tf_data, get_output_info_tf
label_desc: Use image node_id 15 for calling a global function with example usage: check_dynamic_info_inputs(dynamic_info, input_sample) without return types