mirror of
https://github.com/THU-MIG/yolov10.git
synced 2025-05-23 21:44:22 +08:00
Model enhancements 2 (#109)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
This commit is contained in:
parent
8406b49b49
commit
0303ced8ab
@ -112,8 +112,9 @@ class YOLO:
|
|||||||
source (str): Accepts all source types accepted by yolo
|
source (str): Accepts all source types accepted by yolo
|
||||||
**kwargs : Any other args accepted by the predictors. Too see all args check 'configuration' section in the docs
|
**kwargs : Any other args accepted by the predictors. Too see all args check 'configuration' section in the docs
|
||||||
"""
|
"""
|
||||||
kwargs.update(self.overrides)
|
overrides = self.overrides.copy()
|
||||||
predictor = self.PredictorClass(overrides=kwargs)
|
overrides.update(kwargs)
|
||||||
|
predictor = self.PredictorClass(overrides=overrides)
|
||||||
|
|
||||||
# check size type
|
# check size type
|
||||||
sz = predictor.args.imgsz
|
sz = predictor.args.imgsz
|
||||||
@ -136,8 +137,9 @@ class YOLO:
|
|||||||
if not self.model:
|
if not self.model:
|
||||||
raise Exception("model not initialized!")
|
raise Exception("model not initialized!")
|
||||||
|
|
||||||
kwargs.update(self.overrides)
|
overrides = self.overrides.copy()
|
||||||
args = get_config(config=DEFAULT_CONFIG, overrides=kwargs)
|
overrides.update(kwargs)
|
||||||
|
args = get_config(config=DEFAULT_CONFIG, overrides=overrides)
|
||||||
args.data = data or args.data
|
args.data = data or args.data
|
||||||
args.task = self.task
|
args.task = self.task
|
||||||
|
|
||||||
|
@ -46,7 +46,9 @@ class BasePredictor:
|
|||||||
|
|
||||||
def __init__(self, config=DEFAULT_CONFIG, overrides={}):
|
def __init__(self, config=DEFAULT_CONFIG, overrides={}):
|
||||||
self.args = get_config(config, overrides)
|
self.args = get_config(config, overrides)
|
||||||
self.save_dir = increment_path(Path(self.args.project) / self.args.name, exist_ok=self.args.exist_ok)
|
project = overrides.get("project") or self.args.task
|
||||||
|
name = overrides.get("name") or self.args.mode
|
||||||
|
self.save_dir = increment_path(Path("runs") / project / name, exist_ok=self.args.exist_ok)
|
||||||
(self.save_dir / 'labels' if self.args.save_txt else self.save_dir).mkdir(parents=True, exist_ok=True)
|
(self.save_dir / 'labels' if self.args.save_txt else self.save_dir).mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
self.done_setup = False
|
self.done_setup = False
|
||||||
@ -84,18 +86,6 @@ class BasePredictor:
|
|||||||
if is_url and is_file:
|
if is_url and is_file:
|
||||||
source = check_file(source) # download
|
source = check_file(source) # download
|
||||||
|
|
||||||
# data
|
|
||||||
if self.data:
|
|
||||||
try:
|
|
||||||
if self.data.endswith(".yaml"):
|
|
||||||
self.data = check_dataset_yaml(self.data)
|
|
||||||
else:
|
|
||||||
self.data = check_dataset(self.data)
|
|
||||||
except AssertionError as e:
|
|
||||||
LOGGER.info(f"Error ocurred: {e}")
|
|
||||||
finally:
|
|
||||||
LOGGER.info("Predictor will continue without reading the dataset")
|
|
||||||
|
|
||||||
# model
|
# model
|
||||||
device = select_device(self.args.device)
|
device = select_device(self.args.device)
|
||||||
model = model or self.args.model
|
model = model or self.args.model
|
||||||
|
@ -31,8 +31,11 @@ class BaseValidator:
|
|||||||
self.training = True
|
self.training = True
|
||||||
self.speed = None
|
self.speed = None
|
||||||
self.jdict = None
|
self.jdict = None
|
||||||
self.save_dir = save_dir if save_dir is not None else \
|
|
||||||
increment_path(Path(self.args.project) / self.args.name, exist_ok=self.args.exist_ok)
|
project = self.args.project if self.args.project != "runs/train" else self.args.task
|
||||||
|
name = self.args.name if self.args.name != "exp" else self.args.mode
|
||||||
|
self.save_dir = increment_path(Path("runs") / project / name, exist_ok=self.args.exist_ok)
|
||||||
|
(self.save_dir / 'labels' if self.args.save_txt else self.save_dir).mkdir(parents=True, exist_ok=True)
|
||||||
|
|
||||||
@smart_inference_mode()
|
@smart_inference_mode()
|
||||||
def __call__(self, trainer=None, model=None):
|
def __call__(self, trainer=None, model=None):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user