-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Add Pixi as an option for installation #3130
Conversation
The commit updates the download and training commands for the dozer data in the `pixi.toml` file. It renames the `download-sample-data` command to `download-dozer-data` and modifies the `train-example-splat` and `train-example-nerf` commands to include the dozer data as a dependency. This makes it easy to run an example training for both nerfacto and splatfacto
I also added install + minimal usage instructions to the PR. I wanted to add a few caveats
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
@pablovela5620, don't worry about the colmap thing, this seems to be outside the scope of a Pixi install. One thing to note is that this also does not work with macos, due to the platforms = ["linux-64"]
flag and cuda dependency.
For the future, it would be interesting the support both Windows and macos with a Pixi install.
I just learned about One question: the version string in the |
@pablovela5620 Thanks for sharing the work and using pixi for what it is built for! @brentyi Pixi dev here, currently the That said it is also possible to add the |
This PR adds the option to include Pixi as an installation option. This still keeps the normal recommended installation option working with no modifications.
Why Pixi
I think its best explained to show what it takes to normally install with the recommended method on linux.
Conda
Optional (if using custom data)
7. Install colmap (if from source maybe another 7 commands?)
8. Install hloc (another 3 commands)
in total (if we include optional things that folks have a lot of issues with) this comes up to around 21 separate commands that a user has to run, and make sure they do correctly
Pixi
this version does everything the above does but in just 4 commands, all while making sure that the user has the right version of pytorch cuda, cudatoolkit, tinycudann, colmap hloc etc....
pixi uses the conda and pip ecosystem under the hood, but includes a bunch of extra really nice features like reproducibility via lock files, a SUPER powerful task system (this is what made installing things like tinycudann easy)
I think this would make things for user much MUCH easier to get started.
if one wants just the same experience as creating a conda and activating a conda environment, and just running the typical cli commands, all that's required is
and this will activate the underlying conda environment like usual but with everything setup
Let me know if ya'll have any questions! I already have a working implementation of this for the in DN-Splatter repo that's based on nerfstudio if you'd like to see another example