Skip to content

Training Workflow

Training Workflow #38

name: Training Workflow
on:
workflow_dispatch:
inputs:
script_content:
description: 'Content of train.py'
required: true
type: string
jobs:
train:
runs-on: ubuntu-latest
steps:
- name: "Install uv"
uses: astral-sh/setup-uv@v3
# Cache PyTorch dependencies
- name: Cache PyTorch
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-torch-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-torch-
# Create requirements.txt
- name: Create requirements file
run: |
cat << EOF > requirements.txt
numpy==1.24.3
torch==2.1.0
EOF
# Install dependencies using uv
- name: Install dependencies
run: |
uv pip install -r requirements.txt
- name: Create and run training script
run: |
echo "${{ inputs.script_content }}" > train.py
cat train.py # Debug: print the content
python train.py > training.log 2>&1
- name: Upload logs
uses: actions/upload-artifact@v3
if: always() # Upload logs whether the job succeeds or fails
with:
name: training-logs
path: training.log