def __init__(self, optimal_model, ongoing_trials=None, remote=False): self.optimal_model = optimal_model self.ongoing_trials = ongoing_trials self.remote = remote self.num_available_devices = torch.cuda.device_count() self.home_path = optimal_model.data['home_path'] self.dataset_name = optimal_model.data['dataset_name'] self.service_name = 'trainer' if self.ongoing_trials is None else 'trial' self.package_name = 'zazuml' if self.remote: dataset_obj = get_dataset_obj(optimal_model.dataloop) self.dataset_id = dataset_obj.id with open('global_configs.json', 'r') as fp: global_project_name = json.load(fp)['project'] self.project = dl.projects.get(project_name=global_project_name) logger.info('service: ' + self.service_name) self.service = self.project.services.get(service_name=self.service_name) else: self.local_trial_connector = LocalTrialConnector(self.service_name) # TODO: dont convert here if self.optimal_model.name == 'yolov3': if self.optimal_model.data['annotation_type'] == 'coco': self._convert_coco_to_yolo_format() self.optimal_model.data['annotation_type'] = 'yolo'
def __init__(self, optimal_model, ongoing_trials=None, remote=False): self.optimal_model = optimal_model self.ongoing_trials = ongoing_trials self.remote = remote self.num_available_devices = torch.cuda.device_count() self.home_path = optimal_model.data['home_path'] self.dataset_name = optimal_model.data['dataset_name'] self.package_name = 'zazuml' if self.remote: dataset_obj = get_dataset_obj(optimal_model.dataloop) self.project = dl.projects.get(project_id=dataset_obj.projects[0]) self.dataset_id = dataset_obj.id try: self.train_query = optimal_model.dataloop['train_query'] except: self.train_query = dl.Filters().prepare()['filter'] try: # TODO: TRAIN QUERY IS STILL BEING COPPIED try: self.val_query = deepcopy(self.train_query) except: self.val_query = dl.Filters().prepare() self.val_query['filter']['$and'][0][ 'dir'] = optimal_model.dataloop['test_dir'] except: try: self.val_query = optimal_model.dataloop['val_query'] except: self.val_query = dl.Filters().prepare()['filter'] with open('global_configs.json', 'r') as fp: global_project_name = json.load(fp)['project'] self.global_project = dl.projects.get( project_name=global_project_name) # TODO: dont convert here if self.optimal_model.name == 'yolov3': if self.optimal_model.data['annotation_type'] == 'coco': self._convert_coco_to_yolo_format() self.optimal_model.data['annotation_type'] = 'yolo'