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 - 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