askill
synapse-specialized-actions

synapse-specialized-actionsSafety --Repository

Explains specialized Synapse action classes for specific workflows. Use when the user mentions "BaseTrainAction", "BaseExportAction", "BaseUploadAction", "BaseInferenceAction", "BaseDeploymentAction", "AddTaskDataAction", "train action", "export action", "upload action", "inference action", "deployment action", "pre-annotation", "add_task_data", "autolog", "get_dataset", "create_model", or needs workflow-specific action development help.

1 stars
1.2k downloads
Updated 2/15/2026

Package Files

Loading files...
SKILL.md

Specialized Action Classes

Synapse SDK provides specialized base classes for common ML workflows. Each extends BaseAction with workflow-specific helper methods and default settings.

Available Specialized Actions

ClassCategoryPurpose
BaseTrainActionNEURAL_NETTraining models
BaseExportActionEXPORTExporting data
BaseUploadActionUPLOADUploading files
BaseInferenceActionNEURAL_NETRunning inference
BaseDeploymentAction-Ray Serve deployment
AddTaskDataActionPRE_ANNOTATIONPre-annotation workflows

Quick Comparison

# Training - autolog, get_dataset, create_model
class TrainAction(BaseTrainAction[TrainParams]):
    def execute(self) -> dict:
        self.autolog('ultralytics')  # Auto-log metrics
        dataset = self.get_dataset()
        # ... train ...
        return self.create_model('./model.pt')

# Export - get_filtered_results
class ExportAction(BaseExportAction[ExportParams]):
    def get_filtered_results(self, filters: dict) -> tuple[Any, int]:
        return self.client.get_assignments(filters)

# Upload - step-based workflow required
class UploadAction(BaseUploadAction[UploadParams]):
    def setup_steps(self, registry: StepRegistry[UploadContext]) -> None:
        registry.register(InitStep())
        registry.register(UploadFilesStep())

# Inference - download_model, load_model, infer
class InferAction(BaseInferenceAction[InferParams]):
    def execute(self) -> dict:
        model = self.load_model(self.params.model_id)
        return {'predictions': self.infer(model, self.params.inputs)}

# Pre-annotation - convert_data_from_file, convert_data_from_inference
class PreAnnotateAction(AddTaskDataAction):
    def convert_data_from_file(self, primary_url, ...) -> dict:
        return {'annotations': [...]}

Execution Modes

All specialized actions (except Deployment) support two modes:

  1. Simple Execute: Override execute() for straightforward workflows
  2. Step-based: Override setup_steps() for complex multi-step workflows with rollback
# Simple mode
class SimpleTrainAction(BaseTrainAction[Params]):
    def execute(self) -> dict:
        return {'weights_path': '/model.pt'}

# Step-based mode
class StepTrainAction(BaseTrainAction[Params]):
    def setup_steps(self, registry: StepRegistry[TrainContext]) -> None:
        registry.register(LoadDatasetStep())
        registry.register(TrainStep())
        registry.register(UploadModelStep())

Detailed References

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

AI review pending.

Metadata

Licenseunknown
Version-
Updated2/15/2026
Publisherdatamaker-kr

Tags

github-actionsobservability