skills/roboflow_ray_train/SKILL.md
Download a Roboflow COCO dataset and train a Faster RCNN object detection model using Flyte + Ray Train + PyTorch Lightning on CPU, returning model.pt if accuracy meets the requirement.
npx skillsauth add 0yukali0/my-skills roboflow_ray_trainInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Download a Roboflow COCO dataset, train a Faster RCNN object detection model using Flyte + Ray Train + PyTorch Lightning (CPU), evaluate [email protected], and return model.pt if the accuracy requirement is met.
Use this skill when the user wants to:
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| --roboflow_url | str | Yes | Direct download URL to a Roboflow COCO dataset zip, or a local path to an extracted dataset directory |
| --accuracy_request | float | Yes | Minimum [email protected] threshold (e.g. 0.5 = 50%). The model is only saved if this is met |
| --output | str | No | Output path for model.pt (default: model.pt) |
model.pt — saved to the current directory if [email protected] >= accuracy_requestNone — returned if the accuracy requirement is not satisfiedflyte run --local skill_impl/roboflow_ray_train/roboflow_ray_train.py roboflow_ray_train \
--roboflow_url <url_or_path> \
--accuracy_request <float> \
--output model.pt
roboflow_url (or uses a local path)train and valid/val annotation files in standard Roboflow COCO layoutTorchTrainer + RayDDPStrategy (cluster provisioned via RayJobConfig on Kubernetes, or local Ray in --local mode)model.pt (state dict) and returns the path if [email protected] >= accuracy_request, otherwise returns NoneRoboflow COCO exports typically follow this structure:
dataset/
train/
images/
img1.jpg
...
_annotations.coco.json
valid/
images/
...
_annotations.coco.json
Other common layouts (flat annotations folder, val instead of valid, etc.) are also detected automatically.
flyte (already in pyproject.toml)flyteplugins-ray (already in pyproject.toml)ray[all] (already in pyproject.toml)torchtorchvisionpytorch-lightningrequestsPillowTrain with a remote Roboflow export URL:
flyte run --local skill_impl/roboflow_ray_train/roboflow_ray_train.py roboflow_ray_train \
--roboflow_url "https://app.roboflow.com/ds/XXXXXXXX?key=YOUR_API_KEY" \
--accuracy_request 0.5
Train from a local extracted dataset:
flyte run --local skill_impl/roboflow_ray_train/roboflow_ray_train.py roboflow_ray_train \
--roboflow_url "/data/my_dataset" \
--accuracy_request 0.6 \
--output model.pt
Downloading dataset from https://...
Train annotations: /tmp/.../dataset/train/_annotations.coco.json
Val annotations: /tmp/.../dataset/valid/_annotations.coco.json
(Ray) Starting 2 CPU workers...
Epoch 10/10: train_loss=0.312 ...
Evaluating model ...
[email protected]: 0.5831 (required: 0.5000)
Model saved to model.pt
Or if accuracy is not met:
[email protected]: 0.3214 (required: 0.5000)
Accuracy 0.3214 is below required 0.5000. Returning None.
ScalingConfig(num_workers=2, use_gpu=False))accuracy_request should be between 0.0 and 1.0RayJobConfig provisions an ephemeral KubeRay cluster per execution and tears it down automaticallyWhen running on a distributed Ray cluster (multiple machines), all workers must be able to read the extracted dataset directory. Use a shared network mount (NFS, EFS, etc.) or a distributed object store. For local/single-machine Ray, this is not an issue.
development
This skill should be used when the user wants to visualize data from URLs (CSV or JSON) using interactive charts. Claude fetches the data, analyzes the columns and content, decides the best chart type, generates a Gradio gr.HTML app with Plotly, and verifies the result with Playwright.
development
This skill should be used when the user asks to "查詢台北市/新北市開放資料", "列出台北市/新北市資料集", "台北開放資料有哪些", or wants to browse or filter Taipei/New Taipei Open Data datasets by category.
development
This skill should be used when the user asks to "查詢新北市開放資料", "列出新北市資料集", "新北開放資料有哪些", or wants to browse or filter New Taipei City Open Data datasets by category.
development
This skill should be used when the user asks to "create a mindmap", "generate a mindmap", "draw a mindmap", or wants to visualize structured information as a mindmap diagram.