code: def from_dict(input_dict):
          
  
          import copy
          input_dict = copy.deepcopy(input_dict)
          inference_class = input_dict.pop('class')
          import GPy
          inference_class = eval(inference_class)
          return inference_class._build_from_input_dict(inference_class, input_dict)
docs: Instantiate an object of a derived class using the information
          in input_dict (built by the to_dict method of the derived class).
          More specifically, after reading the derived class from input_dict,
          it calls the method _build_from_input_dict of the derived class.
          Note: This method should not be overrided in the derived class. In case
          it is needed, please override _build_from_input_dict instate.
  
          :param dict input_dict: Dictionary with all the information needed to
             instantiate the object.