Changed to update image version
ci/woodpecker/push/02-build-push Pipeline was successful

This commit is contained in:
Roman Meshko
2026-05-31 16:34:04 +03:00
parent 5d1b00c8b6
commit cd1a89c495
4 changed files with 7 additions and 7 deletions
@@ -18,7 +18,7 @@ The detection service cannot run on NVIDIA Jetson Orin Nano for two reasons:
## Outcome
- A `Dockerfile.jetson` that builds and runs on Jetson Orin Nano (aarch64, JetPack 6.x)
- A `requirements-jetson.txt` that installs Python dependencies without pip-installing tensorrt or pycuda
- A `requirements-jetson.txt` that installs Python dependencies without pip-installing tensorrt
- A `docker-compose.jetson.yml` with NVIDIA Container Runtime configuration
- `convert_from_source()` in `tensorrt_engine.pyx` extended to accept an optional INT8 calibration cache path — if the cache is present, INT8 is used; otherwise FP16 fallback
- `init_ai()` in `inference.pyx` extended to try downloading the calibration cache from the Loader service before starting the conversion thread
@@ -28,7 +28,7 @@ The detection service cannot run on NVIDIA Jetson Orin Nano for two reasons:
### Included
- `Dockerfile.jetson` using a JetPack 6.x L4T base image with pre-installed TensorRT and PyCUDA
- `requirements-jetson.txt` derived from `requirements.txt`, excluding tensorrt and pycuda
- `requirements-jetson.txt` derived from `requirements.txt`, excluding tensorrt and installing PyCUDA via pip where the JetPack apt package is unavailable
- `docker-compose.jetson.yml` with `runtime: nvidia`
- `tensorrt_engine.pyx`: extend `convert_from_source(bytes onnx_model, str calib_cache_path=None)` — set `INT8` flag and load cache when path is provided; fall back to FP16 when not
- `inference.pyx`: extend `init_ai()` to attempt download of `azaion.int8_calib.cache` from Loader before spawning the conversion thread; pass the local path to `convert_from_source()`
@@ -101,7 +101,7 @@ Note: AC-2, AC-5, AC-6 require physical Jetson hardware and cannot run in standa
## Constraints
- TensorRT and PyCUDA must NOT be pip-installed — provided by JetPack in the base image
- TensorRT must NOT be pip-installed — provided by JetPack in the base image. PyCUDA may be pip-installed on `l4t-jetpack:r36.4.0` because `python3-pycuda` is unavailable in the apt repositories.
- Base image must be a JetPack 6.x L4T image — not a generic CUDA image
- Calibration cache download failure must be non-fatal — log a warning and fall back to FP16
- INT8 conversion and FP16 conversion produce different engine files (different filenames) so cached engines are not confused
@@ -114,7 +114,7 @@ Note: AC-2, AC-5, AC-6 require physical Jetson hardware and cannot run in standa
**Risk 2: PyCUDA availability in base image**
- *Risk*: Some L4T images do not include pycuda
- *Mitigation*: Fall back to `apt-get install python3-pycuda` or source build with `CUDA_ROOT` set
- *Mitigation*: Fall back to pip source build with `CUDA_ROOT` set when no `python3-pycuda` apt package is available
**Risk 3: INT8 accuracy degradation**
- *Risk*: Without a well-representative calibration dataset, mAP may drop >1 point