目录

一、相关知识

二、训练与运行

2.1 背景知识

tfrecords

2.2 程序作用

2.3 命令行

2.4 运行程序

2.5 指定运行的显卡命令行

三、参数量的查询

3.1 tensorflow的参数量的存储


参考地址: https://github.com/wangbm/MTCNN-Tensorflow/blob/master/README.md

一、相关知识

三个CNN串联

P-Net:(12-Net)Fast proposal Network,找出备选框。

R-Net:(24-Net)Refinement Network,对备选框进行重新选择

O-Net:(48-Net)Output Network,输出最终的box与最终的landmark position

二、训练与运行

2.1 背景知识

tfrecords

tfrecords格式文件,tensorflow统一用来存储数据的文件。https://blog.csdn.net/u012222949/article/details/72875281/

2.2 程序作用

参考网址:https://github.com/AITTSMD/MTCNN-Tensorflow/blob/master/prepare_data/%E8%AF%B4%E6%98%8E

gen_12net_data.py
    训练PNet的数据的采样代码
gen_hard_example.py
    分别生成RNet和ONet的训练数据
gen_imglist_xxnet.py
    分别将三个网络的三个任务(分类,回归,特征点检测)的数据汇总到一个文件中
gen_xx_tfrecords.py
    分别生成3个网络的tfrecord,在这里需要注意:
        PNet的训练数据(pos,neg,part,landmark)是混在一起的,生成了一个tfrecord
    RNet和ONet的各自需要生成4个tfrecord(pos,neg,part,landmark),因为要控制各部分的样本比例(1:3:1:1)
loader.py
    迭代器,用于读取图片
read_tfrecord_v2.py/tfrecord_utils.py
    用于读取tfrecord数据,并对其解析
utils.py
    用于一些数据处理操作
gen_landmark_tfrecords_aug_xx.py
    用于生成特征点的数据,在这里并没有生成tfreord,只是对进行数据增强(随机镜像、随机旋转)
    此脚本的输入是trainImageList.txt,其中定义了文件的路径,人脸框的位置(x1,x2,y1,y2),特征点的位置(x1,y1,,,,,x5,y5)
BBox_utils.py/landmark_utils.py
    用于特征点处理

2.3 命令行

训练流程:

数据集下载,格式转换。

以下每一步都要转换目录。训练为根目录,生成样本为/prepare_data目录

生成12net的训练数据,把12net的训练数据生成tfrecords文件 cd prepare data/

python gen_shuffle_data.py 12
python gen_tfdata_12net.py 

训练12net(P-Net)根目录

python src/mtcnn_pnet_test.py

根据训练结果生成12net输出的难样本,生成24net随机样本并合并这两个生成的样本cd prepare data/

注意更改hard_example之中的模型路径。

python tf_gen_12net_hard_example.py
python gen_shuffle_data.py 24
python gen_tfdata_24net.py

训练24net(R-Net)根目录

python src/mtcnn_rnet_test.py

根据生成的网络生成24net输出的难样本,生成48net随机样本并合并这两个生成的样本cd prepare data/

python tf_gen_24net_hard_example.py
python gen_shuffle_data.py 48
python gen_tfdata_48net.py

训练48-Net(O-Net)根目录

python src/mtcnn_onet_test.py

2.4 运行程序

python test_img.py (IMAGE_PATH) --model_dir ./save_model/all_in_one
python test_img.py images/0_1_f_36.jpg --model_dir ./save_model/new_saver 

2.5 指定运行的显卡命令行

https://blog.csdn.net/gaoprincess/article/details/78738348

CUDA_VISIBLE_DEVICES=1,3 python test_all.py images --model_dir /save_model/new_saver

三、参数量的查询

3.1 tensorflow的参数量的存储

在save_model/new_saver这个文件夹里面,

https://stackoverflow.com/questions/44516609/tensorflow-what-is-the-relationship-between-ckpt-file-and-ckpt-meta-and-ckp

  • .ckpt-meta contains the metagraph, i.e. the structure of your computation graph, without the values of the variables (basically what you can see in tensorboard/graph).

  • .ckpt-data contains the values for all the variables, without the structure. To restore a model in python, you'll usually use the meta and data files with (but you can also use the .pb file):

    saver = tf.train.import_meta_graph(path_to_ckpt_meta)
    saver.restore(sess, path_to_ckpt_data)
checkpoint  # some information on the name of the files in the checkpoint
my-model.data-00000-of-00001  # the saved weights
my-model.index  # probably definition of data layout in the previous file
my-model.meta  # protobuf of the graph (nodes and topology info)

MTCNN(一)python代码训练与运行相关推荐

  1. 目标检测:RFCN的Python代码训练自己的模型

    py-R-FCN源码下载地址: https://github.com/Orpine/py-R-FCN 也有Matlab版本: https://github.com/daijifeng001/R-FCN ...

  2. python代码写好了怎么运行不了-python代码可以直接运行吗 Python写了代码如何运行...

    先下载python,然后打开命令行,输入 python 你的代码文件名. 有python代码怎么编成可执行的exe程序? 如果可以能否帮小编做成可执行的exe程序儿女情长什么的,真的很影响小编行走江湖 ...

  3. python代码打好了怎么运行-python代码是怎样运行的

    python作为一种动态语言,其实是一个解释器软件包.当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.第一步是编译成所谓的"字节码",如果Pytho ...

  4. python代码怎么运行-python代码是怎样运行的

    python作为一种动态语言,其实是一个解释器软件包.当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.第一步是编译成所谓的"字节码",如果Pytho ...

  5. python代码写好了怎么运行-python代码是怎样运行的

    python作为一种动态语言,其实是一个解释器软件包.当Python运行脚本时,在代码开始进行处理之前,Python还会执行一些步骤.第一步是编译成所谓的"字节码",如果Pytho ...

  6. 【Python自学笔记】快速入手PyScript,让Python代码优雅的运行于HTML

    文章目录 前言 安装 使用 Pyscript的标签 Hello World 写入标记元素 声明依赖 导入本地模块(文件) 插入编辑器 document交互 遇到的坑 相关阅读 前言 python原来就 ...

  7. python代码调试模式运行

    简介 运行复杂的python程序时需要看一下执行了那些代码,有哪些变量,可以使用python自带工具pdb进行调试 使用 进入调试模式: python -m pdb xxx.py 按n就执行下一行 快 ...

  8. anaconda如何做python笔记_Anaconda中Jupyter的基本使用 简单的编写Python代码和整理笔记...

    Anaconda是一个基于数据分析和机器学习的集成环境.jupyter是anaconda提供的一个基于浏览器的可视化开发工具.也就是说我们安装好Anaconda就可以使用jupyter. jupyte ...

  9. gpu训练cnn人脸识别准确率_opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别

    opencv+mtcnn+facenet+python+tensorflow 实现实时人脸识别 Abstract:本文记录了在学习深度学习过程中,使用opencv+mtcnn+facenet+pyth ...

最新文章

  1. 用OpenCV进行摄像机标定
  2. phpmyadmin 忘记密码重设password
  3. CentOS 6 无法上网 问题解决方案[VMware]
  4. C#微信公众号开发 -- (七)自定义菜单事件之VIEW及网页(OAuth2.0)授权
  5. Google发布新的TensorFlow物体检测API
  6. 总结:第一章~第五章
  7. 虚拟服务器放2个网站,如何一个虚拟主机空间放两个网站的基本原理
  8. mysql where is_MySQL——Where条件子句
  9. mpvue解析富文本mpvue-wxParse
  10. [leetcode]209. 长度最小的子数组
  11. Django Form
  12. python装饰器是什么意思_对Python装饰器的理解
  13. RHEL6.3更换163 centos源或本地源(适用rhel7)
  14. 【EduCoder答案】时域采样定理
  15. python复数类型输出实部和虚部_python 获取复数的实部虚部
  16. 功能丰富强大的开源HEVC分析软件 “ Gitl HEVC Analyzer ”
  17. android图片上传大小限制,Android解决图片上传过大问题
  18. chrome 显示IP地址
  19. Python PTA实验课 求小于某一大于2的自然数的所有素数
  20. 计算机设置u盘启动,bios设置u盘启动_如何进入bios_bios设置图解教程 - u大师

热门文章

  1. AGV的地图管理,wcs调度系统,wms系统。
  2. 第一台纯意念控制的计算机是,全球第一台适用于全肢体中风康复的“纯意念控制”人工神经机器人系统是()。...
  3. Java 面试/笔试题神整理 [Java web and android]
  4. 论文笔记- AdaDepth: Unsupervised Content Congruent Adaptation for Depth Estimation
  5. 贪心算法----过河问题
  6. CSAPP实验记录(2)--------- Bomb
  7. python网格划分_五、网格划分篇-SnappyHexMesh(之二)
  8. 微信小游戏实战——飞机大战demo笔记完整篇(函数实现)
  9. 能生成Deepfake也能诊断癌症,GAN与恶的距离
  10. 基于stm32的测微仪采集系统开发