feat: split build into markup and build.

This commit is contained in:
2026-05-31 17:43:24 +03:00
parent b445d66cda
commit 2ac6b0b476
5 changed files with 256 additions and 70 deletions

View File

@@ -4,6 +4,9 @@ param(
[string[]]$SimulationMaps = @("yandex"),
[string[]]$InterframeMethods = @("optical-flow", "orb", "akaze", "sift", "brisk"),
[string[]]$LandmarkMethods = @("orb", "akaze", "sift", "brisk"),
[string[]]$UseSianSimilarityValues = @("false"),
[string[]]$UseGanValues = @("false"),
[string[]]$UseLandmarksValues = @("true"),
[double[]]$RefMinDistances = @(100),
[switch]$UseSianSimilarity,
[switch]$UseGan,
@@ -29,6 +32,29 @@ $Routes = Expand-List $Routes
$SimulationMaps = Expand-List $SimulationMaps
$InterframeMethods = Expand-List $InterframeMethods
$LandmarkMethods = Expand-List $LandmarkMethods
$UseSianSimilarityValues = Expand-List $UseSianSimilarityValues
$UseGanValues = Expand-List $UseGanValues
$UseLandmarksValues = Expand-List $UseLandmarksValues
if ($UseSianSimilarity) {
$UseSianSimilarityValues = @("true")
}
if ($UseGan) {
$UseGanValues = @("true")
}
function Convert-ToBool {
param([string]$Value)
$Normalized = $Value.Trim().ToLowerInvariant()
if ($Normalized -in @("true", "1", "yes", "y", "on")) {
return $true
}
if ($Normalized -in @("false", "0", "no", "n", "off")) {
return $false
}
throw "Не удалось распознать boolean значение: $Value"
}
if ($RouteListPath) {
if (-not (Test-Path $RouteListPath)) {
@@ -59,7 +85,7 @@ if (-not (Test-Path $Python)) {
$Python = "python"
}
$Total = $Routes.Count * $SimulationMaps.Count * $InterframeMethods.Count * $LandmarkMethods.Count * $RefMinDistances.Count
$Total = $Routes.Count * $SimulationMaps.Count * $InterframeMethods.Count * $LandmarkMethods.Count * $UseSianSimilarityValues.Count * $UseGanValues.Count * $UseLandmarksValues.Count * $RefMinDistances.Count
$RunIndex = 0
Write-Host "Batch run started"
@@ -71,32 +97,45 @@ foreach ($Route in $Routes) {
foreach ($RefMinDistance in $RefMinDistances) {
foreach ($InterframeMethod in $InterframeMethods) {
foreach ($LandmarkMethod in $LandmarkMethods) {
$RunIndex += 1
$Args = @(
"main.py",
"--mode", "run",
"--name", $Route,
"--simulation", $SimulationMap,
"--ref-min-distance", "$RefMinDistance",
"--interframe-method", $InterframeMethod,
"--landmark-method", $LandmarkMethod
)
foreach ($UseSianSimilarityValue in $UseSianSimilarityValues) {
foreach ($UseGanValue in $UseGanValues) {
foreach ($UseLandmarksValue in $UseLandmarksValues) {
$SianEnabled = Convert-ToBool $UseSianSimilarityValue
$GanEnabled = Convert-ToBool $UseGanValue
$LandmarksEnabled = Convert-ToBool $UseLandmarksValue
if ($UseSianSimilarity) {
$Args += "--use-sian-similarity"
}
if ($UseGan) {
$Args += "--use-gan"
}
$RunIndex += 1
$Args = @(
"main.py",
"--mode", "run",
"--name", $Route,
"--simulation", $SimulationMap,
"--ref-min-distance", "$RefMinDistance",
"--interframe-method", $InterframeMethod,
"--landmark-method", $LandmarkMethod
)
Write-Host ""
Write-Host "[$RunIndex/$Total] route=$Route simulation=$SimulationMap ref=$RefMinDistance interframe=$InterframeMethod landmark=$LandmarkMethod"
Write-Host "$Python $($Args -join ' ')"
if ($SianEnabled) {
$Args += "--use-sian-similarity"
}
if ($GanEnabled) {
$Args += "--use-gan"
}
if (-not $LandmarksEnabled) {
$Args += "--no-landmarks"
}
if (-not $DryRun) {
& $Python @Args
if ($LASTEXITCODE -ne 0) {
throw "Run failed with exit code $LASTEXITCODE"
Write-Host ""
Write-Host "[$RunIndex/$Total] route=$Route simulation=$SimulationMap ref=$RefMinDistance interframe=$InterframeMethod landmark=$LandmarkMethod landmarks=$LandmarksEnabled sian=$SianEnabled gan=$GanEnabled"
Write-Host "$Python $($Args -join ' ')"
if (-not $DryRun) {
& $Python @Args
if ($LASTEXITCODE -ne 0) {
throw "Run failed with exit code $LASTEXITCODE"
}
}
}
}
}
}