Files
qai-cli/examples/meter-detection/FAIL.md
samirodr c2d3f44498 add
2026-06-09 12:06:49 -04:00

156 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
qc-cli ai-hub upload \
"examples/meter-detection/data/aihub_calibration" \
"examples/meter-detection/data/inputs.npz"
╭────────────────────────────── Traceback (most recent call last) ───────────────────────────────╮
│ /Users/sami/dev/qualcomm/qc-cli/src/commands/ai_hub.py:371 in upload │
│ │
│ 368 │ quantized_model_id: str | None = None │
│ 369 │ compiled_model_id: str | None = None │
│ 370 │ if UploadStep.quantize in selected: │
│ ❱ 371 │ │ quantized_model_id = _quantize_step(cfg, config, calibration_path, from_job, │
│ model_s3_uri, onnx_path) │
│ 372 │ if UploadStep.compile in selected: │
│ 373 │ │ compiled_model_id = _compile_step( │
│ 374 │ │ │ cfg, │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/src/commands/ai_hub.py:142 in _quantize_step │
│ │
│ 139 │ st = state_ops.store(config_path) │
│ 140 │ specs = _input_specs(cfg) │
│ 141 │ try: │
│ ❱ 142 │ │ resolved = resolve_onnx( │
│ 143 │ │ │ cfg=cfg, │
│ 144 │ │ │ output_dir=cfg.aihub.output_dir, │
│ 145 │ │ │ from_job=from_job, │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/src/qualcomm/artifacts.py:69 in resolve_onnx │
│ │
│ 66 │ run_name = job or Path(artifact).name.removesuffix(".tar.gz").replace("/", "-") │
│ 67 │ root = Path(output_dir) / run_name / "source" │
│ 68 │ tar_path = root / "model.tar.gz" │
│ ❱ 69 │ s3_ops.download_file(cfg.aws.region, cfg.aws.profile, artifact, str(tar_path)) │
│ 70 │ │
│ 71 │ extract_dir = root / "extracted" │
│ 72 │ extract_dir.mkdir(parents=True, exist_ok=True) │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/src/aws/s3.py:38 in download_file │
│ │
│ 35 │ │ raise ValueError(f"Expected S3 URI with bucket and key, got: {s3_uri}") │
│ 36 │ dest = Path(local_path) │
│ 37 │ dest.parent.mkdir(parents=True, exist_ok=True) │
│ ❱ 38 │ _client(region, profile).download_file(bucket, key, str(dest)) │
│ 39 │ return str(dest) │
│ 40 │
│ 41 │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/botocore/context.py:123 in │
│ wrapper │
│ │
│ 120 │ │ │ with start_as_current_context(): │
│ 121 │ │ │ │ if hook: │
│ 122 │ │ │ │ │ hook() │
│ ❱ 123 │ │ │ │ return func(*args, **kwargs) │
│ 124 │ │ │
│ 125 │ │ return wrapper │
│ 126 │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/boto3/s3/inject.py:223 in │
│ download_file │
│ │
│ 220 │ │ transfer. │
│ 221 │ """ │
│ 222 │ with S3Transfer(self, Config) as transfer: │
│ ❱ 223 │ │ return transfer.download_file( │
│ 224 │ │ │ bucket=Bucket, │
│ 225 │ │ │ key=Key, │
│ 226 │ │ │ filename=Filename, │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/boto3/s3/transfer.py:406 in │
│ download_file │
│ │
│ 403 │ │ │ bucket, key, filename, extra_args, subscribers │
│ 404 │ │ ) │
│ 405 │ │ try: │
│ ❱ 406 │ │ │ future.result() │
│ 407 │ │ # This is for backwards compatibility where when retries are │
│ 408 │ │ # exceeded we need to throw the same error from boto3 instead of │
│ 409 │ │ # s3transfer's built in RetriesExceededError as current users are │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/s3transfer/futures.py:111 │
│ in result │
│ │
│ 108 │ │ │ # Usually the result() method blocks until the transfer is done, │
│ 109 │ │ │ # however if a KeyboardInterrupt is raised we want want to exit │
│ 110 │ │ │ # out of this and propagate the exception. │
│ ❱ 111 │ │ │ return self._coordinator.result() │
│ 112 │ │ except KeyboardInterrupt as e: │
│ 113 │ │ │ self.cancel() │
│ 114 │ │ │ raise e │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/s3transfer/futures.py:287 │
│ in result │
│ │
│ 284 │ │ # Once done waiting, raise an exception if present or return the │
│ 285 │ │ # final result. │
│ 286 │ │ if self._exception: │
│ ❱ 287 │ │ │ raise self._exception │
│ 288 │ │ return self._result │
│ 289 │ │
│ 290 │ def cancel(self, msg='', exc_type=CancelledError): │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/s3transfer/tasks.py:272 in │
│ _main │
│ │
│ 269 │ │ │ │
│ 270 │ │ │ # Call the submit method to start submitting tasks to execute the │
│ 271 │ │ │ # transfer. │
│ ❱ 272 │ │ │ self._submit(transfer_future=transfer_future, **kwargs) │
│ 273 │ │ except BaseException as e: │
│ 274 │ │ │ # If there was an exception raised during the submission of task │
│ 275 │ │ │ # there is a chance that the final task that signals if a transfer │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/s3transfer/download.py:355 │
│ in _submit │
│ │
│ 352 │ │ │ transfer_future.meta.size is None │
│ 353 │ │ │ or transfer_future.meta.etag is None │
│ 354 │ │ ): │
│ ❱ 355 │ │ │ response = client.head_object( │
│ 356 │ │ │ │ Bucket=transfer_future.meta.call_args.bucket, │
│ 357 │ │ │ │ Key=transfer_future.meta.call_args.key, │
│ 358 │ │ │ │ **transfer_future.meta.call_args.extra_args, │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/botocore/client.py:602 in │
│ _api_call │
│ │
│ 599 │ │ │ │ │ f"{py_operation_name}() only accepts keyword arguments." │
│ 600 │ │ │ │ ) │
│ 601 │ │ │ # The "self" in this scope is referring to the BaseClient. │
│ ❱ 602 │ │ │ return self._make_api_call(operation_name, kwargs) │
│ 603 │ │ │
│ 604 │ │ _api_call.__name__ = str(py_operation_name) │
│ 605 │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/botocore/context.py:123 in │
│ wrapper │
│ │
│ 120 │ │ │ with start_as_current_context(): │
│ 121 │ │ │ │ if hook: │
│ 122 │ │ │ │ │ hook() │
│ ❱ 123 │ │ │ │ return func(*args, **kwargs) │
│ 124 │ │ │
│ 125 │ │ return wrapper │
│ 126 │
│ │
│ /Users/sami/dev/qualcomm/qc-cli/.venv/lib/python3.13/site-packages/botocore/client.py:1078 in │
│ _make_api_call │
│ │
│ 1075 │ │ │ │ 'error_code_override' │
│ 1076 │ │ │ ) or error_info.get("Code") │
│ 1077 │ │ │ error_class = self.exceptions.from_code(error_code) │
│ ❱ 1078 │ │ │ raise error_class(parsed_response, operation_name) │
│ 1079 │ │ else: │
│ 1080 │ │ │ return parsed_response │
│ 1081 │
╰────────────────────────────────────────────────────────────────────────────────────────────────╯
ClientError: An error occurred (404) when calling the HeadObject operation: Not Found