# Train supervised model: fetch binaries → hyperopt → train → evaluate → upload. # # Usage (any of the 8 supervised models): # argo submit --from=wftmpl/train-supervised -p model=tft -p binary-tag=latest # argo submit --from=wftmpl/train-supervised -p model=mamba2 -p binary-tag=dev-abc1234 # argo submit --from=wftmpl/train-supervised -p model=kan -p binary-tag=latest -p train-epochs=100 # # Supported models: tft, mamba2, tggn, tlob, liquid, kan, xlstm, diffusion # # Thin wrapper around training-pipeline (templateRef) with supervised defaults. # Uses hyperopt_baseline_supervised / train_baseline_supervised / evaluate_supervised. --- apiVersion: argoproj.io/v1alpha1 kind: WorkflowTemplate metadata: name: train-supervised namespace: foxhunt labels: app.kubernetes.io/name: train-supervised app.kubernetes.io/part-of: foxhunt app.kubernetes.io/component: gpu-test spec: entrypoint: pipeline serviceAccountName: argo-workflow podMetadata: labels: app.kubernetes.io/part-of: foxhunt app.kubernetes.io/component: gpu-test app.kubernetes.io/component: training securityContext: runAsUser: 1000 runAsGroup: 1000 fsGroup: 1000 ttlStrategy: secondsAfterCompletion: 3600 activeDeadlineSeconds: 28800 # 8 hours arguments: parameters: - name: model # One of: tft, mamba2, tggn, tlob, liquid, kan, xlstm, diffusion value: tft - name: binary-tag value: latest - name: gpu-pool value: ci-training-h100 - name: hyperopt-trials value: "20" - name: hyperopt-epochs value: "8" - name: train-epochs value: "50" - name: symbol value: ES.FUT - name: data-dir value: /data/futures-baseline - name: mbp10-data-dir value: /data/futures-baseline-mbp10 - name: trades-data-dir value: /data/futures-baseline-trades - name: tx-cost-bps value: "0.1" - name: tick-size value: "0.25" - name: spread-ticks value: "1.0" - name: initial-capital value: "35000" - name: ensemble-top-k value: "5" - name: cuda-compute-cap value: "90" volumes: - name: training-data persistentVolumeClaim: claimName: training-data-pvc readOnly: true volumeClaimTemplates: - metadata: name: workspace spec: accessModes: ["ReadWriteOnce"] storageClassName: scw-bssd resources: requests: storage: 5Gi templates: - name: pipeline dag: tasks: - name: fetch-binary templateRef: name: training-pipeline template: fetch-binary - name: hyperopt templateRef: name: training-pipeline template: hyperopt dependencies: [fetch-binary] - name: train-best templateRef: name: training-pipeline template: train-best dependencies: [hyperopt] - name: evaluate templateRef: name: training-pipeline template: evaluate dependencies: [train-best] - name: upload-results templateRef: name: training-pipeline template: upload-results dependencies: [evaluate]