coralscopsegformer / function.yaml
taiamiti's picture
Upload 28 files
48a4919 verified
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