Skip to content
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

Binder launch is broken because install requires NVIDIA GPUs #181

Closed
weiji14 opened this issue Mar 17, 2024 · 2 comments
Closed

Binder launch is broken because install requires NVIDIA GPUs #181

weiji14 opened this issue Mar 17, 2024 · 2 comments
Assignees
Labels
bug Something isn't working
Milestone

Comments

@weiji14
Copy link
Contributor

weiji14 commented Mar 17, 2024

Originally posted by @ritwikvashistha in #161 (comment)

Hi, I tried using the model on my Mac M1 Pro as well as on Binder. But I ran into the same issue with both of them. When I was trying to install locally, I got an error "The following package could not be------installed: pytorch ~=2.1.0 cuda12 does not exist (perhaps a typo or a missing channel)." With Binder, I got the same error as it was loading. I would appreciate any suggestions on how to resolve this issue.

The error I get when launching Binder at https://mybinder.org/v2/gh/Clay-foundation/model/main is:

Step 39/50 : RUN TIMEFORMAT='time: %3R' bash -c 'time ${MAMBA_EXE} env update -p ${NB_PYTHON_PREFIX} --file "environment.yml" && time ${MAMBA_EXE} clean --all -f -y && ${MAMBA_EXE} list -p ${NB_PYTHON_PREFIX} '
 ---> Running in 05506e6a3c50

EnvironmentSectionNotValid: The following section on '/home/jovyan/environment.yml' is invalid and will be ignored:
 - platforms



Looking for: ['conda-lock~=2.5.1', 'einops~=0.7.0', 'fiona~=1.9.5', 'geopandas-base~=0.14.1', 'h5netcdf~=1.3.0', 'jupyter-book~=1.0.0', 'jupyterlab~=4.0.7', 'jsonargparse~=4.27.0', 'lightning~=2.1.0', 'matplotlib-base~=3.8.2', 'planetary-computer~=1.0.0', 'pytorch~=2.1.0', "pytorch[version='~=2.1.0',build=*cuda12*]", 'python~=3.11.0', 'rioxarray~=0.15.0', 'scikit-image~=0.22.0', 'scikit-learn~=1.4.0', 'stackstac~=0.5.0', 'torchdata~=0.7.1', 'transformers~=4.35.2', 'typeshed-client~=2.4.0', 'vit-pytorch~=1.6.4', 'wandb~=0.15.12', 'zarr~=2.16.1']


Could not solve for environment specs
The following package could not be installed
└─ pytorch ~=2.1.0 *cuda12* is not installable because it requires
   └─ __cuda, which is missing on the system.
�[91mtime: 36.242
�[0m ---> Removed intermediate container 05506e6a3c50
The command '/bin/sh -c TIMEFORMAT='time: %3R' bash -c 'time ${MAMBA_EXE} env update -p ${NB_PYTHON_PREFIX} --file "environment.yml" && time ${MAMBA_EXE} clean --all -f -y && ${MAMBA_EXE} list -p ${NB_PYTHON_PREFIX} '' returned a non-zero code: 1

For context, the binder button was added in #15 before we pinned to a specific CUDA version (done in 4d2d7c2/#37). We'll need to make the environment.yml file compatible with Binder again, probably by removing the *cuda* pin, but still ensure that developers training the model have the correct version of CUDA installed (probably with more documentation).

Alternatively, we could have the Binder build be dependent on Dockerfile - #166.

@weiji14 weiji14 added the bug Something isn't working label Mar 17, 2024
@weiji14 weiji14 added this to the v1 Release milestone Mar 17, 2024
@weiji14 weiji14 self-assigned this Mar 17, 2024
@yeelauren
Copy link

Hey there! I noticed this with the notebook buttons as well. I've seen other projects provide multiple environment.yml files, one for those with a local GPU and for those that would only use CPU. Often CPU may work for some folks but be slightly slower. I'm not certain if that's the case for Clay. But a thought on how one might structure the repo for different users.

@yellowcap
Copy link
Member

yellowcap commented Jun 17, 2024

This has been fixed by #273 using a custom environment.yml file in a .binder subfolder. Binder will use this in favor of the one in the main folder. In there we specified the cpuonly dependency, which limits to cpu install. The binder still takes a loooong time to build, but it works.

https://github.com/Clay-foundation/model/blob/main/.binder/environment.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants