5 templates were missing app.kubernetes.io/component=gpu-test label, causing MinIO log archival to fail (port 9000 blocked by network policy). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
114 lines
3.0 KiB
YAML
114 lines
3.0 KiB
YAML
# Train PPO: fetch binaries → hyperopt → train → evaluate → upload.
|
||
#
|
||
# Usage:
|
||
# argo submit --from=wftmpl/train-ppo -p binary-tag=dev-abc1234
|
||
# argo submit --from=wftmpl/train-ppo -p binary-tag=latest -p train-epochs=100
|
||
#
|
||
# Thin wrapper around training-pipeline (templateRef) with PPO-tuned defaults.
|
||
# PPO uses 45 factored actions (5 exposure × 3 order × 3 urgency).
|
||
---
|
||
apiVersion: argoproj.io/v1alpha1
|
||
kind: WorkflowTemplate
|
||
metadata:
|
||
name: train-ppo
|
||
namespace: foxhunt
|
||
labels:
|
||
app.kubernetes.io/name: train-ppo
|
||
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
|
||
value: ppo
|
||
- 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]
|