Toybrick

楼主: jefferyzhang

人工智能开发系列(4) 通过《人脸识别》学习从Keras到rknn

puyanan

注册会员

积分
170
发表于 2019-7-23 16:29:20 | 显示全部楼层
jefferyzhang 发表于 2019-6-15 15:32
建议你别等,可以自己动手做起来。
因为我后面深入研究发现facenet的损失很难复现出论文的效果,真正使用 ...

我想把facenet的模型pb模型转换成rknn模型,在加载tensorflow模型时出错。
测试代码如下:
-----------------------------------------------------------------------------
from rknn.api import RKNN
INPUT_SIZE = 160

if __name__ == '__main__':
    # Create RKNN object
    rknn = RKNN()

    # Config for Model Input PreProcess
    rknn.config(channel_mean_value='128 128 128 128', reorder_channel='0 1 2')
    print('config done')

    #load tensorflow model
    print('--> Loading model')
    rknn.load_tensorflow(tf_pb='./20180402-114759.pb',
                         inputs=['input'],
                         outputs=['embeddings'],
                         input_size_list=[[INPUT_SIZE, INPUT_SIZE, 3]])                  
    print('done')




出错信息是这样:
-----------------------------------------------------------------------------
pu@pu-vm:~/RKNN/demo/facenet$ python3 test1.py
config done
--> Loading model
W Not match node embeddings/Rsqrt Rsqrt
E Catch exception when loading tensorflow model: ./20180402-114759.pb!
T Traceback (most recent call last):
T   File "rknn/api/rknn_base.py", line 185, in rknn.api.rknn_base.RKNNBase.load_tensorflow
T   File "rknn/base/RKNNlib/converter/convert_tf.py", line 589, in rknn.base.RKNNlib.converter.convert_tf.convert_tf.match_paragraph_and_param
T   File "rknn/base/RKNNlib/converter/convert_tf.py", line 488, in rknn.base.RKNNlib.converter.convert_tf.convert_tf._tf_push_ready_node
T TypeError: 'NoneType' object is not iterable
done
pu@pu-vm:~/RKNN/demo/facenet$


inputs 和 outputs 节点名字,我用tensorboard打开看,就是“input”  和 “embeddings” 。
请问是哪里出了问题呢?
回复

使用道具 举报

jefferyzhang

超级版主

积分
1810
 楼主| 发表于 2019-7-23 16:40:05 | 显示全部楼层
puyanan 发表于 2019-7-23 16:29
我想把facenet的模型pb模型转换成rknn模型,在加载tensorflow模型时出错。
测试代码如下:
------------- ...

rknn = RKNN(verbose=True)
打开verbose看下,不然log看不出什么,单独发一个贴问,不用回在这下头。
你回这帖子只有我看得到,真正懂的同事看不到问我也没办法。。。
回复

使用道具 举报

puyanan

注册会员

积分
170
发表于 2019-7-23 16:57:48 | 显示全部楼层
jefferyzhang 发表于 2019-7-23 16:40
rknn = RKNN(verbose=True)
打开verbose看下,不然log看不出什么,单独发一个贴问,不用回在这下头。
你 ...

好的。先谢过版主的回复
回复

使用道具 举报

puyanan

注册会员

积分
170
发表于 2019-7-23 17:56:10 | 显示全部楼层
jefferyzhang 发表于 2019-7-23 16:40
rknn = RKNN(verbose=True)
打开verbose看下,不然log看不出什么,单独发一个贴问,不用回在这下头。
你 ...

根据版主提示,看了详细的运行日志,猜测了出错原因("embeddings"既是输出node的名字,也是一个模块的名字,该模块内有多个中间节点,比如“embeddings/Rsqrt”、“embeddings/Sum”,    build过程中会一一比对这些节点,然后出错,似乎是因为“embeddings/Rsqrt” 与 “Rsqrt”不匹配)。理解的是否正确,还需要看后面能否顺利运行facenet。等我跑完了,就总结一下这个问题。(要我把facenet改成RK平台能跑的代码,还困难重重,水平有限 要是能够给出demo就多谢多谢啦
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表