#!/usr/bin/env bash set -euo pipefail CONFIG_PATH="config.yaml" CALIBRATION_PATH="examples/training/data/aihub_calibration" INPUT_FILE="examples/training/data/inputs.npz" FROM_STEP="quantize" FROM_JOB="" MODEL_S3_URI="" ONNX_PATH="" INPUT_NAME="" DOWNLOAD=true OUTPUT_PATH="" usage() { cat <&2 usage >&2 exit 1 ;; esac done if [[ ! -f "${CONFIG_PATH}" ]]; then echo "Config not found: ${CONFIG_PATH}" >&2 exit 1 fi case "${FROM_STEP}" in quantize|compile|validate|profile) ;; *) echo "--from-step must be one of: quantize, compile, validate, profile" >&2 exit 1 ;; esac if [[ ! -e "${CALIBRATION_PATH}" ]]; then echo "Calibration path not found: ${CALIBRATION_PATH}" >&2 echo "Pass --calibration with a .npz file or directory of .npy samples." >&2 exit 1 fi if [[ ! -f "${INPUT_FILE}" ]]; then echo "Input file not found: ${INPUT_FILE}" >&2 echo "Pass --input-file with a validation .npz or .npy file." >&2 exit 1 fi run() { echo "+ $*" "$@" } UPLOAD_ARGS=( "${CALIBRATION_PATH}" "${INPUT_FILE}" --from-step "${FROM_STEP}" --config "${CONFIG_PATH}" ) if [[ -n "${FROM_JOB}" ]]; then UPLOAD_ARGS+=(--from-job "${FROM_JOB}") fi if [[ -n "${MODEL_S3_URI}" ]]; then UPLOAD_ARGS+=(--model-s3-uri "${MODEL_S3_URI}") fi if [[ -n "${ONNX_PATH}" ]]; then UPLOAD_ARGS+=(--onnx-path "${ONNX_PATH}") fi if [[ -n "${INPUT_NAME}" ]]; then UPLOAD_ARGS+=(--input-name "${INPUT_NAME}") fi run uv run qc-cli ai-hub upload "${UPLOAD_ARGS[@]}" if [[ "${DOWNLOAD}" == false ]]; then exit 0 fi DOWNLOAD_ARGS=(--config "${CONFIG_PATH}") if [[ -n "${OUTPUT_PATH}" ]]; then DOWNLOAD_ARGS+=(--output "${OUTPUT_PATH}") fi run uv run qc-cli ai-hub download "${DOWNLOAD_ARGS[@]}"