initial version to train yolo model

This commit is contained in:
2026-06-09 09:15:35 -04:00
parent 5360a482fc
commit 75f66f81c1
4 changed files with 380 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
#!/usr/bin/env bash
set -euo pipefail
WORKSPACE="kemals-workspace-kbc8l"
PROJECT="electric-meter-detection-o4tfi"
VERSION="1"
FORMAT="yolov8"
DATASET_DIR="examples/meter-detection/data/electric-meter-detection"
if [[ -z "${ROBOFLOW_API_KEY:-}" ]]; then
echo "ROBOFLOW_API_KEY is required." >&2
echo "Run: export ROBOFLOW_API_KEY=your-roboflow-api-key" >&2
exit 1
fi
if ! command -v curl >/dev/null 2>&1; then
echo "curl is required." >&2
exit 1
fi
if ! command -v unzip >/dev/null 2>&1; then
echo "unzip is required." >&2
exit 1
fi
TMP_DIR="$(mktemp -d)"
trap 'rm -rf "${TMP_DIR}"' EXIT
API_URL="https://api.roboflow.com/${WORKSPACE}/${PROJECT}/${VERSION}/${FORMAT}?api_key=${ROBOFLOW_API_KEY}"
RESPONSE_FILE="${TMP_DIR}/roboflow-export.json"
ZIP_FILE="${TMP_DIR}/dataset.zip"
echo "Requesting Roboflow export link..."
curl -fsSL "${API_URL}" -o "${RESPONSE_FILE}"
DOWNLOAD_URL="$(
sed -n 's/.*"link"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "${RESPONSE_FILE}" \
| head -n 1 \
| sed 's#\\/#/#g; s#\\u0026#\&#g'
)"
if [[ -z "${DOWNLOAD_URL}" ]]; then
echo "Could not find export.link in Roboflow response." >&2
echo "Response:" >&2
cat "${RESPONSE_FILE}" >&2
exit 1
fi
mkdir -p "${DATASET_DIR}"
echo "Downloading dataset ZIP..."
curl -fL "${DOWNLOAD_URL}" -o "${ZIP_FILE}"
echo "Extracting dataset..."
unzip -q -o "${ZIP_FILE}" -d "${DATASET_DIR}"
echo "Downloaded dataset to ${DATASET_DIR}"