Deep Learning IndabaX South Africa 2022 MLOps Demo
# indabax_demo
IndabaX Demo 2022
## Development Requirements
- Python3.11.0
- Pip
- Poetry (Python Package Manager)
### M.L Model Environment
```sh
MODEL_PATH=./ml/model/
MODEL_NAME=model.pkl
```
### Update `/predict`
To update your machine learning model, add your `load` and `method` change here at `predictor.py`
## Installation
```sh
python -m venv venv
source venv/bin/activate
make install
```
## Runnning Localhost
`make run`
## Deploy app
`make deploy`
## Running Tests
`make test`
## Runnning Easter Egg
`make easter`
## Access Swagger Documentation
>
## Access Redocs Documentation
>
## Project structure
Files related to application are in the `app` or `tests` directories.
Application parts are:
app
|
| # Fast-API stuff
├── api - web related stuff.
│ └── routes - web routes.
├── core - application configuration, startup events, logging.
├── models - pydantic models for this application.
├── services - logic that is not just crud related.
├── main-aws-lambda.py - FastAPI application for AWS Lambda creation and configuration.
└── main.py - FastAPI application creation and configuration.
|
| # ML stuff
├── data - where you persist data locally
│ ├── interim - intermediate data that has been transformed.
│ ├── processed - the final, canonical data sets for modeling.
│ └── raw - the original, immutable data dump.
│
├── notebooks - Jupyter notebooks. Naming convention is a number (for ordering),
|
├── ml - modelling source code for use in this project.
│ ├── __init__.py - makes ml a Python module
│ ├── pipeline.py - scripts to orchestrate the whole pipeline
│ │
│ ├── data - scripts to download or generate data
│ │ └── make_dataset.py
│ │
│ ├── features - scripts to turn raw data into features for modeling
│ │ └── build_features.py
│ │
│ └── model - scripts to train mod …