class_docstr: Use this encoder to avoid
  "TypeError: Object of type float32 is not JSON serializable"
  
  Example:
  x = np.float32(5)
  json.dumps(x, cls=NumpyJSONEncoder)
class_docstr_tok: ["Use","this","encoder","to","avoid","''","TypeError",":","Object","of","type","float32","is","not","JSON","serializable","''","Example",":","x","=","np.float32","(","5",")","json.dumps","(","x",",","cls=NumpyJSONEncoder",")"]
code: def default(self, obj):
      if isinstance(obj, np.ndarray):
          return obj.tolist()
      elif isinstance(obj, (np.float, np.float32, np.float64)):
          return float(obj)
      else:
          return super().default(obj)
  
imports: import copy
  import json
  import sys
  from datetime import datetime
  from functools import lru_cache
  from typing import Dict, Optional
  import lightwood
  import numpy
  import pandas
  from type_infer.dtype import dtype
  import mindsdb.interfaces.storage.db
  import mindsdb.utilities.profiler
  from mindsdb.integrations.libs.base import BaseMLEngine
  from mindsdb.interfaces.model.functions import get_model_record
  from mindsdb.interfaces.storage.json import get_json_storage
  from mindsdb.utilities.functions import cast_row_types
  from .functions import run_finetune, run_learn
label_desc: Use image node_id 1 for calling the NumpyJSONEncoder obj's underlying member method code with example usage: obj.default(obj) and returns: obj, float, super