整合去雾网页工具
This commit is contained in:
58
scripts/verify_all.py
Executable file
58
scripts/verify_all.py
Executable file
@@ -0,0 +1,58 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
import time
|
||||
from pathlib import Path
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
sys.path.insert(0, str(ROOT / "web_dehaze"))
|
||||
|
||||
import pipeline # noqa: E402
|
||||
|
||||
|
||||
DEFAULT_METHODS = ["AOD", "Baidu_API", "DCP", "DehazeNet", "GCANet", "RefineDNet"]
|
||||
|
||||
|
||||
def main() -> int:
|
||||
parser = argparse.ArgumentParser(description="Verify dehaze models through the unified pipeline.")
|
||||
parser.add_argument("--images", nargs="*", help="Image names under 待去雾图片/. Defaults to all images.")
|
||||
parser.add_argument("--methods", nargs="*", default=DEFAULT_METHODS, help="Methods to run.")
|
||||
parser.add_argument("--skip-baidu", action="store_true", help="Skip Baidu API calls.")
|
||||
args = parser.parse_args()
|
||||
|
||||
images = args.images or [item["name"] for item in pipeline.list_images()]
|
||||
methods = [m for m in args.methods if not (args.skip_baidu and m == "Baidu_API")]
|
||||
|
||||
caps = pipeline.capabilities()["methods"]
|
||||
unavailable = [m for m in methods if not caps.get(m, {}).get("available")]
|
||||
if unavailable:
|
||||
print("Unavailable methods:", ", ".join(unavailable))
|
||||
return 2
|
||||
|
||||
failures: list[tuple[str, str, str]] = []
|
||||
for image in images:
|
||||
print(f"\n=== {image} ===")
|
||||
for method in methods:
|
||||
start = time.time()
|
||||
print(f"[RUN] {method}")
|
||||
try:
|
||||
result = pipeline.run_dehaze_method(image, method, {}, print)
|
||||
elapsed = time.time() - start
|
||||
print(f"[OK] {method}: {pipeline.relpath(result)} ({elapsed:.1f}s)")
|
||||
except Exception as exc:
|
||||
failures.append((image, method, str(exc)))
|
||||
print(f"[FAIL] {method}: {exc}")
|
||||
|
||||
if failures:
|
||||
print("\nFailures:")
|
||||
for image, method, error in failures:
|
||||
print(f"- {image} / {method}: {error}")
|
||||
return 1
|
||||
|
||||
print("\nAll requested methods completed successfully.")
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user