Expand regional corpus and aerial finetuning controls
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-27 06:19:11 +02:00
parent 8a4a995659
commit 2316ff28f5
6 changed files with 105 additions and 2 deletions
+23 -1
View File
@@ -42,8 +42,13 @@ def training_command(
workers: int,
max_det: int = 1000,
imgsz: int = 640,
optimizer: str = "auto",
lr0: float | None = None,
mosaic: float = 1.0,
scale: float = 0.5,
translate: float = 0.1,
) -> list[str]:
return [
command = [
yolo,
"train",
f"model={model}",
@@ -57,12 +62,19 @@ def training_command(
"cache=disk",
"close_mosaic=20",
f"max_det={max_det}",
f"optimizer={optimizer}",
f"mosaic={mosaic}",
f"scale={scale}",
f"translate={translate}",
f"seed={seed}",
"deterministic=True",
f"project={project}",
f"name={name}",
"exist_ok=True",
]
if lr0 is not None:
command.append(f"lr0={lr0}")
return command
def run(command: list[str], log_path: Path | None = None, *, allowed: set[int] = {0}) -> int:
@@ -93,6 +105,11 @@ def main() -> int:
parser.add_argument("--workers", type=int, default=4)
parser.add_argument("--max-det", type=int, default=1000)
parser.add_argument("--imgsz", type=int, default=640)
parser.add_argument("--optimizer", default="auto")
parser.add_argument("--lr0", type=float)
parser.add_argument("--mosaic", type=float, default=1.0)
parser.add_argument("--scale", type=float, default=0.5)
parser.add_argument("--translate", type=float, default=0.1)
parser.add_argument("--seed", type=int, default=20260731)
parser.add_argument("--yolo", default="yolo")
parser.add_argument("--dry-run", action="store_true")
@@ -140,6 +157,11 @@ def main() -> int:
workers=args.workers,
max_det=args.max_det,
imgsz=args.imgsz,
optimizer=args.optimizer,
lr0=args.lr0,
mosaic=args.mosaic,
scale=args.scale,
translate=args.translate,
)
if args.dry_run:
print(json.dumps({"training_command": command}, indent=2))