| 266 | |
| 267 | |
| 268 | def parse_args() -> argparse.Namespace: |
| 269 | parser = argparse.ArgumentParser(description="Start a persistent SAM3 HTTP service") |
| 270 | parser.add_argument("--host", default="0.0.0.0", help="Host to bind") |
| 271 | parser.add_argument("--port", type=int, default=8001, help="Port to bind") |
| 272 | parser.add_argument( |
| 273 | "--config", |
| 274 | default=os.path.join(os.path.dirname(__file__), "..", "config", "config.yaml"), |
| 275 | help="Path to config.yaml", |
| 276 | ) |
| 277 | parser.add_argument("--device", default="cuda" if torch.cuda.is_available() else "cpu", help="Device id") |
| 278 | parser.add_argument("--cache-size", type=int, default=2, help="LRU cache size for encoded images") |
| 279 | return parser.parse_args() |
| 280 | |
| 281 | |
| 282 | if __name__ == "__main__": |