mirror of
https://github.com/SikongJueluo/Mini-Nav.git
synced 2026-07-12 20:15:31 +08:00
feat: vectorize CAM retrieval with NumPy and add multi-worker support
- Replace scalar hamming distance with NumPy bitwise_count for batch retrieval - Add ThreadPoolExecutor-based multi-worker query parallelism - Improve missing dataset error message with generation command hint - Increase DEFAULT_MAX_QUERIES from 128 to 8192 for meaningful throughput tests
This commit is contained in:
@@ -24,6 +24,7 @@ from utils import get_device # noqa: E402
|
||||
|
||||
DEFAULT_COMPRESSOR_PATH = Path("outputs/hash_compressor.pt")
|
||||
DEFAULT_OUTPUT_ROOT = Path("outputs/cam_retrieval_benchmark/datasets")
|
||||
DEFAULT_MAX_QUERIES = 8192
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -207,7 +208,7 @@ def prepare_artifact(
|
||||
def main(
|
||||
dataset: Literal["cifar10", "cifar100"] = typer.Option("cifar100"),
|
||||
num_rows: int = typer.Option(512, min=5),
|
||||
max_queries: int = typer.Option(128, min=1),
|
||||
max_queries: int = typer.Option(DEFAULT_MAX_QUERIES, min=1),
|
||||
compressor_path: Path = typer.Option(DEFAULT_COMPRESSOR_PATH),
|
||||
output_root: Path = typer.Option(DEFAULT_OUTPUT_ROOT),
|
||||
dino_model: str = typer.Option("facebook/dinov2-large"),
|
||||
|
||||
Reference in New Issue
Block a user