Skip to content

Open-Deep-ML/DML-OpenProblem

Repository files navigation

Deep-ML Open Problem Bank

A community-maintained collection of machine learning coding challenges.
Each problem lives in its own folder (questions/<id>_<slug>/) so contributors can edit Markdown, Python, and JSON files naturally.
A build script assembles everything into a single JSON file used by deep-ml.com.


📁 Repository Layout

.
├─ questions/
│  ├─ _template/                ← Copy this to start a new problem
│  ├─ 101_grpo_objective/
│  │   ├─ meta.json
│  │   ├─ description.md
│  │   ├─ learn.md
│  │   ├─ starter_code.py
│  │   ├─ solution.py
│  │   ├─ example.json
│  │   ├─ tests.json
│  │   ├─ tinygrad/
│  │   │   ├─ starter_code.py
│  │   │   ├─ solution.py
│  │   │   └─ tests.json
│  │   └─ pytorch/
│  │       ├─ starter_code.py
│  │       ├─ solution.py
│  │       └─ tests.json
│  └─ ...
│
├─ schemas/
│  └─ question.schema.json     ← JSON-Schema used for validation
│
├─ utils/
│  ├─ build_bundle.py          ← folder → build/*.json bundler
│  ├─ validate_questions.py    ← schema validator
│  └─ make_question_template.py← template folder generator
│
└─ .github/workflows/
   └─ format_questions.yml     ← GitHub Action: validate on PR/push

🛠️ Adding a New Question

  1. Copy the template
cp -r questions/_template questions/123_my_problem
  1. Fill in the fields
  • meta.json: question ID, title, category, difficulty, etc.
  • description.md: problem statement
  • learn.md: explanation and background
  • starter_code.py, solution.py: reference implementation
  • example.json: input/output + reasoning
  • tests.json: list of { "test": "...", "expected_output": "..." }
  • Optional language support under tinygrad/ and pytorch/
  1. Run local validation
python utils/build_bundle.py && python utils/validate_questions.py
  1. Open a Pull Request

CI will build and validate your changes automatically.


🧪 Schema Validation

The schema ensures:

  • Required fields are present
  • Optional tinygrad_*, pytorch_* are allowed
  • No invalid or extra fields

Each question must pass validation before it can be merged.


🤖 GitHub Actions

Located in .github/workflows/format_questions.yml, this runs:

  1. build_bundle.py – compiles all question folders
  2. validate_questions.py – checks for schema and structure errors

CI fails if anything is invalid.


📜 License

All problems are for educational use only.
See LICENSE file for full terms.


🙋 Need Help?

Open an issue or visit our Discord: https://discord.gg/JwMePfMZAV

Note:

for current PRs I will still work on making the other parts of the problem like i did before but it would be faster if you added the needed info

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages