Skip to content

Commit bf9528d

Browse files
authored
Merge branch 'main' into japrescott/batch-processing-with-cloud-storage
2 parents 36b7e3b + 59e39ab commit bf9528d

File tree

64 files changed

+3594
-513
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3594
-513
lines changed

.github/workflows/docker.jetson.6.2.0.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@ env:
1919
jobs:
2020
docker:
2121
runs-on:
22-
labels: ubuntu-latest
23-
timeout-minutes: 120
22+
labels: depot-ubuntu-24.04-4
23+
group: public-depot
24+
timeout-minutes: 360
2425
permissions:
2526
id-token: write
2627
contents: read

.github/workflows/test.nvidia_t4.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ on:
1818
- paligemma
1919
- florence
2020
- sam2
21+
- sam3
2122
- moondream2
2223

2324
jobs:
@@ -112,6 +113,19 @@ jobs:
112113
- name: 🧹 Cleanup Test Docker - SAM2
113114
if: ${{ github.event.inputs.test_name == '' || github.event.inputs.test_name == 'sam2' }}
114115
run: make stop_test_docker
116+
- name: 🔋 Start Test Docker - SAM3
117+
if: ${{ github.event.inputs.test_name == '' || github.event.inputs.test_name == 'sam3' }}
118+
run: |
119+
PORT=9101 INFERENCE_SERVER_REPO=roboflow-inference-server-gpu make start_test_docker_gpu
120+
- name: 🧪 Regression Tests - SAM3
121+
id: sam3_tests
122+
if: ${{ github.event.inputs.test_name == '' || github.event.inputs.test_name == 'sam3' }}
123+
run: |
124+
source .venv/bin/activate
125+
PORT=9101 API_KEY=${{ secrets.API_KEY }} SKIP_SAM3_TESTS=False python3 -m pytest tests/inference/integration_tests/test_sam3.py
126+
- name: 🧹 Cleanup Test Docker - SAM3
127+
if: ${{ github.event.inputs.test_name == '' || github.event.inputs.test_name == 'sam3' }}
128+
run: make stop_test_docker
115129
# - name: 🔋 Start Test Docker - GPU
116130
# if: ${{ github.event.inputs.test_name == '' || github.event.inputs.test_name == 'qwen25' }}
117131
# run: |

.release/pypi/inference.gpu.setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ def read_requirements(path):
7575
"sam": read_requirements("requirements/requirements.sam.txt"),
7676
"yolo-world": read_requirements("requirements/requirements.yolo_world.txt"),
7777
"transformers": read_requirements("requirements/requirements.transformers.txt"),
78+
"sam3": read_requirements("requirements/requirements.sam3.txt"),
7879
},
7980
classifiers=[
8081
"Development Status :: 5 - Production/Stable",

debugrun.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,7 @@
3737
from multiprocessing import Process
3838

3939

40-
4140
if __name__ == "__main__":
42-
4341
print("Starting Stream Manager...")
4442
stream_manager_process = Process(
4543
target=partial(start, expected_warmed_up_pipelines=0),

docker/dockerfiles/Dockerfile.onnx.cpu

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,6 @@ ENV CORE_MODEL_SAM2_ENABLED=True
8181
ENV CORE_MODEL_OWLV2_ENABLED=True
8282
ENV ENABLE_STREAM_API=True
8383
ENV ENABLE_PROMETHEUS=True
84+
ENV CORE_MODEL_SAM3_ENABLED=False
8485

8586
ENTRYPOINT uvicorn cpu_http:app --workers $NUM_WORKERS --host $HOST --port $PORT

docker/dockerfiles/Dockerfile.onnx.cpu.dev

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,7 @@ ENV CORE_MODEL_SAM2_ENABLED=True
8181
ENV CORE_MODEL_OWLV2_ENABLED=True
8282
ENV ENABLE_STREAM_API=True
8383
ENV ENABLE_PROMETHEUS=True
84+
ENV CORE_MODEL_SAM3_ENABLED=False
85+
8486

8587
ENTRYPOINT watchmedo auto-restart --directory=/app/inference --pattern=*.py --recursive -- uvicorn cpu_http:app --workers $NUM_WORKERS --host $HOST --port $PORT

docker/dockerfiles/Dockerfile.onnx.cpu.parallel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ ENV API_LOGGING_ENABLED=True
8080
ENV CORE_MODEL_SAM2_ENABLED=True
8181
ENV CORE_MODEL_TROCR_ENABLED=false
8282
ENV ENABLE_PROMETHEUS=True
83+
ENV CORE_MODEL_SAM3_ENABLED=False
8384

8485
ENTRYPOINT redis-server --io-threads 3 --save --port $REDIS_PORT & \
8586
celery -A inference.enterprise.parallel.tasks worker --prefetch-multiplier 2 --concurrency $NUM_CELERY_WORKERS -Q pre --loglevel=WARNING & \

docker/dockerfiles/Dockerfile.onnx.cpu.slim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,5 +65,6 @@ ENV WORKFLOWS_MAX_CONCURRENT_STEPS=4
6565
ENV API_LOGGING_ENABLED=True
6666
ENV ENABLE_PROMETHEUS=True
6767
ENV CORE_MODEL_EASYOCR_ENABLED=False
68+
ENV CORE_MODEL_SAM3_ENABLED=False
6869

6970
ENTRYPOINT uvicorn cpu_http:app --workers $NUM_WORKERS --host $HOST --port $PORT

docker/dockerfiles/Dockerfile.onnx.gpu

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
FROM nvcr.io/nvidia/cuda:12.4.1-cudnn-devel-ubuntu22.04 as builder
2-
#has python 3.10
32

43
WORKDIR /app
54

@@ -17,6 +16,7 @@ RUN rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get update -y && DEBIAN_
1716
&& rm -rf /var/lib/apt/lists/*
1817

1918
COPY requirements/requirements.sam.txt \
19+
requirements/requirements.sam3.txt \
2020
requirements/requirements.clip.txt \
2121
requirements/requirements.http.txt \
2222
requirements/requirements.gpu.txt \
@@ -31,16 +31,17 @@ COPY requirements/requirements.sam.txt \
3131
requirements/requirements.modal.txt \
3232
./
3333

34-
RUN python3 -m pip install -U pip
35-
RUN python3 -m pip install \
34+
RUN python3 -m pip install -U pip uv
35+
RUN uv pip install --system \
3636
-r _requirements.txt \
37+
-r requirements.doctr.txt \
3738
-r requirements.sam.txt \
39+
-r requirements.sam3.txt \
3840
-r requirements.clip.txt \
3941
-r requirements.http.txt \
4042
-r requirements.gpu.txt \
4143
-r requirements.gaze.txt \
4244
-r requirements.groundingdino.txt \
43-
-r requirements.doctr.txt \
4445
-r requirements.yolo_world.txt \
4546
-r requirements.transformers.txt \
4647
-r requirements.easyocr.txt \
@@ -66,18 +67,24 @@ COPY --from=builder /usr/local/lib/python3.10 /usr/local/lib/python3.10
6667
COPY --from=builder /usr/local/bin /usr/local/bin
6768

6869
# Install runtime dependencies
69-
RUN rm -rf /var/lib/apt/lists/* && apt-get clean && apt-get update -y && DEBIAN_FRONTEND=noninteractive apt-get install -y \
70-
libxext6 \
71-
libopencv-dev \
72-
uvicorn \
73-
python3-pip \
74-
git \
75-
libgdal-dev \
76-
libvips-dev \
77-
wget \
78-
rustc \
79-
cargo \
80-
&& rm -rf /var/lib/apt/lists/*
70+
ADD https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb /tmp/cuda-keyring.deb
71+
RUN set -eux; \
72+
rm -rf /var/lib/apt/lists/*; apt-get clean; \
73+
dpkg -i /tmp/cuda-keyring.deb || true; \
74+
rm -f /tmp/cuda-keyring.deb; \
75+
apt-get update -y; \
76+
DEBIAN_FRONTEND=noninteractive apt-get install -y \
77+
libxext6 \
78+
libopencv-dev \
79+
uvicorn \
80+
python3-pip \
81+
git \
82+
libgdal-dev \
83+
libvips-dev \
84+
wget \
85+
rustc \
86+
cargo; \
87+
rm -rf /var/lib/apt/lists/*
8188

8289
WORKDIR /build
8390
COPY . .
@@ -102,6 +109,7 @@ ENV WORKFLOWS_MAX_CONCURRENT_STEPS=4
102109
ENV API_LOGGING_ENABLED=True
103110
ENV LMM_ENABLED=True
104111
ENV CORE_MODEL_SAM2_ENABLED=True
112+
ENV CORE_MODEL_SAM3_ENABLED=True
105113
ENV CORE_MODEL_OWLV2_ENABLED=True
106114
ENV ENABLE_STREAM_API=True
107115
ENV ENABLE_PROMETHEUS=True

docker/dockerfiles/Dockerfile.onnx.gpu.dev

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,6 @@ ENV CORE_MODEL_OWLV2_ENABLED=True
8383
ENV ENABLE_STREAM_API=True
8484
ENV ENABLE_PROMETHEUS=True
8585
ENV STREAM_API_PRELOADED_PROCESSES=2
86+
ENV CORE_MODEL_SAM3_ENABLED=True
8687

8788
ENTRYPOINT uvicorn gpu_http:app --workers $NUM_WORKERS --host $HOST --port $PORT

0 commit comments

Comments
 (0)