Add Nerf Studio Example
This adds a nerf studio example to modal.
Setting this up for myself and the build setup got a little complicated.
Type of Change
- [X] New example
- [ ] Example updates (Bug fixes, new features, etc.)
- [ ] Other (changes to the codebase, but not to examples)
Checklist
- [ ] Example is testable in synthetic monitoring system, or
lambda-test: falseis added to example frontmatter (---)- [ ] Example is tested by executing with
modal runor an alternativecmdis provided in the example frontmatter (e.g.cmd: ["modal", "deploy"]) - [ ] Example is tested by running with no arguments or the
argsare provided in the example frontmatter (e.g.args: ["--prompt", "Formula for room temperature superconductor:"]
- [ ] Example is tested by executing with
- [ ] Example is documented with comments throughout, in a Literate Programming style.
- [ ] Example does not require third-party dependencies to be installed locally
- [ ] Example pins its dependencies
- [ ] Example pins container images to a stable tag, not a dynamic tag like
latest - [ ] Example specifies a
python_versionfor the base image, if it is used - [ ] Example pins all dependencies to at least minor version,
~=x.y.zor==x.y - [ ] Example dependencies with
version < 1are pinned to patch version,==0.y.z
- [ ] Example pins container images to a stable tag, not a dynamic tag like
Outside contributors
You're great! Thanks for your contribution.
Would love to get a NeRF example in!
The install does seem kinda messy though.
Looking at their docs, I see
pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
Torch now bundles the CUDA toolkit, including nvcc, so the above should work to get you everything. Maybe it's just a matter of setting CUDA_HOME and symlinking?
I also don't think we to install the editable version of the library, since folks won't be editing the library on Modal.
So I think we can shrink this down to a few pip_installs -- one for main deps (torch, transformers, ninja), one for tiny-cuda-nn, one for nerfstudio, and maybe one more for kplanes-nerfstudio.
HMU in the Modal Slack if you want to pair on it for a bit.
dromni/nerfstudio
I ended up finding a docker image. I think this is probably the better way to do it.
I also don't think we to install the editable version of the library, since folks won't be editing the library on Modal.
I do want to fork the repo and develop on it from this setup. Probably should move that out to an optional flag to use a local version.
@charlesfrye Hoping to pick this up in the evenings after work this week. But not so much time this week.
@nbardy closing this one for now but keeping the branch around in case you want to pick it up again!