metadata: name: pth-mmseg-coralscopsegformer namespace: cvat annotations: name: CoralSCOPSegformer type: detector spec: | [ { "name": "Acanthastrea", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Acropora", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Astreopora", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Atrea", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Fungia", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Goniastrea", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Leptastrea", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Merulinidae", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Millepora", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Montastrea", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Montipora", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Other", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Pavona/Leptoseris", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Pocillopora", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Porites", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] }, { "name": "Psammocora", "type": "polygon", "attributes": [ { "name": "confidence", "input_type": "number", "mutable": true, "values": ["0", "100", "1"], "default_value": "100" } ] } ] spec: description: CoralSCOPSegformer (Blackwell Support - PT 2.7 Base) # PyTorch 2.7.0 official images typically use Python 3.11 runtime: 'python:3.11' handler: main:handler eventTimeout: 90s build: image: cvat.pth.mmseg.coralscopsegformer:latest-gpu # Using official PyTorch image with CUDA 12.8 and cuDNN 9 baseImage: pytorch/pytorch:2.7.0-cuda12.8-cudnn9-runtime directives: preCopy: - kind: ENV value: NVIDIA_VISIBLE_DEVICES=all - kind: ENV value: NVIDIA_DRIVER_CAPABILITIES=compute,utility - kind: ENV value: DEBIAN_FRONTEND=noninteractive - kind: ENV value: TORCH_FORCE_NO_WEIGHTS_ONLY_LOAD=1 # avoid compatibility issue with model.load introduced in torch2.6 - kind: RUN value: apt update && apt install -y git libgl1-mesa-glx libglib2.0-0 --no-install-recommends && rm -rf /var/lib/apt/lists/* - kind: WORKDIR value: /opt/nuclio # 1. Install MMCV stack using the specified third-party index # PyTorch and Torchvision are already in the baseImage, so we just add the extensions. # we mention torch==2.7.0 although already present to constrain mmengine and mmsegmentation to not upgrade torch version - kind: RUN value: pip install --extra-index-url https://miropsota.github.io/torch_packages_builder mmcv==2.2.0+pt2.7.0cu128 mmengine mmsegmentation>=1.0.0 torch==2.7.0 # 3. Install DINOv2 with --no-deps to ignore the xformers==0.0.18 requirement - kind: RUN value: pip install git+https://github.com/facebookresearch/dinov2.git --no-deps # 2. Manually install DINOv2's other (non-conflicting) dependencies - kind: RUN value: | pip install \ fvcore==0.1.5.post20221221 \ iopath==0.1.10 \ omegaconf==2.3.0 \ submitit==1.5.1 \ torchmetrics==1.4.0 \ xformers==0.0.30 ftfy regex scikit-learn matplotlib pycocotools - kind: RUN value: sed -i "s/MMCV_MAX = '2.2.0'/MMCV_MAX = '2.3.0'/" /opt/conda/lib/python3.11/site-packages/mmseg/__init__.py triggers: myHttpTrigger: numWorkers: 2 kind: 'http' workerAvailabilityTimeoutMilliseconds: 10000 attributes: maxRequestBodySize: 33554432 resources: limits: nvidia.com/gpu: 1 platform: attributes: restartPolicy: name: always maximumRetryCount: 3 mountMode: volume network: cvat_cvat