Open giuliaelgarcia opened 9 months ago
I'm happy to share my environment. If there are any differences, please use the author's settings as the standard.
I built the environment by executing the following code:
conda create -n scgpt_2
conda activate scgpt_2
conda install python=3.10.11 cudatoolkit=11.7 cudatoolkit-dev 'gxx>=6.0.0,<12.0' cudnn -c conda-forge
pip install torch==1.13.0+cu117 torchvision==0.14.0+cu117 torchaudio==0.13.0 --extra-index-url https://download.pytorch.org/whl/cu117
pip install packaging
pip install flash-attn==1.0.4 --no-build-isolation
conda install r-base r-devtools
pip install --no-deps scgpt
pip install ipykernel
python -m ipykernel install --user --name=scgpt_2
pip install pandas
pip install scanpy
pip install scvi-tools
pip install numba --upgrade
pip install numpy==1.24.4
pip install torchtext==0.14.0
pip install scib
pip install datasets==2.14.5 transformers==4.33.2
I exported the following via conda env export
:
name: scgpt_2
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- conda-forge
- defaults
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- _r-mutex=1.0.0=anacondar_1
- binutils_impl_linux-64=2.40=hf600244_0
- bzip2=1.0.8=hd590300_5
- ca-certificates=2024.2.2=hbcca054_0
- cairo=1.14.8=0
- cuda-version=11.7=h67201e3_2
- cudatoolkit=11.7.1=h4bc3d14_13
- cudatoolkit-dev=11.7.0=h1de0b5d_6
- cudnn=6.0=0
- curl=7.26.0=1
- fontconfig=2.12.1=3
- freetype=2.5.5=2
- gcc=11.4.0=h7baecda_2
- gcc_impl_linux-64=11.4.0=h7aa1c59_5
- glib=2.50.2=1
- gsl=2.2.1=0
- gxx=11.4.0=h7baecda_2
- gxx_impl_linux-64=11.4.0=h7aa1c59_5
- harfbuzz=0.9.39=2
- icu=54.1=0
- jbig=2.1=0
- jpeg=8d=2
- kernel-headers_linux-64=2.6.32=he073ed8_17
- ld_impl_linux-64=2.40=h41732ed_0
- libffi=3.4.2=h7f98852_5
- libgcc=7.2.0=h69d50b8_2
- libgcc-devel_linux-64=11.4.0=h922705a_105
- libgcc-ng=13.2.0=h807b86a_5
- libgomp=13.2.0=h807b86a_5
- libiconv=1.14=0
- libnsl=2.0.1=hd590300_0
- libpng=1.6.30=1
- libsanitizer=11.4.0=h4dcbe23_5
- libstdcxx-devel_linux-64=11.4.0=h922705a_105
- libstdcxx-ng=13.2.0=h7e041cc_5
- libtiff=4.0.6=2
- libuuid=1.41.5=h5eee18b_0
- libxml2=2.9.4=0
- ncurses=6.4=h59595ed_2
- openssl=1.1.1w=h7f8727e_0
- pango=1.40.3=1
- pcre=8.39=1
- pip=24.0=pyhd8ed1ab_0
- pixman=0.34.0=0
- python=3.10.11=h7a1cb2a_2
- r-base=3.3.2=0
- r-curl=2.3=r3.3.2_0
- r-devtools=1.12.0=r3.3.2_0
- r-digest=0.6.10=r3.3.2_0
- r-git2r=0.16.0=r3.3.2_0
- r-httr=1.2.1=r3.3.2_0
- r-jsonlite=1.1=r3.3.2_0
- r-memoise=1.0.0=r3.3.2_0
- r-mime=0.5=r3.3.2_0
- r-openssl=0.9.5=r3.3.2_0
- r-r6=2.2.0=r3.3.2_0
- r-rstudioapi=0.6=r3.3.2_0
- r-whisker=0.3_2=r3.3.2_2
- r-withr=1.0.2=r3.3.2_0
- readline=8.2=h8228510_1
- setuptools=69.0.3=pyhd8ed1ab_0
- sqlite=3.41.2=h5eee18b_0
- sysroot_linux-64=2.12=he073ed8_17
- tk=8.6.12=h1ccaba5_0
- wheel=0.42.0=pyhd8ed1ab_0
- xz=5.2.10=h5eee18b_1
- zlib=1.2.13=h5eee18b_0
- pip:
- absl-py==2.1.0
- aiohttp==3.9.3
- aiosignal==1.3.1
- anndata==0.10.5.post1
- array-api-compat==1.4.1
- asttokens==2.4.1
- async-timeout==4.0.3
- attrs==23.2.0
- certifi==2024.2.2
- cffi==1.16.0
- charset-normalizer==3.3.2
- chex==0.1.85
- click==8.1.7
- cmake==3.28.3
- comm==0.2.1
- contextlib2==21.6.0
- contourpy==1.2.0
- cryptography==38.0.4
- cycler==0.12.1
- datasets==2.14.5
- debugpy==1.8.1
- decorator==5.1.1
- deprecated==1.2.14
- dill==0.3.7
- docker-pycreds==0.4.0
- docrep==0.3.2
- einops==0.7.0
- etils==1.7.0
- exceptiongroup==1.2.0
- executing==2.0.1
- filelock==3.13.1
- flash-attn==1.0.4
- flax==0.8.1
- fonttools==4.49.0
- frozenlist==1.4.1
- fsspec==2023.6.0
- gitdb==4.0.11
- gitpython==3.1.42
- grpcio==1.60.1
- h5py==3.10.0
- huggingface-hub==0.20.3
- idna==3.6
- igraph==0.11.4
- importlib-resources==6.1.1
- ipaddress==1.0.23
- ipykernel==6.29.2
- ipython==8.21.0
- jax==0.4.24
- jaxlib==0.4.24
- jedi==0.19.1
- jinja2==3.1.3
- joblib==1.3.2
- jupyter-client==8.6.0
- jupyter-core==5.7.1
- kiwisolver==1.4.5
- leidenalg==0.10.2
- lightning==2.1.4
- lightning-utilities==0.10.1
- lit==17.0.6
- llvmlite==0.42.0
- markdown-it-py==3.0.0
- markupsafe==2.1.5
- matplotlib==3.8.3
- matplotlib-inline==0.1.6
- mdurl==0.1.2
- ml-collections==0.1.1
- ml-dtypes==0.3.2
- mpmath==1.3.0
- msgpack==1.0.7
- mudata==0.2.3
- multidict==6.0.5
- multipledispatch==1.0.0
- multiprocess==0.70.15
- natsort==8.4.0
- nest-asyncio==1.6.0
- networkx==3.2.1
- numba==0.59.0
- numpy==1.24.4
- numpyro==0.13.2
- nvidia-cublas-cu11==11.10.3.66
- nvidia-cublas-cu12==12.1.3.1
- nvidia-cuda-cupti-cu11==11.7.101
- nvidia-cuda-cupti-cu12==12.1.105
- nvidia-cuda-nvrtc-cu11==11.7.99
- nvidia-cuda-nvrtc-cu12==12.1.105
- nvidia-cuda-runtime-cu11==11.7.99
- nvidia-cuda-runtime-cu12==12.1.105
- nvidia-cudnn-cu11==8.5.0.96
- nvidia-cudnn-cu12==8.9.2.26
- nvidia-cufft-cu11==10.9.0.58
- nvidia-cufft-cu12==11.0.2.54
- nvidia-curand-cu11==10.2.10.91
- nvidia-curand-cu12==10.3.2.106
- nvidia-cusolver-cu11==11.4.0.1
- nvidia-cusolver-cu12==11.4.5.107
- nvidia-cusparse-cu11==11.7.4.91
- nvidia-cusparse-cu12==12.1.0.106
- nvidia-nccl-cu11==2.14.3
- nvidia-nccl-cu12==2.19.3
- nvidia-nvjitlink-cu12==12.3.101
- nvidia-nvtx-cu11==11.7.91
- nvidia-nvtx-cu12==12.1.105
- opt-einsum==3.3.0
- optax==0.1.9
- orbax-checkpoint==0.5.3
- packaging==23.2
- pandas==1.5.3
- parso==0.8.3
- pathtools==0.1.2
- patsy==0.5.6
- pexpect==4.9.0
- pillow==10.2.0
- platformdirs==4.2.0
- promise==2.3
- prompt-toolkit==3.0.43
- protobuf==3.20.3
- psutil==5.9.8
- ptyprocess==0.7.0
- pure-eval==0.2.2
- pyarrow==15.0.0
- pycparser==2.21
- pydot==2.0.0
- pygments==2.17.2
- pyjwt==2.8.0
- pynndescent==0.5.11
- pyopenssl==22.1.0
- pyparsing==3.1.1
- pyro-api==0.1.2
- pyro-ppl==1.8.6
- python-dateutil==2.8.2
- pytorch-lightning==2.2.0.post0
- pytz==2024.1
- pyyaml==6.0.1
- pyzmq==25.1.2
- regex==2023.12.25
- requests==2.31.0
- rich==13.7.0
- safetensors==0.4.2
- scanpy==1.9.8
- schedule==1.2.1
- scib==1.1.4
- scikit-learn==1.4.1.post1
- scikit-misc==0.3.1
- scipy==1.12.0
- scvi-tools==1.1.0.post2
- seaborn==0.13.2
- sentry-sdk==1.40.4
- session-info==1.0.0
- setproctitle==1.3.3
- shortuuid==1.0.11
- six==1.16.0
- smmap==5.0.1
- stack-data==0.6.3
- statsmodels==0.14.1
- stdlib-list==0.10.0
- sympy==1.12
- tensorstore==0.1.53
- texttable==1.7.0
- threadpoolctl==3.3.0
- tokenizers==0.13.3
- toolz==0.12.1
- torch==1.13.0+cu117
- torchaudio==0.13.0+cu117
- torchmetrics==1.3.1
- torchtext==0.14.0
- torchvision==0.14.0+cu117
- tornado==6.4
- tqdm==4.66.2
- traitlets==5.14.1
- transformers==4.33.2
- triton==2.2.0
- typing-extensions==4.9.0
- tzdata==2024.1
- umap-learn==0.5.5
- urllib3==1.26.18
- wcwidth==0.2.13
- wrapt==1.16.0
- xxhash==3.4.1
- yarl==1.9.4
- zipp==3.17.0
prefix: /home/tiger/miniconda3/envs/scgpt_2
I referenced rpeys's comment. https://github.com/bowang-lab/scGPT/issues/69#issuecomment-1737520314
name: scGPT_base
channels:
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _openmp_mutex=5.1=1_gnu
- _r-mutex=1.0.0=anacondar_1
- _sysroot_linux-64_curr_repodata_hack=3=haa98f57_10
- binutils_impl_linux-64=2.38=h2a08ee3_1
- binutils_linux-64=2.38.0=hc2dff05_0
- blas=1.0=openblas
- bwidget=1.9.16=h9eba36c_0
- bzip2=1.0.8=h5eee18b_5
- c-ares=1.19.1=h5eee18b_0
- ca-certificates=2024.3.11=h06a4308_0
- cairo=1.16.0=hb05425b_5
- curl=8.5.0=hdbd6064_0
- expat=2.5.0=h6a678d5_0
- fontconfig=2.14.1=h4c34cd2_2
- freetype=2.12.1=h4a9f257_0
- fribidi=1.0.10=h7b6447c_0
- gcc_impl_linux-64=11.2.0=h1234567_1
- gcc_linux-64=11.2.0=h5c386dc_0
- gfortran_impl_linux-64=11.2.0=h1234567_1
- gfortran_linux-64=11.2.0=hc2dff05_0
- glib=2.78.4=h6a678d5_0
- glib-tools=2.78.4=h6a678d5_0
- graphite2=1.3.14=h295c915_1
- gxx_impl_linux-64=11.2.0=h1234567_1
- gxx_linux-64=11.2.0=hc2dff05_0
- harfbuzz=4.3.0=hf52aaf7_2
- icu=73.1=h6a678d5_0
- jpeg=9e=h5eee18b_1
- kernel-headers_linux-64=3.10.0=h57e8cba_10
- krb5=1.20.1=h143b758_1
- ld_impl_linux-64=2.38=h1181459_1
- lerc=3.0=h295c915_0
- libcurl=8.5.0=h251f7ec_0
- libdeflate=1.17=h5eee18b_1
- libedit=3.1.20230828=h5eee18b_0
- libev=4.33=h7f8727e_1
- libffi=3.4.4=h6a678d5_0
- libgcc-devel_linux-64=11.2.0=h1234567_1
- libgcc-ng=11.2.0=h1234567_1
- libgfortran-ng=11.2.0=h00389a5_1
- libgfortran5=11.2.0=h1234567_1
- libglib=2.78.4=hdc74915_0
- libgomp=11.2.0=h1234567_1
- libiconv=1.16=h7f8727e_2
- libnghttp2=1.57.0=h2d74bed_0
- libopenblas=0.3.21=h043d6bf_0
- libpng=1.6.39=h5eee18b_0
- libssh2=1.10.0=hdbd6064_2
- libstdcxx-devel_linux-64=11.2.0=h1234567_1
- libstdcxx-ng=11.2.0=h1234567_1
- libtiff=4.5.1=h6a678d5_0
- libuuid=1.41.5=h5eee18b_0
- libwebp-base=1.3.2=h5eee18b_0
- libxcb=1.15=h7f8727e_0
- libxml2=2.10.4=hf1b16e4_1
- lz4-c=1.9.4=h6a678d5_0
- make=4.2.1=h1bed415_1
- ncurses=6.4=h6a678d5_0
- openssl=3.0.13=h7f8727e_0
- pango=1.50.7=h05da053_0
- pcre2=10.42=hebb0a14_0
- pip=23.3.1=py39h06a4308_0
- pixman=0.40.0=h7f8727e_1
- python=3.9.19=h955ad1f_0
- r=3.6.0=r43_0
- r-base=4.3.1=h1ae530e_0
- r-boot=1.3_28.1=r43h6115d3f_0
- r-class=7.3_22=r43h76d94ec_0
- r-cluster=2.1.4=r43h640688f_0
- r-codetools=0.2_19=r43h6115d3f_0
- r-foreign=0.8_85=r43h76d94ec_0
- r-kernsmooth=2.23_22=r43h640688f_0
- r-lattice=0.22_5=r43h76d94ec_0
- r-mass=7.3_60=r43h76d94ec_0
- r-matrix=1.6_1.1=r43h76d94ec_0
- r-mgcv=1.9_0=r43h76d94ec_0
- r-nlme=3.1_163=r43h640688f_0
- r-nnet=7.3_19=r43h76d94ec_0
- r-recommended=3.6.0=r43_0
- r-rpart=4.1.21=r43h76d94ec_0
- r-spatial=7.3_17=r43h76d94ec_0
- r-survival=3.5_7=r43h76d94ec_0
- readline=8.2=h5eee18b_0
- sqlite=3.41.2=h5eee18b_0
- sysroot_linux-64=2.17=h57e8cba_10
- tk=8.6.12=h1ccaba5_0
- tktable=2.10=h3d55465_1
- xz=5.4.6=h5eee18b_0
- zlib=1.2.13=h5eee18b_0
- zstd=1.5.5=hc292b87_0
- pip:
- absl-py==0.15.0
- aiohttp==3.8.1
- aiosignal==1.2.0
- anndata==0.8.0
- anndata2ri==1.0.6
- appdirs==1.4.4
- argon2-cffi==21.3.0
- argon2-cffi-bindings==21.2.0
- async-timeout==4.0.2
- attrs==21.4.0
- backcall==0.2.0
- beautifulsoup4==4.11.1
- bleach==5.0.0
- cached-property==1.5.2
- cachetools==4.2.4
- cell-gears==0.0.1
- certifi==2022.6.15
- cffi==1.15.0
- charset-normalizer==2.0.12
- chex==0.1.3
- click==8.1.7
- colorama==0.4.5
- commonmark==0.9.1
- cycler==0.11.0
- datasets==2.3.2
- debugpy==1.6.0
- decorator==5.1.1
- defusedxml==0.7.1
- deprecated==1.2.13
- dill==0.3.5.1
- dm-tree==0.1.7
- docker-pycreds==0.4.0
- docrep==0.3.2
- dunamai==1.12.0
- einops==0.7.0
- entrypoints==0.4
- et-xmlfile==1.1.0
- etils==0.9.0
- faiss-cpu==1.8.0
- faiss-gpu==1.7.2
- fastjsonschema==2.15.3
- filelock==3.7.1
- flash-attn==1.0.4
- flatbuffers==1.12
- flax==0.4.1
- fonttools==4.33.3
- frozenlist==1.3.0
- fsspec==2024.3.1
- future==0.18.2
- get-version==3.5.4
- gitdb==4.0.11
- gitpython==3.1.42
- google-auth==1.35.0
- google-auth-oauthlib==0.4.6
- grpcio==1.47.0
- h5py==3.1.0
- huggingface-hub==0.17.3
- idna==3.3
- igraph==0.9.11
- importlib-metadata==4.12.0
- importlib-resources==5.8.0
- ipykernel==6.15.0
- ipython==7.34.0
- ipython-genutils==0.2.0
- ipywidgets==7.7.1
- jax==0.4.13
- jaxlib==0.4.13
- jedi==0.18.1
- jinja2==3.1.2
- joblib==1.1.0
- jsonschema==4.6.0
- jupyter-client==7.3.4
- jupyter-core==4.10.0
- jupyterlab-pygments==0.2.2
- jupyterlab-widgets==1.1.1
- kiwisolver==1.4.3
- leidenalg==0.8.10
- llvmlite==0.38.1
- louvain==0.7.1
- markdown==3.3.7
- markupsafe==2.1.1
- matplotlib==3.5.2
- matplotlib-inline==0.1.3
- mistune==0.8.4
- ml-dtypes==0.3.2
- more-itertools==8.13.0
- mpmath==1.3.0
- msgpack==1.0.4
- multidict==6.0.2
- multipledispatch==0.6.0
- multiprocess==0.70.13
- natsort==8.1.0
- nbclient==0.6.4
- nbconvert==6.5.0
- nbformat==5.4.0
- nest-asyncio==1.5.5
- networkx==2.6.3
- notebook==6.4.12
- numba==0.55.2
- numpy==1.21.6
- numpyro==0.9.2
- nvidia-cublas-cu11==11.10.3.66
- nvidia-cublas-cu12==12.1.3.1
- nvidia-cuda-cupti-cu12==12.1.105
- nvidia-cuda-nvrtc-cu11==11.7.99
- nvidia-cuda-nvrtc-cu12==12.1.105
- nvidia-cuda-runtime-cu11==11.7.99
- nvidia-cuda-runtime-cu12==12.1.105
- nvidia-cudnn-cu11==8.5.0.96
- nvidia-cudnn-cu12==8.9.2.26
- nvidia-cufft-cu12==11.0.2.54
- nvidia-curand-cu12==10.3.2.106
- nvidia-cusolver-cu12==11.4.5.107
- nvidia-cusparse-cu12==12.1.0.106
- nvidia-nccl-cu12==2.18.1
- nvidia-nvjitlink-cu12==12.4.99
- nvidia-nvtx-cu12==12.1.105
- oauthlib==3.2.0
- openpyxl==3.0.10
- opt-einsum==3.3.0
- optax==0.1.2
- orbax==0.1.0
- packaging==21.3
- pandas==1.3.5
- pandocfilters==1.5.0
- parso==0.8.3
- patsy==0.5.2
- pexpect==4.8.0
- pickleshare==0.7.5
- pillow==9.1.1
- pluggy==0.13.1
- prometheus-client==0.14.1
- prompt-toolkit==3.0.29
- protobuf==3.19.4
- psutil==5.9.1
- ptyprocess==0.7.0
- py==1.11.0
- pyarrow==8.0.0
- pyasn1==0.4.8
- pyasn1-modules==0.2.8
- pycparser==2.21
- pydeprecate==0.3.1
- pydot==1.4.2
- pygments==2.12.0
- pynndescent==0.5.7
- pyparsing==3.0.9
- pyro-api==0.1.2
- pyro-ppl==1.8.0
- pyrsistent==0.18.1
- pytest==5.4.3
- python-dateutil==2.8.2
- python-igraph==0.9.11
- pytorch-lightning==1.5.10
- pytz==2022.1
- pytz-deprecation-shim==0.1.0.post0
- pyyaml==6.0
- pyzmq==23.2.0
- regex==2023.12.25
- requests==2.28.0
- requests-oauthlib==1.3.1
- responses==0.18.0
- rich==11.2.0
- rpy2==3.4.2
- rsa==4.8
- safetensors==0.4.2
- scanpy==1.9.1
- scgpt==0.2.1
- scib==1.0.3
- scikit-learn==1.0.2
- scikit-misc==0.1.4
- scipy==1.7.3
- scvi-tools==0.16.4
- seaborn==0.11.2
- send2trash==1.8.0
- sentry-sdk==1.43.0
- session-info==1.0.0
- setproctitle==1.3.3
- setuptools==59.5.0
- setuptools-scm==7.0.2
- six==1.15.0
- smmap==5.0.1
- soupsieve==2.3.2.post1
- statsmodels==0.13.2
- stdlib-list==0.8.0
- sympy==1.12
- tensorboard==2.8.0
- tensorboard-data-server==0.6.1
- tensorboard-plugin-wit==1.8.1
- tensorstore==0.1.28
- terminado==0.15.0
- texttable==1.6.4
- threadpoolctl==3.1.0
- tinycss2==1.1.1
- tokenizers==0.14.1
- tomli==2.0.1
- toolz==0.11.2
- torch==2.1.2
- torch-geometric==2.3.0
- torchaudio==2.1.2+cu121
- torchdata==0.7.1
- torchmetrics==0.9.1
- torchtext==0.16.2
- torchvision==0.16.2+cu121
- tornado==6.1
- tqdm==4.64.0
- traitlets==5.3.0
- transformers==4.34.0
- triton==2.1.0
- typing-extensions==4.2.0
- tzdata==2022.1
- tzlocal==4.2
- umap-learn==0.5.3
- urllib3==1.26.12
- wandb==0.16.4
- wcwidth==0.2.5
- webencodings==0.5.1
- werkzeug==2.1.2
- wheel==0.37.1
- widgetsnbextension==3.6.1
- wrapt==1.12.1
- xxhash==3.0.0
- yarl==1.7.2
- zipp==3.8.0
prefix: /home/chloewxq/.conda/envs/scGPT_base
Thank you for sharing the env! Here is to share another option if you work with newer version of cuda.
Hello!
I encountered an issue when installing scgpt
led to an automatic upgrade of PyTorch to version 2.1.2
, which is incompatible with my system's CUDA version 11.6
and NVIDIA driver version 510.54
. The scgpt
installation uninstalled my existing torch 1.13.0
, which is the version compatible with my CUDA.
To resolve this, I manually reverted to the correct version of PyTorch after the installation of scgpt
and related packages. I also made sure to install a compatible version of pyro-ppl
.
Here is the Singularity definition file that I used to successfully build my image:
Bootstrap: docker
From: pytorch/pytorch:1.13.0-cuda11.6-cudnn8-devel
%post
# Set environment variable to prevent interactive prompts
export DEBIAN_FRONTEND=noninteractive
# Update the package list and install packages
apt-get update -y
apt-get install -y git r-base tzdata
# Install Python packages using pip
pip install packaging
pip install scgpt "flash-attn<1.0.5"
pip install markupsafe==2.0.1
pip install wandb
pip uninstall torch -y
pip install torch==1.13.0+cu116 -f https://download.pytorch.org/whl/torch_stable.html
pip install pyro-ppl==1.8.6
%environment
export DEBIAN_FRONTEND=noninteractive
export PATH=/opt/conda/bin:$PATH
%runscript
exec "$@"
I hope this helps anyone facing similar issues!
Is it possible to get a conda env yaml to make installation easier because I keep getting many dependency errors due to version specifications. I use a CentOS7 HPC.