facebookresearch / pytorch3d

PyTorch3D is FAIR's library of reusable components for deep learning with 3D data
https://pytorch3d.org/
Other
8.72k stars 1.31k forks source link

CUDA 10.2 support #183

Closed phg1024 closed 4 years ago

phg1024 commented 4 years ago

I tried to install pytorch3d with the following command

conda install pytorch3d -c pytorch3d

and got this error

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                                                                        

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

Specifications:

  - pytorch3d -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0|>=3.8,<3.9.0a0']

Your python: python=3.5

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

The following specifications were found to be incompatible with your CUDA driver:

  - feature:/linux-64::__cuda==10.2=0

Your installed CUDA driver is: 10.2

Is there a plan to support CUDA 10.2?

bottler commented 4 years ago

Cuda 10.2 is fine. The problem is I think you are using Python 3.5, and pytorch3d requires at least version 3.6.

phg1024 commented 4 years ago

I got a python 3.6 env with conda and now it crashes directly:

(pytorch3d) [phg@localhost ~]$ python --version
Python 3.6.10 :: Anaconda, Inc.
(pytorch3d) [phg@localhost ~]$ conda install pytorch3d -c pytorch3d
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                        

# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<

    Traceback (most recent call last):
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 265, in install
        should_retry_solve=(_should_retry_unfrozen or repodata_fn != repodata_fns[-1]),
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 117, in solve_for_transaction
        should_retry_solve)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 158, in solve_for_diff
        force_remove, should_retry_solve)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 281, in solve_final_state
        ssc = self._run_sat(ssc)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
        return f(*args, **kwds)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 808, in _run_sat
        should_retry_solve=ssc.should_retry_solve
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/common/io.py", line 88, in decorated
        return f(*args, **kwds)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 1316, in solve
        raise UnsatisfiableError({})
    conda.exceptions.UnsatisfiableError: 
    Did not find conflicting dependencies. If you would like to know which
    packages conflict ensure that you have enabled unsatisfiable hints.

    conda config --set unsatisfiable_hints True

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/exceptions.py", line 1079, in __call__
        return func(*args, **kwargs)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/cli/main.py", line 84, in _main
        exit_code = do_call(args, p)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/cli/conda_argparse.py", line 82, in do_call
        return getattr(module, func_name)(args, parser)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/cli/main_install.py", line 20, in execute
        install(args, parser, 'install')
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/cli/install.py", line 299, in install
        should_retry_solve=(repodata_fn != repodata_fns[-1]),
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 117, in solve_for_transaction
        should_retry_solve)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 158, in solve_for_diff
        force_remove, should_retry_solve)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 275, in solve_final_state
        ssc = self._add_specs(ssc)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/core/solve.py", line 694, in _add_specs
        ssc.r.find_conflicts(spec_set)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 347, in find_conflicts
        bad_deps = self.build_conflict_map(specs, specs_to_add, history_specs)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 507, in build_conflict_map
        root, search_node, dep_graph, num_occurances)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/resolve.py", line 369, in breadth_first_search_for_dep_graph
        last_spec = MatchSpec.union((path[-1], target_paths[-1][-1]))[0]
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/models/match_spec.py", line 481, in union
        return cls.merge(match_specs, union=True)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/models/match_spec.py", line 475, in merge
        reduce(lambda x, y: x._merge(y, union), group) if len(group) > 1 else group[0]
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/models/match_spec.py", line 475, in <lambda>
        reduce(lambda x, y: x._merge(y, union), group) if len(group) > 1 else group[0]
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/models/match_spec.py", line 502, in _merge
        final = this_component.union(that_component)
      File "/home/phg/anaconda3/lib/python3.7/site-packages/conda/models/match_spec.py", line 764, in union
        return '|'.join(options)
    TypeError: sequence item 0: expected str instance, Channel found

`$ /home/phg/anaconda3/bin/conda install pytorch3d -c pytorch3d`

  environment variables:
                 CIO_TEST=<not set>
        CONDA_DEFAULT_ENV=pytorch3d
                CONDA_EXE=/home/phg/anaconda3/bin/conda
             CONDA_PREFIX=/home/phg/anaconda3/envs/pytorch3d
           CONDA_PREFIX_1=/home/phg/anaconda3
    CONDA_PROMPT_MODIFIER=(pytorch3d)
         CONDA_PYTHON_EXE=/home/phg/anaconda3/bin/python
               CONDA_ROOT=/home/phg/anaconda3
              CONDA_SHLVL=2
                     PATH=/home/phg/anaconda3/bin:/home/phg/anaconda3/envs/pytorch3d/bin:/home/p
                          hg/anaconda3/condabin:/home/phg/.local/bin:/home/phg/bin:/usr/local/bi
                          n:/usr/local/sbin:/usr/bin:/usr/sbin
       REQUESTS_CA_BUNDLE=<not set>
            SSL_CERT_FILE=<not set>
               WINDOWPATH=2

     active environment : pytorch3d
    active env location : /home/phg/anaconda3/envs/pytorch3d
            shell level : 2
       user config file : /home/phg/.condarc
 populated config files : 
          conda version : 4.8.2
    conda-build version : 3.18.11
         python version : 3.7.6.final.0
       virtual packages : __cuda=10.2
                          __glibc=2.31
       base environment : /home/phg/anaconda3  (writable)
           channel URLs : https://conda.anaconda.org/pytorch3d/linux-64
                          https://conda.anaconda.org/pytorch3d/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /home/phg/anaconda3/pkgs
                          /home/phg/.conda/pkgs
       envs directories : /home/phg/anaconda3/envs
                          /home/phg/.conda/envs
               platform : linux-64
             user-agent : conda/4.8.2 requests/2.22.0 CPython/3.7.6 Linux/5.6.8-300.fc32.x86_64 fedora/32 glibc/2.31
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False

An unexpected error has occurred. Conda has prepared the above report.

If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?

[y/N]: 

No report sent. To permanently opt-out, use

    $ conda config --set report_errors false
bottler commented 4 years ago

Please paste the output of conda list.

phg1024 commented 4 years ago
(pytorch3d) [phg@localhost Pictures]$ conda list .
# packages in environment at /home/phg/anaconda3/envs/pytorch3d:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
ca-certificates           2020.1.1                      0  
certifi                   2020.4.5.1               py36_0  
ld_impl_linux-64          2.33.1               h53a641e_7  
libedit                   3.1.20181209         hc058e9b_0  
libffi                    3.2.1                hd88cf55_4  
libgcc-ng                 9.1.0                hdf63c60_0  
libstdcxx-ng              9.1.0                hdf63c60_0  
ncurses                   6.2                  he6710b0_1  
openssl                   1.1.1g               h7b6447c_0  
pip                       20.0.2                   py36_1  
python                    3.6.10               hcf32534_1  
readline                  8.0                  h7b6447c_0  
setuptools                46.1.3                   py36_0  
sqlite                    3.31.1               h62c20be_1  
tk                        8.6.8                hbc83047_0  
wheel                     0.34.2                   py36_0  
xz                        5.2.5                h7b6447c_0  
zlib                      1.2.11               h7b6447c_3  
bottler commented 4 years ago

You need to install the prerequisites into the environment, as explained in INSTALL.md, before you install pytorch3d itself. The following should do it.

conda install -c pytorch pytorch torchvision cudatoolkit=10.2
conda install -c conda-forge -c fvcore fvcore
phg1024 commented 4 years ago

Thanks @bottler. It worked following your suggestions. I followed the commands listed here previously, which is why it didn't work:

conda install pytorch torchvision -c pytorch  # OSX only
conda install pytorch3d -c pytorch3d  # all systems

It also confused me a bit with that # OSX only comment: I thought we don't need that command if we are not on OSX.

Thanks for helping me resolve this issue. For future reference, here's what worked for me:

conda create -n pytorch3d python=3.6
conda activate pytorch3d
conda install -c pytorch pytorch torchvision cudatoolkit=10.2
conda install -c conda-forge -c fvcore fvcore
conda install pytorch3d -c pytorch3d
ghost commented 4 years ago

Hi, Sorry for bothering, but I followed the instructions above and I still got the error:


 - feature:/linux-64::__cuda==10.2=0

Your installed CUDA driver is: 10.2

and this is the conda list:


(pytorch3d) volodymyr@addepto-ubuntu-server:~$ conda list
# packages in environment at /home/volodymyr/.conda/envs/pytorch3d:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
blas                      1.0                         mkl  
ca-certificates           2020.6.20            hecda079_0    conda-forge
certifi                   2020.6.20        py36h9f0ad1d_0    conda-forge
cudatoolkit               10.2.89              hfd86e86_1  
freetype                  2.10.2               h5ab3b9f_0  
fvcore                    0.1.1.post20200716            py_0    conda-forge
intel-openmp              2020.2                      254  
jpeg                      9b                   h024ee3a_2  
lcms2                     2.11                 h396b838_0  
ld_impl_linux-64          2.33.1               h53a641e_7  
libedit                   3.1.20191231         h14c3975_1  
libffi                    3.3                  he6710b0_2  
libgcc-ng                 9.1.0                hdf63c60_0  
libpng                    1.6.37               hbc83047_0  
libstdcxx-ng              9.1.0                hdf63c60_0  
libtiff                   4.1.0                h2733197_1  
lz4-c                     1.9.2                he6710b0_1  
mkl                       2020.2                      256  
mkl-service               2.3.0            py36he904b0f_0  
mkl_fft                   1.1.0            py36h23d657b_0  
mkl_random                1.1.1            py36h0573a6f_0  
ncurses                   6.2                  he6710b0_1  
ninja                     1.10.0           py36hfd86e86_0  
numpy                     1.19.1           py36hbc911f0_0  
numpy-base                1.19.1           py36hfa32c7d_0  
olefile                   0.46                     py36_0  
openssl                   1.1.1g               h516909a_1    conda-forge
pillow                    7.2.0            py36hb39fc2d_0  
pip                       20.2.2                   py36_0  
portalocker               1.7.0            py36h9f0ad1d_0    conda-forge
python                    3.6.10               h7579374_2  
python_abi                3.6                     1_cp36m    conda-forge
pytorch                   1.6.0           py3.6_cuda10.2.89_cudnn7.6.5_0    pytorch
pyyaml                    5.3.1            py36h8c4c3a4_0    conda-forge
readline                  8.0                  h7b6447c_0  
setuptools                49.6.0                   py36_0  
six                       1.15.0                     py_0  
sqlite                    3.33.0               h62c20be_0  
tabulate                  0.8.7              pyh9f0ad1d_0    conda-forge
termcolor                 1.1.0                      py_2    conda-forge
tk                        8.6.10               hbc83047_0  
torchvision               0.7.0                py36_cu102    pytorch
tqdm                      4.48.2             pyh9f0ad1d_0    conda-forge
wheel                     0.35.1                     py_0  
xz                        5.2.5                h7b6447c_0  
yacs                      0.1.6                      py_0    conda-forge
yaml                      0.2.5                h516909a_0    conda-forge
zlib                      1.2.11               h7b6447c_3  
zstd                      1.4.5                h9ceee32_0  

Any suggestions ?

bottler commented 4 years ago

@volodymyrkepsha Please open a new issue. The problems discussed on this thread were quite specific.