85 lines
2.0 KiB
YAML
85 lines
2.0 KiB
YAML
name: Housing Price Workflow
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
epochs:
|
|
description: 'Number of epochs'
|
|
required: true
|
|
default: 20
|
|
learning_rate:
|
|
description: 'Learning rate'
|
|
required: true
|
|
default: 0.001
|
|
batch_size:
|
|
description: 'Batch size'
|
|
required: true
|
|
default: 32
|
|
|
|
jobs:
|
|
train:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.8'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pandas scikit-learn tensorflow matplotlib mlflow
|
|
|
|
- name: Train Model
|
|
run: python ./github_project/create_model.py ${{ github.event.inputs.epochs }} ${{ github.event.inputs.learning_rate }} ${{ github.event.inputs.batch_size }}
|
|
|
|
- name: Upload Artefacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: model
|
|
path: |
|
|
./github_project/hp_model.h5
|
|
|
|
evaluate:
|
|
needs: train
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.8'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install pandas scikit-learn tensorflow matplotlib mlflow
|
|
|
|
- name: Download Artifact
|
|
uses: actions/download-artifact@v2
|
|
with:
|
|
name: model
|
|
path: ./github_project/hp_model.h5
|
|
|
|
- name: Evaluate Model
|
|
run: python ./github_project/evaluate.py ${{ github.run_number }}
|
|
|
|
- name: Upload Artefacts
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: evaluation-results
|
|
path: |
|
|
./github_project/hp_test_predictions.csv
|
|
./github_project/hp_test_metrics.csv
|
|
plot_mae.png
|
|
plot_r2.png
|
|
plot_rmse.png
|
|
|