Comments (4)
I think that's a great idea: there's definitely a gap that Poetry Cookiecutter doesn't fill yet with regards to infrastructure provisioning. Another gap that we can fill is being able to manage multiple packages simultaneously, such as an API server and its associated API client β i.e. a 'mini' monorepo.
That being said, I think we should discuss (on- or offline) whether we should include this functionality as part of Poetry Cookiecutter, or on a different level.
from poetry-cookiecutter.
@JWuzyk letβs give this some thought. Iβd like to see how we can make infra more easy. For AI we also have to consider the training phase, which Iβd like to be able to run on on-demand cloud infrastructure.
from poetry-cookiecutter.
Would indeed be nice to get infra for free as well. Adds a lot of complexity to an already complex cookiecutter though. Especially since you'd probably want a few different deployment options. Some example code with setup instructions would probably be almost as good. Also would be easier to add to existing projects.
For ML training I see a few options:
- Training in CI - Remote training could be handled by the same infra running our CI pipelines. We could add special training runners by extending the Runners Terraform without adding too much to the cookiecutter directly. CML looks like another easy way to do it. Probably also need to integrate DVC (more infra for storage) or something like that to manage data then. Pretty clunky to use for experimentation though IMO.
- Use an ML/pipelining framework - many framework allow you to define pipelines and easily run these on cloud resources just by specifiying runners. Some also automate deployment so app service wouldn't be necessary in many cases. Could be really powerful but requires us to commit to a framework. We also give up the level of customisation we have managing infra ourselves.
- Custom infra - A basic version of this would be including setup for using a VM with a GPU (very easy to do with AzureML) or using AzureML experiments purely as a task runner. More complicated would be something like scripts to send jobs to Azure Batch. (I think Jerome already did this?). Probably the most work but could be very flexible. Could even build a basic package out of it and import it in the cookiecutter.
from poetry-cookiecutter.
Great, thanks for the input, I'll plan a meeting with you to discuss next week!
from poetry-cookiecutter.
Related Issues (20)
- Consider adding nbQA to lint Jupyter notebooks (if selected)
- Add `black[jupyter]` to format notebooks if Jupyter is selected HOT 1
- Remove `absolufy-imports` once integrated in `ruff`
- Add `darglint` once integrated in `ruff`
- Add `E203` and `W503` to `ruff` ignores when available
- Remove macOS-specific section on Nerd Fonts from README
- Add `.ruff_cache/` to `.gitignore`
- Remove `py.typed` in simple mode
- package_url vs private_package_repository_url HOT 4
- Manifest Error HOT 7
- An error has occurred: FatalError: git failed. Is it installed, and are you in a Git repository directory? HOT 2
- Don't cap Python version HOT 2
- `--fixable` override in `.pre-commit-config.yaml` should add to, but instead overrides what is fixable HOT 2
- Fix git's `detected dubious ownership in repository` warning HOT 1
- Simplify and improve support for bind mount & volume mount workspaces HOT 1
- Do not use range-pinning in pyproject.toml HOT 2
- Refactor GitLab CI to use the Dev Container CLI
- Jupyter extension
- Add missing `use_exec` to serve the API HOT 2
- AGPL license HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from poetry-cookiecutter.