code: def load_from_string(self, data):
      if self.model is None:
          thundersvm.model_new.restype = c_void_p
          self.model = thundersvm.model_new(SVM_TYPE.index(self._impl))
          if self.max_mem_size != -1:
              thundersvm.set_memory_size(
                  c_void_p(self.model), self.max_mem_size
              )
      thundersvm.load_from_string_scikit(c_void_p(self.model), data)
      self._post_load_init()
  
imports: from sklearn.base import BaseEstimator
  from sklearn.base import RegressorMixin, ClassifierMixin
  import numpy
  import scipy.sparse
  from sklearn.utils import check_X_y, column_or_1d, check_array
  from sklearn.utils.validation import _num_samples
  from ctypes import *
  from os import path, curdir
  from sys import platform
label_desc: Use image node_id 17 for calling the SvmModel obj's underlying member method code with example usage: obj.load_from_string(data) without return types