fix(ci): train-dqn uses compile-and-train (no pre-built binary dependency)

Was referencing training-pipeline which needs binary-tag for pre-built
binaries from GitLab packages. Now references compile-and-train which
compiles from source then trains. No stale binary risk.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
jgrusewski
2026-03-29 22:44:08 +02:00
parent 0914ad0315
commit 58e09a52ac

View File

@@ -1,11 +1,11 @@
# Train DQN: fetch binaries → hyperopt → train → evaluate → upload.
# Train DQN: compile → hyperopt → train → evaluate → upload.
#
# Usage:
# argo submit --from=wftmpl/train-dqn -p binary-tag=dev-abc1234
# argo submit --from=wftmpl/train-dqn -p binary-tag=latest -p hyperopt-trials=50
# argo submit --from=wftmpl/train-dqn
# argo submit --from=wftmpl/train-dqn -p commit-ref=my-branch
#
# Thin wrapper around training-pipeline (templateRef) with DQN-tuned defaults.
# DQN has a 28D hyperopt parameter space — more trials recommended.
# Thin wrapper around compile-and-train with DQN-tuned defaults.
# Compiles from source (no pre-built binary dependency).
---
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
@@ -15,18 +15,14 @@ metadata:
labels:
app.kubernetes.io/name: train-dqn
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
app.kubernetes.io/component: compile-and-train
securityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
ttlStrategy:
secondsAfterCompletion: 3600
@@ -36,16 +32,16 @@ spec:
parameters:
- name: model
value: dqn
- name: binary-tag
value: latest
- name: commit-ref
value: main
- name: gpu-pool
value: ci-training-h100
- name: hyperopt-trials
value: "50" # 24D param space needs full exploration
value: "50"
- name: hyperopt-epochs
value: "20" # 20 epochs per trial with early stopping
value: "20"
- name: train-epochs
value: "200" # matches dqn-production.toml
value: "200"
- name: symbol
value: ES.FUT
- name: data-dir
@@ -67,47 +63,10 @@ spec:
- 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
steps:
- - name: compile-and-train
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]
name: compile-and-train
template: pipeline