This repository is a multi-task face recognition framework, built on top of the PyTorch implementation of ArcFace.
It is for our IJCNN'20 paper Neighborhood-Aware Attention Network for Semi-supervised Face Recognition.
You may refer to the repository NAAN for the fully semi-supervised implementation of our paper.
- python >= 3.5
- pytorch >= 1.0.0
- numpy
- tensorboardX
- Download the full MS-Celeb-1M realeased by ArcFace from baidu or dropbox, and move them to the folder
faces_emore
. - Download the splitted image list produced by learn-to-cluster from GoogleDrive or OneDrive, and move them to the folder
lists
. - Re-arrange the dataset using
preprocess.py
. The folder structure ofemore
is the same as:emore ├── trainset ├── testset ├── split_1 ├── split_2 ├── split_3 ├── split_4 ├── split_5 ├── split_6 ├── split_7 ├── split_8 ├── split_9
sh train_multi.sh
Modify the param path
in train_multi.sh
to the directory of the generated pseudo-label file split{}_labels.txt
.