『Lab』GPU服务器使用备忘

Author Avatar
IDforHYIT 4月 14, 2019

本页面访问量

  • 在其它设备中阅读本文章

总(详注)

# @IDforHYIT

# 启动Docker
dockerrun
# 选择容器
[tesnsorflow-zqy]
# 拷贝所需压缩文件至容器内
scp [email protected]:/home/hyitzqy1/MaSiwei/facenet.tar.gz ~/
# 输入密码
[passward]
# 切换进目录
cd ~
# 查看是否拷贝成功
ls
# 解压tar.gz文件,从此开始以facenet项目的训练为例。
# FaceNet,谷歌的开源通用人脸验证、识别、聚类系统/模型
tar -zxvf facenet.tar.gz
# 切换进解压文件夹
cd facenet
# 配置运行py所需的环境变量,可配合使用pwd命令查看环境文件夹所处位置信息
export PYTHONPATH=$PYTHONPATH:/home/test/facenet/src
echo $PYTHONPATH    # 查看是否配置成功
# 人脸检测和数据集的人脸对齐,先利用MTCNN对原始圄像进行人脸检测和对齐
python src/align/align_dataset_mtcnn.py data/casia/raw/ data/casia/casia_maxpy_mtcnnpy_182 --image_size 182 --margin 44
# 处理数据集拷贝出容器防一万
    # 服务器空间爆了时删除一些不必要的文件
    df -h    # 查看空间占用情况
    rm -v facenet.tar.gz    # 删除文件
    rm -rf lfw/                # 删除目录下全部文件
tar -czvf /home/test/facenet/data/casia/casia_maxpy_mtcnnpy_182.tar.gz /home/test/facenet/data/casia/
scp /home/test/facenet/data/casia/casia_maxpy_mcnnpy_182.tar.gz [email protected]:/home/hyitzqy1/MaSiwei/facenet/data/casia/
# 模型训练
python src/train_softmax.py --logs_base_dir ~/facenet/logs/facenet/ --models_base_dir ~/facenet/models/facenet/ --data_dir ~/facenet/data/casia/casia_maxpy_mtcnnalign_182/ --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir ~/facenet/data/lfw/lfw_mtcnnalign_160/ --optimizer RMSPROP --learning_rate -1 --max_nrof_epochs 80 --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-5  --center_loss_factor 1e-2 --center_loss_alfa 0.9 --batch_size 1 --gpu_memory_fraction 0.5

python src/train_softmax.py --logs_base_dir ~/facenet/logs/facenet/ --models_base_dir ~/facenet/models/facenet/ --data_dir ~/facenet/data/casia/raw/ --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir ~/facenet/data/lfw/lfw_mtcnnalign_160/ --optimizer RMSPROP --learning_rate -1 --max_nrof_epochs 80 --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-5  --center_loss_factor 1e-2 --center_loss_alfa 0.9 --batch_size 1 --gpu_memory_fraction 0.5

dockermanage    # 经常用到的命令 dockermanage 熟悉就好
rm    # 删除刚刚申请的容器以节省空间
[container number]    

搭建facenet环境并commit

dockerrun
[tesnsorflow-zqy]
cd ~
mkdir MaSiwei
cd ..
scp [email protected]:/home/hyitzqy1/MaSiwei/datasets/facenet.tar.gz ~/MaSiwei/
[passward]
cd ~/MaSiwei/
tar -zxvf facenet.tar.gz    # 纯代码,不含数据集
export PYTHONPATH=$PYTHONPATH:/home/test/MaSiwei/facenet/src/    # 添加facenet环境变量支持 |---> 实测重登会复位,暂时性命令,仅限本次登录有效
# 查看是否配置成功
echo $PYTHONPATH
python
import facenet
exit()
Ctrl+D    # 退出Docker

dockermanage    # 经常用到的命令 dockermanage 熟悉就好
# 删除刚刚申请的容器以节省空间
rm
[container number]
# 提交刚刚的容器环境到Web端使用
commit
[container number]    # 根据时间判定,一般最新那个
[commit success]    # OK! 可以在Web端使用facenet环境了

64633训练计划

dockerrun
1
scp [email protected]:/home/hyitzqy1/MaSiwei/datasets/casia_raw_64633_0001993.tar.gz ~/MaSiwei/facenet/data/
cd ~/MaSiwei/facenet/data/
mkdir -p casia/raw
tar -zxvf casia_raw_64633_0001993.tar.gz -C casia/raw/    # 命令可优化,待更。已更。
cd /
cd ~/MaSiwei/facenet/
export PYTHONPATH=$PYTHONPATH:/home/test/MaSiwei/facenet/src/
python src/align/align_dataset_mtcnn.py data/casia/raw data/casia/casia_maxpy_mtcnnpy_182 --image_size 182 --margin 44

scp [email protected]:/home/hyitzqy1/MaSiwei/datasets/lfw.tar.gz ~/MaSiwei/facenet/data/
mkdir -p lfw/raw
tar -zxvf lfw.tar.gz -C lfw/raw/
cd /
cd ~/MaSiwei/facenet/
python src/align/align_dataset_mtcnn.py data/lfw/raw data/lfw/lfw_mtcnnpy_160 --image_size 160 --margin 32 --random_order
cd /home/test/MaSiwei/facenet/data/casia

tar -czvf casia_maxpy_mtcnnpy_182.tar.gz casia_maxpy_mtcnnpy_182
mv casia_maxpy_mtcnnpy_182.tar.gz casia_maxpy_mtcnnpy_182_64633_0001993.tar.gz
scp /home/test/MaSiwei/facenet/data/casia/casia_maxpy_mtcnnpy_182_64633_0001993.tar.gz [email protected]:/home/hyitzqy1/MaSiwei/datasets/

cd /
cd ~/MaSiwei/facenet/
python src/train_softmax.py --logs_base_dir logs/facenet/ --models_base_dir models/facenet/ --data_dir data/casia/casia_maxpy_mtcnnpy_182 --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir data/lfw/lfw_mtcnnalign_160/ --optimizer RMSPROP --learning_rate -1 --max_nrof_epochs 150 --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-5 --center_loss_factor 1e-2 --center_loss_alfa 0.9

python src/train_softmax.py --logs_base_dir logs/facenet/ --models_base_dir models/facenet/ --data_dir data/casia/casia_maxpy_mtcnnpy_182/ --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir data/lfw/lfw_mtcnnalign_160/ --optimizer ADAM --learning_rate -1 --max_nrof_epochs 150 --keep_probability 0.8 --random_crop --random_flip --use_fixed_image_standardization --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-4 --embedding_size 512 --lfw_distance_metric 1 --lfw_use_flipped_images --lfw_subtract_mean --validation_set_split_ratio 0.05 --validate_every_n_epochs 5 --prelogits_norm_loss_factor 5e-4

实验过程

数据集 Info Notes
LFW 13233 images, 5749 people
1680 people with two or more images
(本机)Accuracy: 0. 98500+-0.00658
CASIA-WebFace(all) 494414 images, 10575 people (GPU)out of memory(30GB)
CASIA-WebFace(part) 64633 images (校正后64133) (GPU)with extension png or jpg
CASIA-WebFace(little) 11691 images (校正后11600) (GPU)同上

data_list_info

LFW(本机跑)

人脸检测+校正+测试

用项目提供的范例模型准确度验证结果

accuracy

准确率、验证率等

Accuracy: 0. 98500+-0.00658
Validation rate: 0. 90100+-0. 02395 @ FAR=0. 00067
Area Under Curve (AUC) :
0.998
Equal Error Rate (EER) : 0. 016

比对两个人脸的欧式距离

facenet_compare

facenet_compare_1

两个人像之间的欧几里得距离越近,说明它们越相似。一般欧式距离小于1,就可以认为是同一个人

lfw训练

facenet_lfw_train

本机GPU

Accuracy: 0. 50000+-0. 00000
Validation rate: 0. 00000+-0. 00000 @ FAR=0. 00000

facenet_lfw_train_cpu

本机CPU

Accuracy: 0.56700+-0.02968
Validation rate: 0.01233+-0.00423 @ FAR=0.00133

Notes:

accracy 和 validation rate计算方式如下:
accuracy =(判断正确的 同一个人+ 判断正确的 不同的人) / 所有数据
validation rate = 判断正确的同一个人的数量 / 所有的同一个人 的数量

facenet_lfw_train_pic


11691计划(GPU服务器跑)

以此为

dockerrun
[tesnsorflow-zqy]
scp [email protected]:/home/hyitzqy1/MaSiwei/datasets/casia_raw_11691_0000299.tar.gz ~/MaSiwei/facenet/data/
[passward]
cd ~/MaSiwei/facenet/data/
mkdir -p casia/raw
tar -zxvf casia_raw_11691_0000299.tar.gz -C casia/raw
cd ~/MaSiwei/facenet/
# 配置临时PYTHONPATH
export PYTHONPATH=$PYTHONPATH:/home/test/MaSiwei/facenet/src/
# 数据集人脸矫正,及哦啊正后图片存入casia_maxpy_mtcnnpy_182文件夹
python src/align/align_dataset_mtcnn.py data/casia/raw data/casia/casia_maxpy_mtcnnpy_182 --image_size 182 --margin 44

11691_mtcnn

Total number of images: 11691
Number of successfully aligned images: 11596

# 处理后结果压缩复制出容器以作备用
cd ~/MaSiwei/facenet/data/casia/
tar -czvf casia_maxpy_mtcnnpy_182.tar.gz casia_maxpy_mtcnnpy_182
tar -czvf casia_maxpy_mtcnnpy_182_11691_0000299.tar.gz casia_maxpy_mtcnnpy_182
scp /home/test/MaSiwei/facenet/data/casia/casia_maxpy_mtcnnpy_182_11691_0000299.tar.gz [email protected]:/home/hyitzqy1/MaSiwei/datasets/

:原始数据集 :检测及对齐后的数据集11691_mtcnn_pic

MTCNN 检测得到的人脸框的基础上缩小32px,并缩放到160 × 160 大小(人脸检测和对齐

# 导入lfw数据集(已校正)
scp [email protected]:/home/hyitzqy1/MaSiwei/datasets/lfw.tar.gz ~/MaSiwei/facenet/data/
cd ~/MaSiwei/facenet/data/
mkdir -p lfw/raw
tar -zxvf lfw.tar.gz -C lfw/raw/
# 训练
cd ~/MaSiwei/facenet/
python src/train_softmax.py --logs_base_dir logs/facenet/ --models_base_dir models/facenet/ --data_dir data/casia/casia_maxpy_mtcnnpy_182 --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir data/lfw/lfw_mtcnnalign_160/ --optimizer RMSPROP --learning_rate -1 --max_nrof_epochs 150 --keep_probability 0.8 --random_crop --random_flip --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-5 --center_loss_factor 1e-2 --center_loss_alfa 0.9
# or(maybe)
python src/train_softmax.py --logs_base_dir logs/facenet/ --models_base_dir models/facenet/ --data_dir data/casia/casia_maxpy_mtcnnpy_182/ --image_size 160 --model_def models.inception_resnet_v1 --lfw_dir data/lfw/lfw_mtcnnalign_160/ --optimizer ADAM --learning_rate -1 --max_nrof_epochs 150 --keep_probability 0.8 --random_crop --random_flip --use_fixed_image_standardization --learning_rate_schedule_file data/learning_rate_schedule_classifier_casia.txt --weight_decay 5e-4 --embedding_size 512 --lfw_distance_metric 1 --lfw_use_flipped_images --lfw_subtract_mean --validation_set_split_ratio 0.05 --validate_every_n_epochs 5 --prelogits_norm_loss_factor 5e-4

facenet_casia_train_picError



hey, bye~

This blog is under a CC BY-NC-SA 3.0 Unported License
本文链接:https://idforhyit.github.io/2019/04/14/Lab-GPU-Notes/