def __init__(self, opt_path=None, *args, **kwargs): Algo.__init__(self, *args, **kwargs) BPRMFOption.__init__(self, *args, **kwargs) Evaluable.__init__(self, *args, **kwargs) Serializable.__init__(self, *args, **kwargs) Optimizable.__init__(self, *args, **kwargs) if opt_path is None: opt_path = BPRMFOption().get_default_option() self.logger = log.get_logger('BPRMF') self.opt, self.opt_path = self.get_option(opt_path) self.obj = CyBPRMF() assert self.obj.init(bytes(self.opt_path, 'utf-8')),\ 'cannot parse option file: %s' % opt_path self.data = None data = kwargs.get('data') data_opt = self.opt.get('data_opt') data_opt = kwargs.get('data_opt', data_opt) if data_opt: self.data = buffalo.data.load(data_opt) self.data.create() elif isinstance(data, Data): self.data = data self.logger.info('BPRMF(%s)' % json.dumps(self.opt, indent=2)) if self.data: self.logger.info(self.data.show_info()) assert self.data.data_type in ['matrix']
def __init__(self, opt_path=None, *args, **kwargs): Algo.__init__(self, *args, **kwargs) BPRMFOption.__init__(self, *args, **kwargs) Evaluable.__init__(self, *args, **kwargs) Serializable.__init__(self, *args, **kwargs) Optimizable.__init__(self, *args, **kwargs) if opt_path is None: opt_path = BPRMFOption().get_default_option() self.logger = log.get_logger('BPRMF') self.opt, self.opt_path = self.get_option(opt_path) if self.opt.accelerator and not inited_CUBPR: self.logger.error(f"ImportError CuBPRMF, no cuda library exists.") raise RuntimeError() self.obj = CuBPRMF() if self.opt.accelerator else CyBPRMF() assert self.obj.init(bytes(self.opt_path, 'utf-8')),\ 'cannot parse option file: %s' % opt_path self.data = None data = kwargs.get('data') data_opt = self.opt.get('data_opt') data_opt = kwargs.get('data_opt', data_opt) if data_opt: self.data = buffalo.data.load(data_opt) self.data.create() elif isinstance(data, Data): self.data = data self.logger.info('BPRMF(%s)' % json.dumps(self.opt, indent=2)) if self.data: self.logger.info(self.data.show_info()) assert self.data.data_type in ['matrix']