深度学习之InsightFace:人脸分析项目

一、 detection部分选择retinaface

https://github.com/deepinsight/insightface/tree/master/detection/retinaface

1数据

使用WIDERFACE数据集,下载来源:http://shuoyang1213.me/WIDERFACE/index.html 标签来源:https://pan.baidu.com/s/1Laby0EctfuJGgGMgRRgykA
在retinaface目录下新建data目录,然后data下再建retinaface目录,如下:
在这里插入图片描述
在这里插入图片描述

2安装

pip install -U insightface
pip install cytion

安装gpu版本mxnet(必须与cuda版本对应)

pip install mxnet-cu101  #对应cuda10.1

此时make一下生成cxx工具
由于使用多GPU方式进行训练,因此需要安装NCCL,否则会报错: OSError: libnccl.so.2: cannot open shared object file: No such file or directory
在 Ubuntu 上安装NCCL首先需要向包含NCCL软件包的 APT 系统添加一个存储库,然后通过 APT安装NCCL软件包。有两个可用的存储库,一个本地存储库和一个网络存储库,建议选择后者,在此展示网络存储库安装方式。参考官网:https://docs.nvidia.com/deeplearning/nccl/install-guide/index.html

(1)安装钥匙

例如使用 Ubuntu 18.04 的网络存储库安装时:

sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub

需指定自己的Ubuntu版本型号以及CPU架构。

(2)安装存储库

sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"

(3)更新APT数据库

sudo apt update

(4)安装 libnccl2以及libncl-dev

sudo apt install libnccl2 libnccl-dev

3训练

(1)复制rcnn/sample_config.py到rcnn/config.py

(2)下载 ImageNet ResNet50 预训练模型并将它们解压放入model/ 下载链接:https://pan.baidu.com/s/1WAkU9ZA_j-OmzO-sdk9whA
在这里插入图片描述

(3)开启训练前,由于使用的是ResNet50预训练模型,所以在rcnn/config.py中需做出以下修改:
在这里插入图片描述
运行以下命令开始训练:

CUDA_VISIBLE_DEVICES='0, 1' python -u train.py --prefix model/resnet-50 --network resnet

目前只有0,1两个GPU空闲可用,可运行nvidia-smi命令查看当前空闲可用的GPU id进行选择更改。

4测试

可以在训练集中随便选一张图片,例如选择:20_Family_Group_Family_Group_20_290.jpg这张图片,将其放在retinaface目录下:
在这里插入图片描述
然后修改test.py文件如下:
在这里插入图片描述
运行如下命令则可以测试这张图片:

CUDA_VISIBLE_DEVICES='0, 1' python -u test.py --prefix model/resnet-50 --network resnet

二 、 recognition部分选择arcface _mxnet

https://github.com/deepinsight/insightface/tree/master/recognition/arcface_mxnet

1、下载训练数据集MS1M-ArcFace: https://pan.baidu.com/s/1S6LJZGdqcZRle1vlcMzHOQ
解压后将其放入insightface/recognition/datasets/ 如下:
在这里插入图片描述

2、编辑配置文件

cp sample_config.py config.py
vim config.py # 编辑数据集路径等

在这里插入图片描述
3、创建sh文件然后训练
进入arcface_mxnet/目录,编辑

vim run_train.sh

编辑下面三行代码:

export MXNET_CPU_WORKER_NTHREADS=24
export MXNET_ENGINE_TYPE=ThreadedEnginePerDevice

CUDA_VISIBLE_DEVICES='0,1' python -u train.py --network r100 --loss arcface --dataset emore --per-batch-size 36

保存退出,在终端运行
bash run_train.sh 则开始训练

模型开始训练如下图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值