62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
# PSS
|
|
|
|
Code for the ECCV '22 submission "PSS: Progressive Sample Selection for Open-World Visual Representation Learning".
|
|
|
|
## Dependencies
|
|
|
|
We use python 3.7. The CUDA version needs to be 10.2. Besides DGL==0.6.1, we depend on several packages. To install dependencies using conda:
|
|
|
|
```commandline
|
|
conda create -n pss python=3.7 # create env
|
|
conda activate pss # activate env
|
|
|
|
conda install pytorch==1.7.0 torchvision==0.8.0 cudatoolkit=10.2 -c pytorch # install pytorch 1.7 version
|
|
conda install -y cudatoolkit=10.2 faiss-gpu=1.6.5 -c pytorch # install faiss gpu version matching cuda 10.2
|
|
pip install dgl-cu102 # install dgl for cuda 10.2
|
|
pip install tqdm # install tqdm
|
|
pip install matplotlib # install matplotlib
|
|
pip install pandas # install pandas
|
|
pip install pretrainedmodels # install pretrainedmodels
|
|
pip install tensorboardX # install tensorboardX
|
|
pip install seaborn # install seaborn
|
|
pip install scikit-learn
|
|
cd ..
|
|
git clone https://github.com/yjxiong/clustering-benchmark.git # install clustering-benchmark for evaluation
|
|
cd clustering-benchmark
|
|
python setup.py install
|
|
cd ../PSS
|
|
```
|
|
|
|
## Data
|
|
|
|
We use the iNaturalist 2018 dataset.
|
|
- download link: https://www.kaggle.com/c/inaturalist-2018/data;
|
|
- annotations are in `Smooth_AP/data/Inaturalist`;
|
|
- annotation txt files for different data splits are in [S3 link]|[[Google Drive](https://drive.google.com/drive/folders/1xrWogJGef4Ex5OGjiImgA06bAnk2MDrK?usp=sharing)]|[[Baidu Netdisk](https://pan.baidu.com/s/14S0Fns29a4o7kFDlNyyPjA?pwd=uwsg)] (password:uwsg).
|
|
|
|
Download `train_val2018.tar.gz` and the data split txt files to `data/Inaturalist/` folder. Extract the `tar.gz` files.
|
|
The data folder has the following structure:
|
|
```bash
|
|
PSS
|
|
|- data
|
|
| |- Inaturalist
|
|
| |- train2018.json.tar.gz
|
|
| |- train_val2018.tar.gz
|
|
| |- val2018.json.tar.gz
|
|
| |- train_val2018
|
|
| | |- Actinopterygii
|
|
| | |- ...
|
|
| |- lin_train_set1.txt
|
|
| |- train_set1.txt
|
|
| |- uin_train_set1.txt
|
|
| |- uout_train_set1.txt
|
|
| |- in_train_set1.txt
|
|
| |- Inaturalist_test_set1.txt
|
|
|-...
|
|
```
|
|
|
|
## Training
|
|
Run `bash train.sh` to train the model.
|
|
|
|
## Test
|
|
Run `bash test.sh` to evaluate on the test set. |