class_docstr: Runner of Bayesian optimization loop. This class wraps the optimization loop around the different handlers.
  :param model: GPyOpt model class.
  :param space: GPyOpt space class.
  :param objective: GPyOpt objective class.
  :param acquisition: GPyOpt acquisition class.
  :param evaluator: GPyOpt evaluator class.
  :param X_init: 2d numpy array containing the initial inputs (one per row) of the model.
  :param Y_init: 2d numpy array containing the initial outputs (one per row) of the model.
  :param cost: GPyOpt cost class (default, none).
  :param normalize_Y: whether to normalize the outputs before performing any optimization (default, True).
  :param model_update_interval: interval of collected observations after which the model is updated (default, 1).
  :param de_duplication: GPyOpt DuplicateManager class. Avoids re-evaluating the objective at previous, pending or infeasible locations (default, False).
docstr: Makes twp plots to evaluate the convergence of the model:
      plot 1: Iterations vs. distance between consecutive selected x's
      plot 2: Iterations vs. the mean of the current model in the selected sample.
  :param filename: name of the file where the plot is saved
docstr_tok: ["Makes","twp","plots","to","evaluate","the","convergence","of","the","model",":","plot","1",":","Iterations","vs.","distance","between","consecutive","selected","x's","plot","2",":","Iterations","vs.","the","mean","of","the","current","model","in","the","selected","sample",".",":","param","filename",":","name","of","the","file","where","the","plot","is","saved"]
code: def plot_convergence(self, filename=None):
      """
      Makes twp plots to evaluate the convergence of the model:
          plot 1: Iterations vs. distance between consecutive selected x's
          plot 2: Iterations vs. the mean of the current model in the selected sample.
      :param filename: name of the file where the plot is saved
      """
      return plot_convergence(self.X, self.Y_best, filename)
  
imports: import GPyOpt
  import collections
  import numpy
  import time
  import csv
  import logging
  from ..util.general import best_value, normalize
  from ..util.duplicate_manager import DuplicateManager
  from ..core.errors import InvalidConfigError
  from ..core.task.cost import CostModel
  from ..optimization.acquisition_optimizer import ContextManager
label_desc: Use image node_id 12 for calling the BO obj's underlying member method code with example usage: obj.plot_convergence(filename) and returns: plot_convergence