Toybrick

rk3566 转换facenet失败

ameRk

注册会员

积分
91
楼主
发表于 2022-7-15 11:01:04    查看: 12929|回复: 18 | [复制链接]    打印 | 只看该作者
同样的模型,用rknn-toolkit 参照(https://t.rock-chips.com/forum.p ... =facenet&page=1)进行转换,可以正常转换,但是用rknn-toolkit2(rk35666)进行转换,提示如下错误。
该问题是因为 rknn-toolkit2 已经不支持了facenet的模型转换吗?

W __init__: rknn-toolkit2 version: 1.3.0-11912b58
W config: 'target_platform' is None, use rk3566 as default, Please set according to the actual platform!
config done
--> Loading model
W load_tensorflow: inputs name should be a tensor name instead of node name
2022-07-14 16:26:03.647684: I tensorflow/tools/graph_transforms/transform_graph.cc:317] Applying strip_unused_nodes
2022-07-14 16:26:03.787548: I tensorflow/tools/graph_transforms/transform_graph.cc:317] Applying sort_by_execution_order
2022-07-14 16:26:03.867908: I tensorflow/tools/graph_transforms/transform_graph.cc:317] Applying fold_constants
2022-07-14 16:26:04.358690: I tensorflow/tools/graph_transforms/transform_graph.cc:317] Applying fold_batch_norms
2022-07-14 16:26:04.506355: I tensorflow/tools/graph_transforms/transform_graph.cc:317] Applying fold_old_batch_norms
2022-07-14 16:26:05.596624: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA
2022-07-14 16:26:05.620279: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2200000000 Hz
2022-07-14 16:26:05.622388: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x556b7a5042e0 executing computations on platform Host. Devices:
2022-07-14 16:26:05.622431: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): <undefined>, <undefined>
E load_tensorflow: Catch exception when loading tensorflow model: 20180402-114759/20180402-114759.pb!
E load_tensorflow: Traceback (most recent call last):
E load_tensorflow:   File "/home/ame/anaconda3/envs/npu/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 427, in import_graph_def
E load_tensorflow:     graph._c_graph, serialized, options)  # pylint: disable=protected-access
E load_tensorflow: tensorflow.python.framework.errors_impl.InvalidArgumentError: Node 'InceptionResnetV1/Bottleneck/BatchNorm/cond_1/AssignMovingAvg_1/Switch' expects to be colocated with unknown node 'InceptionResnetV1/Bottleneck/BatchNorm/moving_variance'
E load_tensorflow: During handling of the above exception, another exception occurred:
E load_tensorflow: Traceback (most recent call last):
E load_tensorflow:   File "rknn/api/rknn_base.py", line 990, in rknn.api.rknn_base.RKNNBase.load_tensorflow
E load_tensorflow:   File "rknn/base/convertor/tensorflow2onnx/tf2onnx/convert.py", line 589, in rknn.base.convertor.tensorflow2onnx.tf2onnx.convert.from_graph_def
E load_tensorflow:   File "rknn/base/convertor/tensorflow2onnx/tf2onnx/convert.py", line 590, in rknn.base.convertor.tensorflow2onnx.tf2onnx.convert.from_graph_def
E load_tensorflow:   File "rknn/base/convertor/tensorflow2onnx/tf2onnx/convert.py", line 591, in rknn.base.convertor.tensorflow2onnx.tf2onnx.convert.from_graph_def
E load_tensorflow:   File "rknn/base/convertor/tensorflow2onnx/tf2onnx/convert.py", line 592, in rknn.base.convertor.tensorflow2onnx.tf2onnx.convert.from_graph_def
E load_tensorflow:   File "/home/ame/anaconda3/envs/npu/lib/python3.6/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
E load_tensorflow:     return func(*args, **kwargs)
E load_tensorflow:   File "/home/ame/anaconda3/envs/npu/lib/python3.6/site-packages/tensorflow/python/framework/importer.py", line 431, in import_graph_def
E load_tensorflow:     raise ValueError(str(e))
E load_tensorflow: ValueError: Node 'InceptionResnetV1/Bottleneck/BatchNorm/cond_1/AssignMovingAvg_1/Switch' expects to be colocated with unknown node 'InceptionResnetV1/Bottleneck/BatchNorm/moving_variance'
done
--> Building model
E build: The model has not been loaded, please load it first!
done
E export_rknn: RKNN model is None, please load & build model first!

回复

使用道具 举报

jefferyzhang

版主

积分
13578
沙发
发表于 2022-7-15 11:17:42 | 只看该作者
本帖最后由 jefferyzhang 于 2022-7-15 11:27 编辑

NPU只对op层面做支持,我们不会把市面所有模型都跑一遍。
不支持的op要么换掉,要么自定义,要么拉出来放到rknn外实现。你这个看过去也有可能是版本不匹配,建议你rknn文档先看一遍
回复

使用道具 举报

ameRk

注册会员

积分
91
板凳
 楼主| 发表于 2022-7-15 11:20:33 | 只看该作者
jefferyzhang 发表于 2022-7-15 11:17
NPU只对op层面做支持,我们不会把市面所有模型都跑一遍。
不支持的op要么换掉,要么自定义,要么拉出来放到 ...

关键是 你这个rknn-toolkit 是支持的啊,怎么到 rknn-toolkit2  反而取消了呢,没有考虑向下兼容吗?
是对 rknn-toolkit2 进行了裁剪吗?
回复

使用道具 举报

jefferyzhang

版主

积分
13578
地板
发表于 2022-7-15 11:27:56 | 只看该作者
ameRk 发表于 2022-7-15 11:20
关键是 你这个rknn-toolkit 是支持的啊,怎么到 rknn-toolkit2  反而取消了呢,没有考虑向下兼容吗?
是对 ...

建议你先把文档看一遍,这个看过去不会支持不了。版本不匹配可能性更大
回复

使用道具 举报

ameRk

注册会员

积分
91
5#
 楼主| 发表于 2022-7-15 11:40:31 | 只看该作者
jefferyzhang 发表于 2022-7-15 11:27
建议你先把文档看一遍,这个看过去不会支持不了。版本不匹配可能性更大 ...

版本不匹配,你是只芯片与sdk的版本吗,现在的板子是 rk 3566 ,就是按照你们的文档,要换成  rknn-toolkit2的啊

而且目前都是再ubuntu系统上进行转换的,你说的版本不匹配 指的什么呢,我现在都没有走到推理那一步,现在是转换模型都失败啦,同样的流程,rknn-toolkit (1.7.1)版本是可以转换成功的,rknn-toolkit 2就转换找不到OP
回复

使用道具 举报

ameRk

注册会员

积分
91
6#
 楼主| 发表于 2022-7-15 11:43:38 | 只看该作者
jefferyzhang 发表于 2022-7-15 11:27
建议你先把文档看一遍,这个看过去不会支持不了。版本不匹配可能性更大 ...

为了保持一致性,我都是再同一台服务器上搭建的同样的环境(除了你们的转换工具包不一样,其他的依赖库版本都一样的)所以你说的版本不匹配 是指的哪方面的呢
回复

使用道具 举报

jefferyzhang

版主

积分
13578
7#
发表于 2022-7-15 12:05:22 | 只看该作者
你tensorflow什么版本
回复

使用道具 举报

ameRk

注册会员

积分
91
8#
 楼主| 发表于 2022-7-15 12:10:55 | 只看该作者
jefferyzhang 发表于 2022-7-15 12:05
你tensorflow什么版本

1.14.0,按照你们的文档安装的版本
回复

使用道具 举报

jefferyzhang

版主

积分
13578
9#
发表于 2022-7-15 12:14:00 | 只看该作者
你模型没开推理模式转的吧?
回复

使用道具 举报

ameRk

注册会员

积分
91
10#
 楼主| 发表于 2022-7-15 12:18:54 | 只看该作者
jefferyzhang 发表于 2022-7-15 12:14
你模型没开推理模式转的吧?

没开,因为之前就发现有问题,所以就只进行了模型转换处理
回复

使用道具 举报

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

本版积分规则

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


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