def Model(self,gpu_devices=[0]): ''' User function: Set Model parameters Args: gpu_devices (list): List of GPU Device IDs to be used in training Returns: None ''' num_classes = self.system_dict["local"]["training_set"].num_classes(); efficientdet = EfficientDet(num_classes=num_classes) if self.system_dict["params"]["use_gpu"]: self.system_dict["params"]["gpu_devices"] = gpu_devices if len(self.system_dict["params"]["gpu_devices"])==1: os.environ["CUDA_VISIBLE_DEVICES"] = str(self.system_dict["params"]["gpu_devices"][0]) else: os.environ["CUDA_VISIBLE_DEVICES"] = ','.join([str(id) for id in self.system_dict["params"]["gpu_devices"]]) self.system_dict["local"]["device"] = 'cuda' if torch.cuda.is_available() else 'cpu' efficientdet = efficientdet.to(self.system_dict["local"]["device"]) efficientdet= torch.nn.DataParallel(efficientdet).to(self.system_dict["local"]["device"]) self.system_dict["local"]["model"] = efficientdet; self.system_dict["local"]["model"].train();
def Model(self, model_name="efficientnet-b0", gpu_devices=[0], load_pretrained_model_from=None): ''' User function: Set Model parameters Args: gpu_devices (list): List of GPU Device IDs to be used in training Returns: None ''' if(not load_pretrained_model_from): num_classes = self.system_dict["local"]["training_set"].num_classes(); coeff = int(model_name[-1]) efficientdet = EfficientDet(num_classes=num_classes, compound_coef=coeff, model_name=model_name); if self.system_dict["params"]["use_gpu"]: self.system_dict["params"]["gpu_devices"] = gpu_devices if len(self.system_dict["params"]["gpu_devices"])==1: os.environ["CUDA_VISIBLE_DEVICES"] = str(self.system_dict["params"]["gpu_devices"][0]) else: os.environ["CUDA_VISIBLE_DEVICES"] = ','.join([str(id) for id in self.system_dict["params"]["gpu_devices"]]) self.system_dict["local"]["device"] = 'cuda' if torch.cuda.is_available() else 'cpu' efficientdet = efficientdet.to(self.system_dict["local"]["device"]) efficientdet= torch.nn.DataParallel(efficientdet).to(self.system_dict["local"]["device"]) self.system_dict["local"]["model"] = efficientdet; self.system_dict["local"]["model"].train(); else: efficientdet = torch.load(load_pretrained_model_from).module if self.system_dict["params"]["use_gpu"]: self.system_dict["params"]["gpu_devices"] = gpu_devices if len(self.system_dict["params"]["gpu_devices"])==1: os.environ["CUDA_VISIBLE_DEVICES"] = str(self.system_dict["params"]["gpu_devices"][0]) else: os.environ["CUDA_VISIBLE_DEVICES"] = ','.join([str(id) for id in self.system_dict["params"]["gpu_devices"]]) self.system_dict["local"]["device"] = 'cuda' if torch.cuda.is_available() else 'cpu' efficientdet = efficientdet.to(self.system_dict["local"]["device"]) efficientdet= torch.nn.DataParallel(efficientdet).to(self.system_dict["local"]["device"]) self.system_dict["local"]["model"] = efficientdet; self.system_dict["local"]["model"].train();
def Model(self,gpu_devices=[0]): num_classes = self.system_dict["local"]["training_set"].num_classes(); efficientdet = EfficientDet(num_classes=num_classes) if self.system_dict["params"]["use_gpu"]: self.system_dict["params"]["gpu_devices"] = gpu_devices if len(self.system_dict["params"]["gpu_devices"])==1: os.environ["CUDA_VISIBLE_DEVICES"] = str(self.system_dict["params"]["gpu_devices"][0]) else: os.environ["CUDA_VISIBLE_DEVICES"] = ','.join([str(id) for id in self.system_dict["params"]["gpu_devices"]]) self.system_dict["local"]["device"] = 'cuda' if torch.cuda.is_available() else 'cpu' efficientdet = efficientdet.to(self.system_dict["local"]["device"]) efficientdet= torch.nn.DataParallel(efficientdet).to(self.system_dict["local"]["device"]) self.system_dict["local"]["model"] = efficientdet; self.system_dict["local"]["model"].train();