Fix Ray 2.7.0 breaking changes (#4964)
This commit is contained in:
parent
742ec7fb1d
commit
0cf82f5040
5 changed files with 15 additions and 13 deletions
|
|
@ -392,17 +392,17 @@ class Model(nn.Module):
|
|||
"""Clear all event callbacks."""
|
||||
self.callbacks[event] = []
|
||||
|
||||
def reset_callbacks(self):
|
||||
"""Reset all registered callbacks."""
|
||||
for event in callbacks.default_callbacks.keys():
|
||||
self.callbacks[event] = [callbacks.default_callbacks[event][0]]
|
||||
|
||||
@staticmethod
|
||||
def _reset_ckpt_args(args):
|
||||
"""Reset arguments when loading a PyTorch model."""
|
||||
include = {'imgsz', 'data', 'task', 'single_cls'} # only remember these arguments when loading a PyTorch model
|
||||
return {k: v for k, v in args.items() if k in include}
|
||||
|
||||
def _reset_callbacks(self):
|
||||
"""Reset all registered callbacks."""
|
||||
for event in callbacks.default_callbacks.keys():
|
||||
self.callbacks[event] = [callbacks.default_callbacks[event][0]]
|
||||
|
||||
# def __getattr__(self, attr):
|
||||
# """Raises error if object has no requested attribute."""
|
||||
# name = self.__class__.__name__
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@
|
|||
|
||||
import subprocess
|
||||
|
||||
from ultralytics.cfg import TASK2DATA, TASK2METRIC
|
||||
from ultralytics.utils import DEFAULT_CFG_DICT, LOGGER, NUM_THREADS
|
||||
from ultralytics.cfg import TASK2DATA, TASK2METRIC, get_save_dir
|
||||
from ultralytics.utils import DEFAULT_CFG, DEFAULT_CFG_DICT, LOGGER, NUM_THREADS
|
||||
|
||||
|
||||
def run_ray_tune(model,
|
||||
|
|
@ -93,9 +93,10 @@ def run_ray_tune(model,
|
|||
Returns:
|
||||
None.
|
||||
"""
|
||||
model._reset_callbacks()
|
||||
model.reset_callbacks()
|
||||
config.update(train_args)
|
||||
model.train(**config)
|
||||
results = model.train(**config)
|
||||
return results.results_dict
|
||||
|
||||
# Get search space
|
||||
if not space:
|
||||
|
|
@ -123,10 +124,12 @@ def run_ray_tune(model,
|
|||
tuner_callbacks = [WandbLoggerCallback(project='YOLOv8-tune')] if wandb else []
|
||||
|
||||
# Create the Ray Tune hyperparameter search tuner
|
||||
tune_dir = get_save_dir(DEFAULT_CFG, name='tune')
|
||||
tune_dir.mkdir(parents=True, exist_ok=True)
|
||||
tuner = tune.Tuner(trainable_with_resources,
|
||||
param_space=space,
|
||||
tune_config=tune.TuneConfig(scheduler=asha_scheduler, num_samples=max_samples),
|
||||
run_config=RunConfig(callbacks=tuner_callbacks, storage_path='./runs/tune'))
|
||||
run_config=RunConfig(callbacks=tuner_callbacks, storage_path=tune_dir))
|
||||
|
||||
# Run the hyperparameter search
|
||||
tuner.fit()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue