BUGFIX: Dataloading CPU bottleneck (#11195)
Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
This commit is contained in:
parent
835100163e
commit
dda7869205
2 changed files with 3 additions and 2 deletions
|
|
@ -20,7 +20,7 @@ from ultralytics.data.loaders import (
|
||||||
autocast_list,
|
autocast_list,
|
||||||
)
|
)
|
||||||
from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS
|
from ultralytics.data.utils import IMG_FORMATS, VID_FORMATS
|
||||||
from ultralytics.utils import RANK, colorstr
|
from ultralytics.utils import NUM_THREADS, RANK, colorstr
|
||||||
from ultralytics.utils.checks import check_file
|
from ultralytics.utils.checks import check_file
|
||||||
|
|
||||||
from .dataset import GroundingDataset, YOLODataset, YOLOMultiModalDataset
|
from .dataset import GroundingDataset, YOLODataset, YOLOMultiModalDataset
|
||||||
|
|
@ -81,6 +81,7 @@ def seed_worker(worker_id): # noqa
|
||||||
worker_seed = torch.initial_seed() % 2**32
|
worker_seed = torch.initial_seed() % 2**32
|
||||||
np.random.seed(worker_seed)
|
np.random.seed(worker_seed)
|
||||||
random.seed(worker_seed)
|
random.seed(worker_seed)
|
||||||
|
os.sched_setaffinity(0, range(NUM_THREADS)) # fix https://github.com/ultralytics/ultralytics/pull/11195
|
||||||
|
|
||||||
|
|
||||||
def build_yolo_dataset(cfg, img_path, batch, data, mode="train", rect=False, stride=32, multi_modal=False):
|
def build_yolo_dataset(cfg, img_path, batch, data, mode="train", rect=False, stride=32, multi_modal=False):
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ FILE = Path(__file__).resolve()
|
||||||
ROOT = FILE.parents[1] # YOLO
|
ROOT = FILE.parents[1] # YOLO
|
||||||
ASSETS = ROOT / "assets" # default images
|
ASSETS = ROOT / "assets" # default images
|
||||||
DEFAULT_CFG_PATH = ROOT / "cfg/default.yaml"
|
DEFAULT_CFG_PATH = ROOT / "cfg/default.yaml"
|
||||||
NUM_THREADS = min(8, max(1, os.cpu_count() - 1)) # number of YOLOv5 multiprocessing threads
|
NUM_THREADS = min(8, max(1, os.cpu_count() - 1)) # number of YOLO multiprocessing threads
|
||||||
AUTOINSTALL = str(os.getenv("YOLO_AUTOINSTALL", True)).lower() == "true" # global auto-install mode
|
AUTOINSTALL = str(os.getenv("YOLO_AUTOINSTALL", True)).lower() == "true" # global auto-install mode
|
||||||
VERBOSE = str(os.getenv("YOLO_VERBOSE", True)).lower() == "true" # global verbose mode
|
VERBOSE = str(os.getenv("YOLO_VERBOSE", True)).lower() == "true" # global verbose mode
|
||||||
TQDM_BAR_FORMAT = "{l_bar}{bar:10}{r_bar}" if VERBOSE else None # tqdm bar format
|
TQDM_BAR_FORMAT = "{l_bar}{bar:10}{r_bar}" if VERBOSE else None # tqdm bar format
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue