最近看人脸识别,借着insight face,顺便学习了一下mxnet的使用。
论文
InsightFace : Additive Angular Margin Loss for Deep Face Recognition
https://arxiv.org/abs/1801.07698
官方mxnet代码:
https://github.com/deepinsight/insightface
作者提供的精度99.8%。
直接在个人pc上跑,按照github上的参数,修改了batch大小-32,训练了20个epoch左右,验证集lfw,得到了最高精度99.25%。
train和train_softmax都可用。
修改一下train_net:
直接默认pc的gpu就可以了。
def train_net(args):
ctx = []
'''
cvd = os.environ['CUDA_VISIBLE_DEVICES'].strip()
if len(cvd)>0:
for i in xrange(len(cvd.split(','))):
ctx.append(mx.gpu(i))
if len(ctx)==0:
ctx = [mx.cpu()]
print('use cpu')
else:
print('gpu num:', len(ctx))
'''
ctx = [mx.gpu()]
再修改前面几个参数:
parser.add_argument('--data-dir', default='', help='training set directory')
parser.add_argument('--prefix', default='', help='directory to save model.')
parser.add_argument('--pretrained', default='', help='pretrained model to load')
第一个,下载数据库的路径。I:\\...\\datasets\\faces_ms1m_112x112
第二个保存模型的路径。
第三个为预训练模型的路径。这边有一个格式问题,根据模型的命名方式自己改一下。
其他的自己看着改改都可以。
貌似没什么要改的了。