Update .pre-commit-config.yaml
(#1026)
This commit is contained in:
@ -49,9 +49,9 @@ def test_val_classify():
|
||||
# Predict checks -------------------------------------------------------------------------------------------------------
|
||||
def test_predict_detect():
|
||||
run(f"yolo predict model={MODEL}.pt source={ROOT / 'assets'} imgsz=32")
|
||||
run(f"yolo predict model={MODEL}.pt source=https://ultralytics.com/images/bus.jpg imgsz=32")
|
||||
run(f"yolo predict model={MODEL}.pt source=https://ultralytics.com/assets/decelera_landscape_min.mov imgsz=32")
|
||||
run(f"yolo predict model={MODEL}.pt source=https://ultralytics.com/assets/decelera_portrait_min.mov imgsz=32")
|
||||
run(f'yolo predict model={MODEL}.pt source=https://ultralytics.com/images/bus.jpg imgsz=32')
|
||||
run(f'yolo predict model={MODEL}.pt source=https://ultralytics.com/assets/decelera_landscape_min.mov imgsz=32')
|
||||
run(f'yolo predict model={MODEL}.pt source=https://ultralytics.com/assets/decelera_portrait_min.mov imgsz=32')
|
||||
|
||||
|
||||
def test_predict_segment():
|
||||
|
@ -11,12 +11,12 @@ CFG_SEG = 'yolov8n-seg.yaml'
|
||||
CFG_CLS = 'squeezenet1_0'
|
||||
CFG = get_cfg(DEFAULT_CFG)
|
||||
MODEL = Path(SETTINGS['weights_dir']) / 'yolov8n'
|
||||
SOURCE = ROOT / "assets"
|
||||
SOURCE = ROOT / 'assets'
|
||||
|
||||
|
||||
def test_detect():
|
||||
overrides = {"data": "coco8.yaml", "model": CFG_DET, "imgsz": 32, "epochs": 1, "save": False}
|
||||
CFG.data = "coco8.yaml"
|
||||
overrides = {'data': 'coco8.yaml', 'model': CFG_DET, 'imgsz': 32, 'epochs': 1, 'save': False}
|
||||
CFG.data = 'coco8.yaml'
|
||||
|
||||
# Trainer
|
||||
trainer = detect.DetectionTrainer(overrides=overrides)
|
||||
@ -27,24 +27,24 @@ def test_detect():
|
||||
val(model=trainer.best) # validate best.pt
|
||||
|
||||
# Predictor
|
||||
pred = detect.DetectionPredictor(overrides={"imgsz": [64, 64]})
|
||||
result = pred(source=SOURCE, model=f"{MODEL}.pt")
|
||||
assert len(result), "predictor test failed"
|
||||
pred = detect.DetectionPredictor(overrides={'imgsz': [64, 64]})
|
||||
result = pred(source=SOURCE, model=f'{MODEL}.pt')
|
||||
assert len(result), 'predictor test failed'
|
||||
|
||||
overrides["resume"] = trainer.last
|
||||
overrides['resume'] = trainer.last
|
||||
trainer = detect.DetectionTrainer(overrides=overrides)
|
||||
try:
|
||||
trainer.train()
|
||||
except Exception as e:
|
||||
print(f"Expected exception caught: {e}")
|
||||
print(f'Expected exception caught: {e}')
|
||||
return
|
||||
|
||||
Exception("Resume test failed!")
|
||||
Exception('Resume test failed!')
|
||||
|
||||
|
||||
def test_segment():
|
||||
overrides = {"data": "coco8-seg.yaml", "model": CFG_SEG, "imgsz": 32, "epochs": 1, "save": False}
|
||||
CFG.data = "coco8-seg.yaml"
|
||||
overrides = {'data': 'coco8-seg.yaml', 'model': CFG_SEG, 'imgsz': 32, 'epochs': 1, 'save': False}
|
||||
CFG.data = 'coco8-seg.yaml'
|
||||
CFG.v5loader = False
|
||||
# YOLO(CFG_SEG).train(**overrides) # works
|
||||
|
||||
@ -57,25 +57,25 @@ def test_segment():
|
||||
val(model=trainer.best) # validate best.pt
|
||||
|
||||
# Predictor
|
||||
pred = segment.SegmentationPredictor(overrides={"imgsz": [64, 64]})
|
||||
result = pred(source=SOURCE, model=f"{MODEL}-seg.pt")
|
||||
assert len(result) == 2, "predictor test failed"
|
||||
pred = segment.SegmentationPredictor(overrides={'imgsz': [64, 64]})
|
||||
result = pred(source=SOURCE, model=f'{MODEL}-seg.pt')
|
||||
assert len(result) == 2, 'predictor test failed'
|
||||
|
||||
# Test resume
|
||||
overrides["resume"] = trainer.last
|
||||
overrides['resume'] = trainer.last
|
||||
trainer = segment.SegmentationTrainer(overrides=overrides)
|
||||
try:
|
||||
trainer.train()
|
||||
except Exception as e:
|
||||
print(f"Expected exception caught: {e}")
|
||||
print(f'Expected exception caught: {e}')
|
||||
return
|
||||
|
||||
Exception("Resume test failed!")
|
||||
Exception('Resume test failed!')
|
||||
|
||||
|
||||
def test_classify():
|
||||
overrides = {"data": "mnist160", "model": "yolov8n-cls.yaml", "imgsz": 32, "epochs": 1, "batch": 64, "save": False}
|
||||
CFG.data = "mnist160"
|
||||
overrides = {'data': 'mnist160', 'model': 'yolov8n-cls.yaml', 'imgsz': 32, 'epochs': 1, 'batch': 64, 'save': False}
|
||||
CFG.data = 'mnist160'
|
||||
CFG.imgsz = 32
|
||||
CFG.batch = 64
|
||||
# YOLO(CFG_SEG).train(**overrides) # works
|
||||
@ -89,6 +89,6 @@ def test_classify():
|
||||
val(model=trainer.best)
|
||||
|
||||
# Predictor
|
||||
pred = classify.ClassificationPredictor(overrides={"imgsz": [64, 64]})
|
||||
pred = classify.ClassificationPredictor(overrides={'imgsz': [64, 64]})
|
||||
result = pred(source=SOURCE, model=trainer.best)
|
||||
assert len(result) == 2, "predictor test failed"
|
||||
assert len(result) == 2, 'predictor test failed'
|
||||
|
@ -37,24 +37,24 @@ def test_model_fuse():
|
||||
|
||||
def test_predict_dir():
|
||||
model = YOLO(MODEL)
|
||||
model(source=ROOT / "assets")
|
||||
model(source=ROOT / 'assets')
|
||||
|
||||
|
||||
def test_predict_img():
|
||||
model = YOLO(MODEL)
|
||||
img = Image.open(str(SOURCE))
|
||||
output = model(source=img, save=True, verbose=True) # PIL
|
||||
assert len(output) == 1, "predict test failed"
|
||||
assert len(output) == 1, 'predict test failed'
|
||||
img = cv2.imread(str(SOURCE))
|
||||
output = model(source=img, save=True, save_txt=True) # ndarray
|
||||
assert len(output) == 1, "predict test failed"
|
||||
assert len(output) == 1, 'predict test failed'
|
||||
output = model(source=[img, img], save=True, save_txt=True) # batch
|
||||
assert len(output) == 2, "predict test failed"
|
||||
assert len(output) == 2, 'predict test failed'
|
||||
output = model(source=[img, img], save=True, stream=True) # stream
|
||||
assert len(list(output)) == 2, "predict test failed"
|
||||
assert len(list(output)) == 2, 'predict test failed'
|
||||
tens = torch.zeros(320, 640, 3)
|
||||
output = model(tens.numpy())
|
||||
assert len(output) == 1, "predict test failed"
|
||||
assert len(output) == 1, 'predict test failed'
|
||||
# test multiple source
|
||||
imgs = [
|
||||
SOURCE, # filename
|
||||
@ -64,23 +64,23 @@ def test_predict_img():
|
||||
Image.open(SOURCE), # PIL
|
||||
np.zeros((320, 640, 3))] # numpy
|
||||
output = model(imgs)
|
||||
assert len(output) == 6, "predict test failed!"
|
||||
assert len(output) == 6, 'predict test failed!'
|
||||
|
||||
|
||||
def test_val():
|
||||
model = YOLO(MODEL)
|
||||
model.val(data="coco8.yaml", imgsz=32)
|
||||
model.val(data='coco8.yaml', imgsz=32)
|
||||
|
||||
|
||||
def test_train_scratch():
|
||||
model = YOLO(CFG)
|
||||
model.train(data="coco8.yaml", epochs=1, imgsz=32)
|
||||
model.train(data='coco8.yaml', epochs=1, imgsz=32)
|
||||
model(SOURCE)
|
||||
|
||||
|
||||
def test_train_pretrained():
|
||||
model = YOLO(MODEL)
|
||||
model.train(data="coco8.yaml", epochs=1, imgsz=32)
|
||||
model.train(data='coco8.yaml', epochs=1, imgsz=32)
|
||||
model(SOURCE)
|
||||
|
||||
|
||||
@ -139,10 +139,10 @@ def test_all_model_yamls():
|
||||
|
||||
def test_workflow():
|
||||
model = YOLO(MODEL)
|
||||
model.train(data="coco8.yaml", epochs=1, imgsz=32)
|
||||
model.train(data='coco8.yaml', epochs=1, imgsz=32)
|
||||
model.val()
|
||||
model.predict(SOURCE)
|
||||
model.export(format="onnx") # export a model to ONNX format
|
||||
model.export(format='onnx') # export a model to ONNX format
|
||||
|
||||
|
||||
def test_predict_callback_and_setup():
|
||||
@ -154,8 +154,8 @@ def test_predict_callback_and_setup():
|
||||
bs = [predictor.dataset.bs for _ in range(len(path))]
|
||||
predictor.results = zip(predictor.results, im0s, bs)
|
||||
|
||||
model = YOLO("yolov8n.pt")
|
||||
model.add_callback("on_predict_batch_end", on_predict_batch_end)
|
||||
model = YOLO('yolov8n.pt')
|
||||
model.add_callback('on_predict_batch_end', on_predict_batch_end)
|
||||
|
||||
dataset = load_inference_source(source=SOURCE, transforms=model.transforms)
|
||||
bs = dataset.bs # noqa access predictor properties
|
||||
@ -168,8 +168,8 @@ def test_predict_callback_and_setup():
|
||||
|
||||
|
||||
def test_result():
|
||||
model = YOLO("yolov8n-seg.pt")
|
||||
img = str(ROOT / "assets/bus.jpg")
|
||||
model = YOLO('yolov8n-seg.pt')
|
||||
img = str(ROOT / 'assets/bus.jpg')
|
||||
res = model([img, img])
|
||||
res[0].numpy()
|
||||
res[0].cpu().numpy()
|
||||
|
Reference in New Issue
Block a user