lili0415/PSG-biased-annotation

Usage tips for users with RTX 3090

Opened this issue · 0 comments

When I was attempting to replicate the work in this paper, I encountered many compatibility issues with CUDA on the RTX 3090 server. After some adjustments, I finally managed to replicate the test code. Therefore, I will showcase the process below.

  1. for the environment.yml, you should modify the version of the dependencies to enable your cuda(RTX3090 needs at least cuda $>=$ 11.0). Here is my environment.yml:
name: openpsg
channels:
  - pytorch
  - conda-forge
dependencies:
  - python=3.7
  - pytorch=1.7.0
  - torchvision=0.8.0
  - torchaudio==0.7.0
  - cudatoolkit=11.0
  - pip
  - pip:
    - openmim
    - pre-commit
  1. for the install methods, you should consider the exact version based on your cuda version(11.0 for example).
conda env create -f environment.yml
conda activate openpsg

# Install mmcv. Here you should notice that this link is based on cu110
pip install mmcv-full==1.4.3 -f https://download.openmmlab.com/mmcv/dist/cu110/torch1.7.0/index.html

# Install mmdet
pip install openmim
pip install mmdet==2.22.0
# Here when I use mim install, it cannot stop. I don't know the reason. Anyway, pip install works.
# mim install mmdet==2.20.0

# Install coco panopticapi
# When you cannot install based on pip install, I recommend you to git clone this git and install it by hand.
git clone git@github.com:cocodataset/panopticapi.git
cd panopticapi
pip install -v -e .
cd ../


# For visualization
conda install -c conda-forge pycocotools
# here for the same reason, you should find the package based on cuda11.0
pip install detectron2==0.5 -f \
  https://dl.fbaipublicfiles.com/detectron2/wheels/cu110/torch1.7/index.html

# If you're using wandb for logging
pip install wandb
wandb login

# If you develop and run openpsg directly, install it from source:
pip install -v -e .

# finally, here is one dataclasses that terminal shows the error to me. I don't know the effect, but I recommend you to install it.
pip install dataclasses 

Based on these two method, I hope you can replicate this code :)