README.md 2.11 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# 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.