Train EdgeCrafter
Overview
Fine-tunes an EdgeCrafter detector or instance segmenter from your workspace registry on OvalBee datasets, and registers the result as a new version of that model. The node converts the datasets to COCO itself, so nothing has to prepare a directory for it first.
The model you pick decides the task: an ECDet architecture trains detection on boxes, an ECSeg one instance segmentation on masks. The architectures target edge deployment, where a smaller model that keeps up with the camera beats a larger one that does not. All EdgeCrafter checkpoints are under EdgeCrafter’s own license: free for research, while commercial use needs a separate grant.
During training the node publishes a live report with training status, loss and metric charts, class information, checkpoints, TensorBoard data, and a prediction gallery. The Best mAP badge shows the best validation mAP50-95 reached: box mAP for detection, mask mAP for segmentation.
Pretrained Models
- EdgeCrafter ECDet-S
- EdgeCrafter ECDet-M
- EdgeCrafter ECDet-L
- EdgeCrafter ECDet-X
- EdgeCrafter ECSeg-S
- EdgeCrafter ECSeg-M
- EdgeCrafter ECSeg-L
- EdgeCrafter ECSeg-X
Prerequisites
What the node builds from your datasets
Both datasets are converted in one pass so the two splits share a class index space. The tree lives in the task’s own storage and is rebuilt on every run.
How it works
Downloads both datasets and converts them to COCO, with instance masks when the picked model is a segmentation one.
Loads the starting weights: the picked version’s own checkpoint, or the public COCO weights of its architecture for a catalog model.
Checks and prepares the annotations, then builds the training config from the architecture, the class count, and your Hyperparameters.
FAQ
Do I need a conversion step before this node?
No. Point Train dataset at the dataset you want to train on and the node handles the conversion.
What happens when I rerun the node?
Every run adds a new version to the model, or to Destination model when one is set. Earlier versions stay in the registry and the source datasets aren’t changed. When Model names the model itself rather than a pinned version, it follows the newest ready version, so a rerun that trains into the same model continues from the previous run’s result.
Where do the trained files end up?
On the new model version: the best and last checkpoints, each carrying the class list, plus the training config, the training log, and your hyperparameters. The version also records the class list, both datasets, the version training started from, the training report, and the last epoch’s metrics: mAP50 and mAP50-95 for detection, mask mAP50 and mask mAP50-95 for segmentation.
What happens if training fails partway through?
The version receives the latest best and last checkpoints about every two minutes, so a run that fails keeps what it uploaded. Its version is marked failed and isn’t offered in the model pickers. If uploading fails five times in a row, the node stops training rather than carry on with no way to save the result.
What changes between the two task types?
Detection predicts boxes and segmentation predicts per-instance masks, which needs mask annotations in the datasets and costs more to train and to evaluate. The task follows the picked architecture, so switching task means picking an ECSeg model instead of an ECDet one, or the other way round.
Why does validation run only every few epochs?
Evaluate every N epochs defaults to 5, because segmentation evaluation upsamples every predicted mask to full resolution and can cost more than the epoch it follows. The final epoch is always evaluated. Set it to 1 to evaluate after every epoch.
Why did the run fail right at the start?
Usually the datasets, the model, or the config. The datasets have to carry annotations with class names, and a segmentation model needs masks, not only boxes. The picked version has to name one of the EdgeCrafter architectures listed above, and Hyperparameters has to be YAML whose keys the trainer accepts.
Inputs
Dataset to train on. The node converts it to COCO format itself, so no conversion step is needed upstream. Key: TRAIN_DATASET.
Dataset to evaluate on after every epoch. Exported in the same pass as the training one, so both splits share one class index space. Key: VAL_DATASET.
Model to fine-tune, and with it the task: an ECDet version trains detection, an ECSeg one instance segmentation. A version copied from the zoo starts from the public COCO weights of that architecture. One from an earlier run continues from its checkpoint. The run is registered as a new version of this model unless Destination Model names another one. Key: MODEL.
Where the trained version is registered, when it should not go to the model being trained. Leave empty to add the version to the Model above. Key: DESTINATION_MODEL.
How often validation runs. Segmentation evaluation upsamples every predicted mask to the full image resolution, so on large images one pass can cost far more than the training epoch it follows. The final epoch is always evaluated, so the run’s reported metrics are unaffected. Set to 1 to evaluate after every epoch. Minimum: 1. Key: EVAL_INTERVAL.
Training hyperparameters in YAML - how long the run trains, at what batch size and resolution, and which optimizer settings it uses. Your datasets and their classes are filled in for you. Key: CONFIG.
Outputs
ID of the asset containing the live EdgeCrafter training report. Shown as an artifact. Key: REPORT_ID.
Reference to the registry version this run produced, as <model id>@<version id>. It wires into the Model input of a predict or evaluate node and pins it to exactly these weights. Empty when the run could not be registered. Shown as an artifact. Key: MODEL.
Best validation mAP (IoU 0.5:0.95) reached during the run, box mAP for detection and mask mAP for segmentation (shown as a badge). Shown on the node as a badge. Key: BEST_MAP.
Models and configuration
Model is both what training starts from and where its result is filed: the run adds a version to that model. A version copied from the catalog has no weights of its own, so the run downloads the public COCO weights of that architecture. One produced by an earlier run continues from its checkpoint. Either way the new version records the picked version as its starting point.
Set Destination model to file the result elsewhere. The trained version is created there instead, and Model is then only the starting weights. Both pickers list only EdgeCrafter models of this workspace, and only their ready versions.
Hyperparameters holds the training settings as YAML. Dataset paths and the class count are injected by the node, so set only what you want to change.
Report
The report appears near the start of the run and updates as training produces results. It opens from the node.
Report sections
Runtime
The node runs in its own GPU container. Memory use follows the architecture, the input size, and the batch size, so a model that won’t fit is the first thing to check when a run dies early.
The first run takes longer while the worker pulls the image, and a catalog model downloads its pretrained weights on every run that starts from it.
JSON config
Machine-readable node interface for automation and advanced usage.