mirror of
https://github.com/azaion/detections.git
synced 2026-06-21 08:21:08 +00:00
Compare commits
6 Commits
dev
...
509c8be4c0
| Author | SHA1 | Date | |
|---|---|---|---|
| 509c8be4c0 | |||
| 05d903bac5 | |||
| b8ebf0f15d | |||
| 81d241785c | |||
| 0ebfd8e9a4 | |||
| e1e1cf02eb |
+3
-1
@@ -15,4 +15,6 @@ __pycache__
|
|||||||
.pytest_cache
|
.pytest_cache
|
||||||
.git
|
.git
|
||||||
*.md
|
*.md
|
||||||
scripts
|
scripts/*
|
||||||
|
!scripts/jetson/
|
||||||
|
!scripts/jetson/generate_int8_cache.py
|
||||||
|
|||||||
@@ -36,15 +36,25 @@ steps:
|
|||||||
from_secret: registry_token
|
from_secret: registry_token
|
||||||
commands:
|
commands:
|
||||||
- echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_HOST" -u "$REGISTRY_USER" --password-stdin
|
- echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_HOST" -u "$REGISTRY_USER" --password-stdin
|
||||||
- export TAG=${CI_COMMIT_BRANCH}-${TAG_SUFFIX}
|
|
||||||
- export BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
||||||
- |
|
- |
|
||||||
|
RAW_BRANCH="$CI_COMMIT_BRANCH"
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_BRANCH"; fi
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$CI_COMMIT_REF"; fi
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_REF"; fi
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="manual"; fi
|
||||||
|
SAFE_BRANCH=$(printf '%s' "$RAW_BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')
|
||||||
|
if [ -z "$SAFE_BRANCH" ]; then SAFE_BRANCH="manual"; fi
|
||||||
|
TAG="$SAFE_BRANCH-$TAG_SUFFIX"
|
||||||
|
BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||||
|
echo "RAW_BRANCH=$RAW_BRANCH"
|
||||||
|
echo "SAFE_BRANCH=$SAFE_BRANCH"
|
||||||
|
echo "TAG=$TAG"
|
||||||
docker build -f ${DOCKERFILE} \
|
docker build -f ${DOCKERFILE} \
|
||||||
--build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA \
|
--build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA \
|
||||||
--label org.opencontainers.image.revision=$CI_COMMIT_SHA \
|
--label org.opencontainers.image.revision=$CI_COMMIT_SHA \
|
||||||
--label org.opencontainers.image.created=$BUILD_DATE \
|
--label org.opencontainers.image.created=$BUILD_DATE \
|
||||||
--label org.opencontainers.image.source=$CI_REPO_URL \
|
--label org.opencontainers.image.source=$CI_REPO_URL \
|
||||||
-t $REGISTRY_HOST/azaion/detections:$TAG .
|
-t $REGISTRY_HOST/azaion/detections:$TAG .
|
||||||
- docker push $REGISTRY_HOST/azaion/detections:$TAG
|
docker push $REGISTRY_HOST/azaion/detections:$TAG
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|||||||
@@ -0,0 +1,41 @@
|
|||||||
|
when:
|
||||||
|
- event: [manual]
|
||||||
|
evaluate: 'BUILD_JETSON_TRT104 == "1"'
|
||||||
|
|
||||||
|
labels:
|
||||||
|
platform: arm64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build-push-jetson-trt104
|
||||||
|
image: docker
|
||||||
|
environment:
|
||||||
|
REGISTRY_HOST:
|
||||||
|
from_secret: registry_host
|
||||||
|
REGISTRY_USER:
|
||||||
|
from_secret: registry_user
|
||||||
|
REGISTRY_TOKEN:
|
||||||
|
from_secret: registry_token
|
||||||
|
commands:
|
||||||
|
- echo "$REGISTRY_TOKEN" | docker login "$REGISTRY_HOST" -u "$REGISTRY_USER" --password-stdin
|
||||||
|
- |
|
||||||
|
RAW_BRANCH="$CI_COMMIT_BRANCH"
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_BRANCH"; fi
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$CI_COMMIT_REF"; fi
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="$WOODPECKER_COMMIT_REF"; fi
|
||||||
|
if [ -z "$RAW_BRANCH" ]; then RAW_BRANCH="manual"; fi
|
||||||
|
SAFE_BRANCH=$(printf '%s' "$RAW_BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')
|
||||||
|
if [ -z "$SAFE_BRANCH" ]; then SAFE_BRANCH="manual"; fi
|
||||||
|
TAG="$SAFE_BRANCH-arm-trt104"
|
||||||
|
BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
||||||
|
echo "RAW_BRANCH=$RAW_BRANCH"
|
||||||
|
echo "SAFE_BRANCH=$SAFE_BRANCH"
|
||||||
|
echo "TAG=$TAG"
|
||||||
|
docker build -f Dockerfile.jetson.trt104 \
|
||||||
|
--build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA \
|
||||||
|
--label org.opencontainers.image.revision=$CI_COMMIT_SHA \
|
||||||
|
--label org.opencontainers.image.created=$BUILD_DATE \
|
||||||
|
--label org.opencontainers.image.source=$CI_REPO_URL \
|
||||||
|
-t $REGISTRY_HOST/azaion/detections:$TAG .
|
||||||
|
docker push $REGISTRY_HOST/azaion/detections:$TAG
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
FROM nvcr.io/nvidia/tensorrt:24.09-py3-igpu
|
||||||
|
ARG CI_COMMIT_SHA=unknown
|
||||||
|
ENV AZAION_REVISION=$CI_COMMIT_SHA
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
python3 python3-pip python3-dev gcc \
|
||||||
|
libgl1 libglib2.0-0 \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY requirements.txt requirements-jetson.txt ./
|
||||||
|
RUN pip3 install --no-cache-dir -r requirements-jetson.txt
|
||||||
|
COPY . .
|
||||||
|
RUN BUILD_TENSORRT_EXTENSIONS=1 python3 setup.py build_ext --inplace
|
||||||
|
ENV PYTHONPATH=/app/src
|
||||||
|
RUN adduser --disabled-password --no-create-home --gecos "" appuser \
|
||||||
|
&& mkdir -p /app/Logs \
|
||||||
|
&& chown -R appuser /app
|
||||||
|
USER appuser
|
||||||
|
EXPOSE 8080
|
||||||
|
CMD ["python3", "-m", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"]
|
||||||
@@ -139,6 +139,21 @@ Already exists: `e2e/docker-compose.test.yml`. No changes needed — supports bo
|
|||||||
docker compose -f docker-compose.jetson.yml up
|
docker compose -f docker-compose.jetson.yml up
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### detections-jetson-trt104 (Dockerfile.jetson.trt104)
|
||||||
|
|
||||||
|
Experimental INT8 calibration image for Jetson Orin devices. It uses NVIDIA's TensorRT iGPU container:
|
||||||
|
|
||||||
|
| Aspect | Specification |
|
||||||
|
|--------|--------------|
|
||||||
|
| Base image | `nvcr.io/nvidia/tensorrt:24.09-py3-igpu` |
|
||||||
|
| TensorRT | TensorRT 10.4.0.26 |
|
||||||
|
| Purpose | Work around TensorRT 10.3 INT8 calibration failures such as `checkSanity.cpp::checkLinks` / `Graph::regions` internal errors |
|
||||||
|
|
||||||
|
Build/tag example:
|
||||||
|
```bash
|
||||||
|
docker build -f Dockerfile.jetson.trt104 -t <registry>/azaion/detections:dev-arm-trt104 .
|
||||||
|
```
|
||||||
|
|
||||||
## Image Tagging Strategy
|
## Image Tagging Strategy
|
||||||
|
|
||||||
| Context | Tag Format | Example |
|
| Context | Tag Format | Example |
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ COMPOSE="${COMPOSE:-docker compose -f docker-compose.test.yml --profile jetson}"
|
|||||||
REGISTRY_HOST="${REGISTRY_HOST:?REGISTRY_HOST is required}"
|
REGISTRY_HOST="${REGISTRY_HOST:?REGISTRY_HOST is required}"
|
||||||
ENGINE_REPOSITORY="${JETSON_ENGINE_REPOSITORY:-$REGISTRY_HOST/azaion/detections-jetson-engine}"
|
ENGINE_REPOSITORY="${JETSON_ENGINE_REPOSITORY:-$REGISTRY_HOST/azaion/detections-jetson-engine}"
|
||||||
BRANCH="${CI_COMMIT_BRANCH:-local}"
|
BRANCH="${CI_COMMIT_BRANCH:-local}"
|
||||||
ENGINE_TAG="${JETSON_ENGINE_TAG:-$(printf '%s' "$BRANCH" | tr -c 'A-Za-z0-9_.-' '-')}"
|
default_tag="$(printf '%s' "$BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')"
|
||||||
|
default_tag="${default_tag:-local}"
|
||||||
|
ENGINE_TAG="${JETSON_ENGINE_TAG:-$default_tag}"
|
||||||
OUT_DIR="${JETSON_ENGINE_OUT_DIR:-results/jetson-engine}"
|
OUT_DIR="${JETSON_ENGINE_OUT_DIR:-results/jetson-engine}"
|
||||||
|
|
||||||
mkdir -p "$OUT_DIR/models"
|
mkdir -p "$OUT_DIR/models"
|
||||||
|
|||||||
@@ -8,7 +8,9 @@ fi
|
|||||||
|
|
||||||
ENGINE_REPOSITORY="${JETSON_ENGINE_REPOSITORY:-$REGISTRY_HOST/azaion/detections-jetson-engine}"
|
ENGINE_REPOSITORY="${JETSON_ENGINE_REPOSITORY:-$REGISTRY_HOST/azaion/detections-jetson-engine}"
|
||||||
BRANCH="${CI_COMMIT_BRANCH:-local}"
|
BRANCH="${CI_COMMIT_BRANCH:-local}"
|
||||||
ENGINE_TAG="${JETSON_ENGINE_TAG:-$(printf '%s' "$BRANCH" | tr -c 'A-Za-z0-9_.-' '-')}"
|
default_tag="$(printf '%s' "$BRANCH" | sed 's#^refs/heads/##; s#^refs/tags/##; s#[^A-Za-z0-9_.-]#-#g; s#^-*##; s#-*$##')"
|
||||||
|
default_tag="${default_tag:-local}"
|
||||||
|
ENGINE_TAG="${JETSON_ENGINE_TAG:-$default_tag}"
|
||||||
TARGET_DIR="${JETSON_ENGINE_TARGET_DIR:-fixtures/models}"
|
TARGET_DIR="${JETSON_ENGINE_TARGET_DIR:-fixtures/models}"
|
||||||
image="$ENGINE_REPOSITORY:$ENGINE_TAG"
|
image="$ENGINE_REPOSITORY:$ENGINE_TAG"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user