Insight Face in TensorFlow
mxnet dataset to tfrecords
backbone network architectures [vgg16, vgg19, resnet]
backbone network architectures [resnet-se, resnext]
LResNet50E-IR
LResNet100E-IR
Additive Angular Margin Loss
CosineFace Loss
train network code
add validate during training
multi-gpu training
combine losses contributed by RogerLo.
evaluate code
Training Tips(Continual updates)
If you can't use large batch size(>128), you should use small learning rate
If you can't use large batch size(>128), you can try batch renormalization(file L_Resnet_E_IR_RBN.py)
If use multiple gpus, you should keep at least 16 images each gpu.
Try Group Normalization , you can use the code L_Resnet_E_IR_GBN.py
Using the current model, and the lr schedule in train_nets.py, you can get the results as model c
The bug about model size is 1.6G have fixed based on issues #9. If you want to get a small model, you should use L_Resnet_E_IR_fix_issues9.py
multi-gpu training code's bug have fixed. If you want to use the correct version, you should use train_nets_mgpu_new.py
Training models (Continual updates)
model name
depth
normalization layer
batch size
total_steps
download
password
model A
50
group normalization
16
1060k
model a
2q72
dbname
accuracy
lfw
0.9897
cfp_ff
0.9876
cfp_fp
0.84357
age_db30
0.914
model name
depth
normalization layer
batch size
total_steps
download
password
model B
50
batch normalization
16
1100k
model_b
h6ai
dbname
accuracy
lfw
0.9933
cfp_ff
0.99357
cfp_fp
0.8766
age_db30
0.9342
model name
depth
normalization layer
batch size
total_steps
download
password
model C
50
batch normalization
16
1950k
model_c
8mdi
dbname
accuracy
lfw
0.9963
cfp_ff
0.99586
cfp_fp
0.9087
age_db30
0.96367
model name
depth
normalization layer
batch size
total_steps
model_size
download
password
model D
50
batch normalization
136
710k
348.9MB
model_d
amdt
dbname
accuracy
lfw
0.9968
cfp_ff
0.9973
cfp_fp
0.9271
age_db30
0.9725
TensorFlow 1.4 1.6
TensorLayer 1.7
cuda8&cudnn6 or cuda9&cudnn7
Python3
GPU
cuda
cudnn
TensorFlow
TensorLayer
Maxnet
Gluon
Titan xp
9.0
7.0
1.6
1.7
1.1.0
1.1.0
DL Tools
Max BatchSize(without bn and prelu)
Max BatchSize(with bn only)
Max BatchSize(with prelu only)
Max BatchSize(with bn and prelu)
TensorLayer
(8000, 9000)
(5000, 6000)
(3000, 4000)
(2000, 3000)
Mxnet
(40000, 50000)
(20000, 30000)
(20000, 30000)
(10000, 20000)
Gluon
(7000, 8000)
(3000, 4000)
no official method
None
(8000, 9000) : 8000 without OOM, 9000 OOM Error
pretrained model download link
InsightFace mxnet
InsightFace : Additive Angular Margin Loss for Deep Face Recognition
Group Normalization
tensorlayer_vgg16
tensorlayer_vgg19
tf_slim
Deep Residual Learning for Image Recognition
Very Deep Convolutional Networks For Large-Scale Image Recognition
Squeeze-and-Excitation Networks