feat: initial HSAP platform
Huaxu Sentinel Active Safety Platform with embedded algorithm code, Docker Compose setup, and vendored dataset scaffolds for clone-and-run. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
75
algorithms/lane_ufld/code/CLRNet-main/main.py
Normal file
75
algorithms/lane_ufld/code/CLRNet-main/main.py
Normal file
@@ -0,0 +1,75 @@
|
||||
import os
|
||||
import cv2
|
||||
import torch
|
||||
import torch.nn.parallel
|
||||
import torch.backends.cudnn as cudnn
|
||||
import argparse
|
||||
import numpy as np
|
||||
import random
|
||||
from clrnet.utils.config import Config
|
||||
from clrnet.engine.runner import Runner
|
||||
from clrnet.datasets import build_dataloader
|
||||
|
||||
|
||||
def main():
|
||||
args = parse_args()
|
||||
os.environ["CUDA_VISIBLE_DEVICES"] = ','.join(
|
||||
str(gpu) for gpu in args.gpus)
|
||||
|
||||
cfg = Config.fromfile(args.config)
|
||||
cfg.gpus = len(args.gpus)
|
||||
|
||||
cfg.load_from = args.load_from
|
||||
cfg.resume_from = args.resume_from
|
||||
cfg.finetune_from = args.finetune_from
|
||||
cfg.view = args.view
|
||||
cfg.seed = args.seed
|
||||
|
||||
cfg.work_dirs = args.work_dirs if args.work_dirs else cfg.work_dirs
|
||||
|
||||
cudnn.benchmark = True
|
||||
|
||||
runner = Runner(cfg)
|
||||
|
||||
if args.validate:
|
||||
runner.validate()
|
||||
elif args.test:
|
||||
runner.test()
|
||||
else:
|
||||
runner.train()
|
||||
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser(description='Train a detector')
|
||||
parser.add_argument('config', help='train config file path')
|
||||
parser.add_argument('--work_dirs',
|
||||
type=str,
|
||||
default=None,
|
||||
help='work dirs')
|
||||
parser.add_argument('--load_from',
|
||||
default=None,
|
||||
help='the checkpoint file to load from')
|
||||
parser.add_argument('--resume_from',
|
||||
default=None,
|
||||
help='the checkpoint file to resume from')
|
||||
parser.add_argument('--finetune_from',
|
||||
default=None,
|
||||
help='the checkpoint file to resume from')
|
||||
parser.add_argument('--view', action='store_true', help='whether to view')
|
||||
parser.add_argument(
|
||||
'--validate',
|
||||
action='store_true',
|
||||
help='whether to evaluate the checkpoint during training')
|
||||
parser.add_argument(
|
||||
'--test',
|
||||
action='store_true',
|
||||
help='whether to test the checkpoint on testing set')
|
||||
parser.add_argument('--gpus', nargs='+', type=int, default='0')
|
||||
parser.add_argument('--seed', type=int, default=0, help='random seed')
|
||||
args = parser.parse_args()
|
||||
|
||||
return args
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user