Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
# Ruff version.
rev: v0.14.8
hooks:
# Run the linter.
- id: ruff-check
types_or: [ python, pyi ]
args: [ --fix ]
# Run the formatter.
- id: ruff-format
types_or: [ python, pyi ]
10 changes: 10 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"[python]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
//"source.fixAll": "explicit",
"source.organizeImports": "explicit"
},
"editor.defaultFormatter": "charliermarsh.ruff"
}
}
41 changes: 35 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,10 @@ This project uses `uv` for managing the python virtual environment. To install u
curl -LsSf https://astral.sh/uv/install.sh | sh
```

To create and activate the virtual environment, run the following:
To create and activate the virtual environment and setup git hooks (for auto linting and formatting), run the following:
```bash
uv sync --locked
uv run pre-commit install
```

## Run instructions
Expand Down Expand Up @@ -143,12 +144,40 @@ The last command will start the MLflow GUI at your local host loopback on port 5

![mlflow_tune](./docs/images/mlflow_tune.png)

## Future Work
# Contributing

## Linting and Formatting
We are using [ruff](https://docs.astral.sh/ruff/) as a the linter and formatter. Ruff can be used with:

```bash
# Get check results
uv run ruff check .

For model improvements I'm interested in switching to a flash attention layer which can accelerate training
# Get check results and apply fixes (recommend review these with git diff)
uv run ruff check . --fix

I also want to build up per team models, do ANOVA, then highlight specific players that are giving tells on coverages
# Run formatter
uv run ruff format .
```

Want to try out the model on a non-binary problem and try distinguishing between distinct coverage types
Note, if you followed instructions above to setup the git hook, ruff will run the linter (with auto fixing on) and formatting as a pre-commit git hook.

See if I can identify blitzer (is the blitzer player identified in the dataset?)
## Future Work
- Data
- Incoporate the additional NGS data which likely will have the largest returns in increasing accuracy
- Look into additional data augmentation techniques
- Model
- Consider model improvements in transformer arch
- Build per team model, do ANOVA, then highlight specific players that are giving tells on coverages
- Build multiclass output model instead of binary classification
- See if I can build a model to determine blitzer like red circle AWS at post snap
- Add in confusion matrix, ROC curve, and prediction post snap accuracy to automatic predictions and not just in notebook
- Infra
- Profiler
- Add in PyTorch profiler with new tensorboard (new thing, this is deprecated) traces into Chrome UI, built into CI for profiler
- Optimization
- Switch to flash attention layer which can accelerate training
- General
- Get docker working and implemented in CI
- Add git hook for ruff fix
- Look back on mypy for type
Loading