docs: def save(self, path):
          """Save a SOM to a JSON file."""
          to_save = {}
          for x in self.param_names:
              attr = self.__getattribute__(x)
              if type(attr) == np.ndarray:
                  attr = [[float(x) for x in row] for row in attr]
              elif isinstance(attr, types.FunctionType):
                  attr = attr.__name__
              to_save[x] = attr
  
          json.dump(to_save, open(path, 'w'))