docs: def update_data(self, data):
          """Change the data set in the Somoclu object. It is useful when the
          data is updated and the training should continue on the new data.
  
          :param data: The training data.
          :type data: 2D numpy.array of float32.
          """
          oldn_dim = self.n_dim
          if data.dtype != np.float32:
              print("Warning: data was not float32. A 32-bit copy was made")
              self._data = np.float32(data)
          else:
              self._data = data
          self.n_vectors, self.n_dim = data.shape
          if self.n_dim != oldn_dim and oldn_dim != 0:
              raise Exception("The dimension of the new data does not match!")
          self.bmus = np.zeros(self.n_vectors * 2, dtype=np.intc)