def __init__(self, array=None, background=False, sub_sketch_keys=[], _proxy=None): """__init__(array) Construct a new Sketch from an SArray. Parameters ---------- array : SArray Array to sketch. background : boolean, optional If true, run the sketch in background. The the state of the sketch may be queried by calling (:func:`~graphlab.Sketch.sketch_ready`) default is False sub_sketch_keys : list The list of sub sketch to calculate, for SArray of dictionary type. key needs to be a string, for SArray of vector(array) type, the key needs to be positive integer """ _mt._get_metric_tracker().track('sketch.init') if (_proxy): self.__proxy__ = _proxy else: self.__proxy__ = UnitySketchProxy(glconnect.get_client()) if not isinstance(array, SArray): raise TypeError( "Sketch object can only be constructed from SArrays") self.__proxy__.construct_from_sarray(array.__proxy__, background, sub_sketch_keys)
def __init__(self, array=None, background=False, sub_sketch_keys=[], _proxy=None): """__init__(array) Construct a new Sketch from an SArray. Parameters ---------- array : SArray Array to sketch. background : boolean, optional If true, run the sketch in background. The the state of the sketch may be queried by calling (:func:`~graphlab.Sketch.sketch_ready`) default is False sub_sketch_keys : list The list of sub sketch to calculate, for SArray of dictionary type. key needs to be a string, for SArray of vector(array) type, the key needs to be positive integer """ _mt._get_metric_tracker().track('sketch.init') if (_proxy): self.__proxy__ = _proxy else: self.__proxy__ = UnitySketchProxy(glconnect.get_client()) if not isinstance(array, SArray): raise TypeError("Sketch object can only be constructed from SArrays") self.__proxy__.construct_from_sarray(array.__proxy__, background, sub_sketch_keys)
def run(toolkit_name, options, verbose=True, show_progress=False): """ Internal function to execute toolkit on the graphlab server. Parameters ---------- toolkit_name : string The name of the toolkit. options : dict A map containing the required input for the toolkit function, for example: {'graph': g, 'reset_prob': 0.15}. verbose : bool If true, enable progress log from server. show_progress : bool If true, display progress plot. Returns ------- out : dict The toolkit specific model parameters. Raises ------ RuntimeError Raises RuntimeError if the server fail executing the toolkit. """ unity = glconnect.get_unity() if (not verbose): glconnect.get_client().set_log_progress(False) # spawn progress threads server_addr = glconnect.get_server().get_server_addr() splits = server_addr.split(':') protocol = splits[0] hostname = splits[1].split('//')[1] try: start_time = time.time() (success, message, params) = unity.run_toolkit(toolkit_name, options) end_time = time.time() except: raise if (len(message) > 0): logging.getLogger(__name__).error("Toolkit error: " + message) track_props = {} track_props['success'] = success if success: track_props['runtime'] = end_time - start_time else: if (len(message) > 0): track_props['message'] = message metric_name = 'toolkit.%s.executed' % (toolkit_name) _get_metric_tracker().track(metric_name, value=1, properties=track_props, send_sys_info=False) # set the verbose level back to default glconnect.get_client().set_log_progress(True) if success: return params else: raise ToolkitError(str(message))