MTCNN4Android icon indicating copy to clipboard operation
MTCNN4Android copied to clipboard

没用到tflite?

Open flankechen opened this issue 7 years ago • 20 comments

hi, 感谢你的工作,正好目前也准备移植到android的工作, 请问你参考的mtcnn实现是哪个? .pb文件是如何生成出来的? 另外有尝试过转化为tflite模型吗, 我在尝试从.pb到tflite这一步一直不成功

flankechen avatar Jul 26 '18 08:07 flankechen

hi,我目前在用mtcnn tensorflow实现对三个网络的训练,分别得到了三个模型,但是有三个checkpoint,在生成pb文件时,PNet可以生成,但是后面两个就生成不了,提示的是后两个checkpoint图中没有PNet里面的变量,请问你是用哪个mtcnn实现的呀?谢谢……不晓得tensorflow如何freeze多个模型,可不可以解惑下…… @flankechen

CHANGErIBE avatar Jul 27 '18 01:07 CHANGErIBE

PB文件你把别人训练好的3个npy文件载入tensorflow,再生成pb就好了。

vcvycy avatar Jul 27 '18 03:07 vcvycy

tf.graph_util.convert_variables_to_constants( sess, input_graph_def, output_node_names, variable_names_whitelist=None, variable_names_blacklist=None ) output_node_names这个参数,在tensorflow 的graph中,不被output_node_names依赖的节点,生成pb文件都会被去掉。所以,你需要在output_node_names把pnet/rnet/onet 所有输出节点都加进去。 @CHANGErIBE

vcvycy avatar Jul 27 '18 03:07 vcvycy

@CHANGErIBE 我是在用 https://github.com/AITTSMD/MTCNN-Tensorflow 这个基础上修改的, 3个网络的pb都可以生成. 没有试过把3个网络都freeze成一个,不过只要graph, input output names对的话,应该是可以的.

flankechen avatar Jul 27 '18 06:07 flankechen

@vcvycy 嗯啊,看到了,是从facenet那个npy来的, 我在用自己训练的, 可能有点不同,谢谢了

flankechen avatar Jul 27 '18 06:07 flankechen

@CHANGErIBE 我是在用 https://github.com/AITTSMD/MTCNN-Tensorflow 这个基础上修改的, 3个网络的pb都可以生成. 没有试过把3个网络都freeze成一个,不过只要graph, input output names对的话,应该是可以的.

想请教一下,你这边基于MTCNN-Tensorflow生成pb的时候,用的output names是什么?后来有把3个网络freeze成一个吗?怎么操作的

junwenZhang avatar Jan 08 '19 13:01 junwenZhang

@junwenZhang 参考我的 repo做法 https://github.com/jiangxiluning/facenet_mtcnn_to_mobile

jiangxiluning avatar Jan 10 '19 10:01 jiangxiluning

@junwenZhang 参考我的 repo做法 https://github.com/jiangxiluning/facenet_mtcnn_to_mobile

嗨,jiangxiluning ,我想知道的是如何最终合并生成1个pb文件,看起来你那个示例是生成了3个pb文件哈

junwenZhang avatar Jan 15 '19 16:01 junwenZhang

@junwenZhang 参考我的 repo做法 https://github.com/jiangxiluning/facenet_mtcnn_to_mobile

嗨,jiangxiluning ,我想知道的是如何最终合并生成1个pb文件,看起来你那个示例是生成了3个pb文件哈

请问你成功合成1个pb文件了吗 我现在能合成三个pb或者三个npy文件 就是无法合成1个pb文件

RickyZ92 avatar Mar 13 '19 03:03 RickyZ92

1 个pb 一个 模型, 3 个pb 合 1个的话,你需要再 写入二进制的时候 自己做 binary 级别的分隔符,比如定义 magic number 来作为分隔符

jiangxiluning avatar Mar 13 '19 04:03 jiangxiluning

你的根本需求是需要一个模型还是三个模型

jiangxiluning avatar Mar 13 '19 04:03 jiangxiluning

@junwenZhang 参考我的 repo做法 https://github.com/jiangxiluning/facenet_mtcnn_to_mobile

嗨,jiangxiluning ,我想知道的是如何最终合并生成1个pb文件,看起来你那个示例是生成了3个pb文件哈

请问你成功合成1个pb文件了吗 我现在能合成三个pb或者三个npy文件 就是无法合成1个pb文件

合并一次就好了,一个Graph 里面可以有不相连的节点 代码: https://github.com/vcvycy/TensorflowFreezeModel/blob/master/freeze_mtcnn.py

vcvycy avatar Mar 13 '19 05:03 vcvycy

你的根本需求是需要一个模型还是三个模型

1个模型 谢谢 我试一下

RickyZ92 avatar Mar 13 '19 05:03 RickyZ92

@junwenZhang 参考我的 repo做法 https://github.com/jiangxiluning/facenet_mtcnn_to_mobile

嗨,jiangxiluning ,我想知道的是如何最终合并生成1个pb文件,看起来你那个示例是生成了3个pb文件哈

请问你成功合成1个pb文件了吗 我现在能合成三个pb或者三个npy文件 就是无法合成1个pb文件

合并一次就好了,一个Graph 里面可以有不相连的节点 代码: https://github.com/vcvycy/TensorflowFreezeModel/blob/master/freeze_mtcnn.py

我试过这个了 可能因为我是自己训练的模型?不能直接这么用 我试着改一改 谢谢大神

RickyZ92 avatar Mar 13 '19 06:03 RickyZ92

@vcvycy 对,你这个不错

jiangxiluning avatar Mar 13 '19 06:03 jiangxiluning

@RickyZ92 hi,你好,请问你的问题解决了吗?我现在也在参考https://github.com/AITTSMD/MTCNN-Tensorflow 训练mtcnn,生成了三个三个网络的checkpoint文件,想请教你如何将三个checkpoint文件合并成一个pb文件

abcliguanxi avatar Sep 11 '19 09:09 abcliguanxi

@vcvycy , hello,如何用3个.pb文件固化成一个.pb呢?

suyali avatar Nov 15 '19 07:11 suyali

@flankechen 嗨,你好,抱歉这么久了来打扰你。请问你参考https://github.com/AITTSMD/MTCNN-Tensorflow生成的.pb模型最后合成一个了吗?能否传授一下您的方法呢。

Shenkaixuan678 avatar Jul 02 '20 08:07 Shenkaixuan678

@suyali 嗨,您好,请问您的问题解决了嘛?能否传授一下您的方法呢?

Shenkaixuan678 avatar Jul 02 '20 08:07 Shenkaixuan678

@RickyZ92 嗨,你好,抱歉这么久了来打扰你。请问你参考https://github.com/AITTSMD/MTCNN-Tensorflow生成的.pb模型最后合成一个了吗?能否传授一下您的方法呢。

Shenkaixuan678 avatar Jul 02 '20 08:07 Shenkaixuan678