Giter Club home page Giter Club logo

Comments (32)

samhodge avatar samhodge commented on September 27, 2024 2

Good luck, let me know how you get on with the computational resources required to run this project

from google-research.

samhodge-aiml avatar samhodge-aiml commented on September 27, 2024 1

smerf-3d git checkout is not needed you already have the code from google-research repo in the smerf folder

from google-research.

sumanttyagi avatar sumanttyagi commented on September 27, 2024 1

https://jax.readthedocs.io/en/latest/installation.html

There is no CUDA support for JAX on Windows

image

there is support if we use Windows WSL2, x86_64, but thanks let me try it with Linux setup

from google-research.

samhodge-aiml avatar samhodge-aiml commented on September 27, 2024

Evidently that is where you put he camp_zipnerf checkpoint data.

from google-research.

DuVogel87 avatar DuVogel87 commented on September 27, 2024

Hello,

Would you please help me? I am trying to install SMERF, but unfortunately, the instructions from GitHub are not working for me. When I try to clone the repository, I get this error:

C:\SMERF>git clone https://github.com/smerf-3d/smerf.git
Cloning into 'smerf'...
info: please complete authentication in your browser...
remote: Repository not found.
fatal: repository 'https://github.com/smerf-3d/smerf.git/' not found

Unfortunately, logging into my GitHub account in my browser seems to have no effect.

Could you please share how you installed it on your PC?

Thanks.

from google-research.

DuVogel87 avatar DuVogel87 commented on September 27, 2024

Thanks for your fast answer.

I dont get it.

If I try to git clone the repo like this:

git clone https://github.com/google-research/google-research/tree/master/smerf/smerf

it is not working!

I am really not understanding how to clone Smerf to my local drive. Can you give further instructions on this issue please?

smerf git clone

from google-research.

samhodge avatar samhodge commented on September 27, 2024

Try this

Clone a Specific Folder from a GitHub Repository https://medium.com/@gabrielcruz_68416/clone-a-specific-folder-from-a-github-repository-f8949e7a02b4

from google-research.

DuVogel87 avatar DuVogel87 commented on September 27, 2024

Thanks. But immediatly the first step is not possible because there is no clone URL to copy.

from google-research.

DuVogel87 avatar DuVogel87 commented on September 27, 2024

But anyways, with your help I figured out, what to look for. I found a nice work around and used this site to download all files:

https://download-directory.github.io/

from google-research.

DuVogel87 avatar DuVogel87 commented on September 27, 2024

The documents say

  1. Download teacher checkpoints. Unzip their contents like so,

    teachers/
      bicycle/
        checkpoint_50000/   # Model checkpoint
        config.gin          # Gin config
      ...
    

but it is unclear where this model checkpoint comes from.

Where did you download the teacher checkpoints?

from google-research.

samhodge-aiml avatar samhodge-aiml commented on September 27, 2024

I copied them from the CamP ZipNeRF model where I trained the radiance field using that project's code base and runtime environment with my own data.

from google-research.

duckworthd avatar duckworthd commented on September 27, 2024

SMERF author here. Teacher checkpoints are still awaiting legal approval for release. In the meantime, I recommend training models using the camp_zipnerf codebase.

from google-research.

samhodge avatar samhodge commented on September 27, 2024

Thanks @duckworthd one step ahead of you there. Awaiting computational outcome of the SMERF training

from google-research.

samhodge-aiml avatar samhodge-aiml commented on September 27, 2024

@duckworthd I am not sure whom is repsonsible for the training code but there is a silly JAX thing where map.tree becomes map_tree if you are super keen I can do it as a PR.

but it is work you knowing about it because the current code doesn't work with the requirements.txt frozen version of JAX

similarly there is a Python versioning thing with cuda versions that says JAX can use cudnn 8.9+ for cuda_12, which causes a lack of GPU acceleration given that cudnn 9+ is also a thing unless you are on the ball and clamp the cudnn version to the cudnn version for cuda_12

This may be invisible to you if you are all 100% accelerators of a different class, but for the CUDA users over here in the rest of the world it is a bit of a stumbling block.

from google-research.

duckworthd avatar duckworthd commented on September 27, 2024

Thanks for the heads-up, @samhodge-aiml. To be clear, you're saying that jax.map.tree must be replaced with jax.tree_util.tree_map to function with the pinned version of JAX? And that the CUDNN version needs to be pinned to 8.9?

from google-research.

samhodge-aiml avatar samhodge-aiml commented on September 27, 2024

Thanks for the heads-up, @samhodge-aiml. To be clear, you're saying that jax.map.tree must be replaced with jax.tree_util.tree_map to function with the pinned version of JAX? And that the CUDNN version needs to be pinned to 8.9?

I think it is just jax.tree.map to jax.tree_map worked for me, I hope, but if your syntax is more correct, then by all means do that.

I think it is sort of two layers of indirection, the cudnn for cuda 12.3 needs to be pinned to cudnn 8.9

I think the constraint is only for cuda 12 not cuda 12.4 so it grabs a dependancy for cudnn for 12.4 which is cudnn 9.1 but then that version of cudnn is linked against cuda 12.4 and so the symbols cannot load and as a result jax still works but falls back to no GPU acceleration, so unless you have your eyes on the prize, your CPUs will be hammered and your GPU will be idle, if you want things to be set and forget you really need a test to see that there is some sort of acceleration in place before you start training.
it was basically a future incompatibility that could have not been predicted at the time

from google-research.

duckworthd avatar duckworthd commented on September 27, 2024

References to jax.tree.map have been changed to jax.tree_util.tree_map. I also added information in the instructions indicating that this code was found working with CUDA 12.3 and cuDNN 8.9, but do not enforce that in any way.

from google-research.

samhodge avatar samhodge commented on September 27, 2024

Notes are good

from google-research.

sumanttyagi avatar sumanttyagi commented on September 27, 2024

@duckworthd @samhodge whyi am getting this error when trying to setup the env
python3 -m pip install --upgrade "jax[cuda12_pip]==0.4.23"
-f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

INFO: pip is looking at multiple versions of jax[cuda12-pip] to determine which version is compatible with other requirements. This could take a while.
ERROR: Ignored the following versions that require a different python version: 1.21.2 Requires-Python >=3.7,<3.11; 1.21.3 Requires-Python >=3.7,<3.11; 1.21.4 Requires-Python >=3.7,<3.11; 1.21.5 Requires-Python >=3.7,<3.11; 1.21.6 Requires-Python >=3.7,<3.11; 1.6.2 Requires-Python >=3.7,<3.10; 1.6.3 Requires-Python >=3.7,<3.10; 1.7.0 Requires-Python >=3.7,<3.10; 1.7.1 Requires-Python >=3.7,<3.10; 1.7.2 Requires-Python >=3.7,<3.11; 1.7.3 Requires-Python >=3.7,<3.11; 1.8.0 Requires-Python >=3.8,<3.11; 1.8.0rc1 Requires-Python >=3.8,<3.11; 1.8.0rc2 Requires-Python >=3.8,<3.11; 1.8.0rc3 Requires-Python >=3.8,<3.11; 1.8.0rc4 Requires-Python >=3.8,<3.11; 1.8.1 Requires-Python >=3.8,<3.11
ERROR: Could not find a version that satisfies the requirement jaxlib==0.4.23+cuda12.cudnn89; extra == "cuda12_pip" (from jax[cuda12-pip]) (from versions: 0.4.13, 0.4.14, 0.4.16, 0.4.17, 0.4.18, 0.4.19, 0.4.20, 0.4.21, 0.4.22, 0.4.23, 0.4.25, 0.4.26, 0.4.27, 0.4.28, 0.4.29, 0.4.30)
ERROR: No matching distribution found for jaxlib==0.4.23+cuda12.cudnn89; extra == "cuda12_pip"

from google-research.

samhodge avatar samhodge commented on September 27, 2024

Because you need to be more explicit

jaxlib[cuda_12]==0.4.23+cuda12.cudnn89

Also refer to

https://pypi.org/project/nvidia-cudnn-cu12/

https://pypi.org/project/nvidia-cudnn-cu12/8.9.7.29/

https://anaconda.org/nvidia/cuda-toolkit

conda install nvidia/label/cuda-12.3.2::cuda-toolkit

from google-research.

samhodge avatar samhodge commented on September 27, 2024

Which Python version did you use?

I think 3.8 or 3.9 are needed and it indicates you are using 3.7

from google-research.

sumanttyagi avatar sumanttyagi commented on September 27, 2024

Which Python version did you use?

I think 3.8 or 3.9 are needed and it indicates you are using 3.7

@samhodge i have created a new env as mentioned on the branch - https://github.com/google-research/google-research/tree/master/smerf

Create a conda environment with Python 3.11.

conda create --name smerf-env python=3.11
conda activate smerf-env
Install JAX with GPU support.
python3 -m pip install --upgrade "jax[cuda12_pip]==0.4.23" \
  -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

from google-research.

sumanttyagi avatar sumanttyagi commented on September 27, 2024

Because you need to be more explicit

jaxlib[cuda_12]==0.4.23+cuda12.cudnn89

Also refer to

https://pypi.org/project/nvidia-cudnn-cu12/

https://pypi.org/project/nvidia-cudnn-cu12/8.9.7.29/

https://anaconda.org/nvidia/cuda-toolkit

conda install nvidia/label/cuda-12.3.2::cuda-toolkit

@samhodge but the same command is not mentioned in the documentation - https://github.com/google-research/google-research/tree/master/smerf

Also do we really need a 8 or 16 GPU to train model can we do this with 2 GPU with lower image size ?

from google-research.

samhodge avatar samhodge commented on September 27, 2024

The instructions are incorrect that is why I told you what to do

from google-research.

sumanttyagi avatar sumanttyagi commented on September 27, 2024

+cuda12.cudnn89

@samhodge with your instruction i am still facing an issue as below ,i have edited the command to - python3 -m pip install --upgrade "jax[cuda12_pip]==0.4.23+cuda12.cudnn89" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

Please let me know if i need to make any other changes too ?

python -m pip install --upgrade "jax[cuda12]==0.4.23+cuda12.cudnn89" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
Looking in links: https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
ERROR: Ignored the following yanked versions: 0.2.23, 0.3.18, 0.4.0, 0.4.15
ERROR: Could not find a version that satisfies the requirement jax==0.4.23+cuda12.cudnn89 (from versions: 0.0, 0.1, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.6, 0.1.7, 0.1.8, 0.1.9, 0.1.10, 0.1.11, 0.1.12, 0.1.13, 0.1.14, 0.1.15, 0.1.16, 0.1.18, 0.1.19, 0.1.20, 0.1.21, 0.1.22, 0.1.23, 0.1.24, 0.1.25, 0.1.26, 0.1.27, 0.1.28, 0.1.29, 0.1.30, 0.1.31, 0.1.32, 0.1.33, 0.1.34, 0.1.35, 0.1.36, 0.1.37, 0.1.38, 0.1.39, 0.1.40, 0.1.41, 0.1.42, 0.1.43, 0.1.44, 0.1.45, 0.1.46, 0.1.47, 0.1.48, 0.1.49, 0.1.50, 0.1.51, 0.1.52, 0.1.53, 0.1.54, 0.1.55, 0.1.56, 0.1.57, 0.1.58, 0.1.59, 0.1.60, 0.1.61, 0.1.62, 0.1.63, 0.1.64, 0.1.65, 0.1.66, 0.1.67, 0.1.68, 0.1.69, 0.1.70, 0.1.71, 0.1.72, 0.1.73, 0.1.74, 0.1.75, 0.1.76, 0.1.77, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.2.7, 0.2.8, 0.2.9, 0.2.10, 0.2.11, 0.2.12, 0.2.13, 0.2.14, 0.2.15, 0.2.16, 0.2.17, 0.2.18, 0.2.19, 0.2.20, 0.2.21, 0.2.22, 0.2.24, 0.2.25, 0.2.26, 0.2.27, 0.2.28, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7, 0.3.8, 0.3.9, 0.3.10, 0.3.11, 0.3.12, 0.3.13, 0.3.14, 0.3.15, 0.3.16, 0.3.17, 0.3.19, 0.3.20, 0.3.21, 0.3.22, 0.3.23, 0.3.24, 0.3.25, 0.4.1, 0.4.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.7, 0.4.8, 0.4.9, 0.4.10, 0.4.11, 0.4.12, 0.4.13, 0.4.14, 0.4.16, 0.4.17, 0.4.18, 0.4.19, 0.4.20, 0.4.21, 0.4.22, 0.4.23, 0.4.24, 0.4.25, 0.4.26, 0.4.27, 0.4.28, 0.4.29, 0.4.30)
ERROR: No matching distribution found for jax==0.4.23+cuda12.cudnn89

from google-research.

samhodge avatar samhodge commented on September 27, 2024

See

#2095 (comment)

from google-research.

samhodge avatar samhodge commented on September 27, 2024

image

from google-research.

sumanttyagi avatar sumanttyagi commented on September 27, 2024

@samhodge is the script working with only linux or windows systems ?
as driver stated is available for Linux only
image

from google-research.

samhodge avatar samhodge commented on September 27, 2024

I have run it on Ubuntu 22.04 LTS

You can try whatever you like

from google-research.

samhodge avatar samhodge commented on September 27, 2024

I cannot support you anymore, you will have to understand the instructions given CUDA 12.3 CuDNN 8.9 for CUDA 12.3 and then JAX that supports those CUDA and CUDNN versions

Via conda and python package index

from google-research.

samhodge-aiml avatar samhodge-aiml commented on September 27, 2024

from google-research.

samhodge avatar samhodge commented on September 27, 2024

https://jax.readthedocs.io/en/latest/installation.html

There is no CUDA support for JAX on Windows

image

from google-research.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.