Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

没用到tflite? #4

Open
flankechen opened this issue Jul 26, 2018 · 20 comments
Open

没用到tflite? #4

flankechen opened this issue Jul 26, 2018 · 20 comments

Comments

@flankechen
Copy link

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

@CHANGErIBE
Copy link

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

@vcvycy
Copy link
Owner

vcvycy commented Jul 27, 2018

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

@vcvycy
Copy link
Owner

vcvycy commented Jul 27, 2018

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

@flankechen
Copy link
Author

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

@flankechen
Copy link
Author

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

@junwenZhang
Copy link

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

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

@jiangxiluning
Copy link

@junwenZhang
Copy link

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

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

@RickyZ92
Copy link

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

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

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

@jiangxiluning
Copy link

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

@jiangxiluning
Copy link

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

@vcvycy
Copy link
Owner

vcvycy commented Mar 13, 2019

@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
Copy link

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

1个模型 谢谢 我试一下

@RickyZ92
Copy link

@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

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

@jiangxiluning
Copy link

@vcvycy 对,你这个不错

@abcliguanxi
Copy link

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

@suyali
Copy link

suyali commented Nov 15, 2019

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

@Shenkaixuan678
Copy link

@Shenkaixuan678
Copy link

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

@Shenkaixuan678
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants