Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FR: project structure skeleton #38

Open
nxorable opened this issue Feb 22, 2023 · 2 comments
Open

FR: project structure skeleton #38

nxorable opened this issue Feb 22, 2023 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@nxorable
Copy link

nxorable commented Feb 22, 2023

Feature request: create the skeleton of a project structure that integrates the following:

  • jupyter workbench development environment
  • trainer - code for custom training
  • predictor - code for custom prediction
  • shared featurizer (preprocessing module for trainer and predictor)
  • Dockerfile(s) for both a custom trainer and predictor along with cloudbuild.yaml(s)

Key goals:

  • avoid code duplication (e.g. copying featurizer b/t trainer and predictor)
  • simple project structure
  • follow / demo ML ops best practices

You might also create a video that demonstrates the development workflow.

Motivation: there are many guides that, in isolation, provide good coverage of a component, but they are always outside the context of an actual practical development workflow.

It might look something like this (?):

├── README.md
├── setup.py
├── notebooks
│   ├── explore.ipynb
│   └── prototype_model.ipynb
├── predictor
│   ...
├── common
│   ├── utils.py
└── trainer
    ├── Dockerfile
    ├── build.ipynb
    ├── cloudbuild.yaml
    └── src
        ├── __init__.py
        ├── dev get training data bq.ipynb
        ├── features.py
        ├── requirements.txt
        ├── sql
        │   └── train_data_gen.sql
        ├── train.py
@statmike statmike self-assigned this Mar 5, 2023
@statmike statmike added the enhancement New feature or request label Mar 5, 2023
@statmike
Copy link
Owner

statmike commented Mar 5, 2023

Hello @nxorable ,
This is a great idea! I am working towards something very similar but have a few hurdles to work through first. My plan is to make this type of shift as I introduce a full MLOps development perspective. At that point most of what is currently in the repository is really just training or serving with occasional devops pieces to enable that. The next phase includes wrapping these pieces for automation and triggering. More to come! I am going to leave this issue/fr here as a placeholder for what is to come. After the shift I would love your thoughts.
Thank You,
@statmike

@kt4techie
Copy link

Great work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants