Toybrick

多输入模型转换问题

lijingle

注册会员

积分
101
楼主
发表于 2020-3-20 16:01:46    查看: 8274|回复: 1 | [复制链接]    打印 | 只看该作者
下面是我模型的输入输出信息

Found 3 possible inputs: (name=Placeholder, type=float(1), shape=[32,1024,3]) (name=Placeholder_1, type=int32(3), shape=[32]) (name=Placeholder_2, type=bool(10), shape=[])
No variables spotted.
Found 1 possible outputs: (name=SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits, op=SparseSoftmaxCrossEntropyWithLogits)
Found 3496475 (3.50M) const parameters, 0 (0) variable parameters, and 178 control_edges
36 nodes assigned to device '/device:CPU:0'1077 nodes assigned to device '/device:GPU:0'Op types used: 249 Identity, 218 Const, 210 Switch, 122 Sub, 91 Mul, 53 Merge, 40 Add, 35 Squeeze, 34 NoOp, 34 Mean, 20 BiasAdd, 17 SquaredDifference, 17 Rsqrt, 17 Relu, 17 StopGradient, 11 Conv2D, 9 MatMul, 5 Reshape, 3 MaxPool, 3 Placeholder, 3 RealDiv, 3 Floor, 3 ExpandDims, 2 BatchMatMul, 2 RandomUniform, 1 SparseSoftmaxCrossEntropyWithLogits, 1 Pow, 1 Minimum, 1 Cast
To use with tensorflow/tools/benchmark:benchmark_model try these arguments:
bazel run tensorflow/tools/benchmark:benchmark_model -- --graph=./good_frozen.pb --show_flops --input_layer=Placeholder,Placeholder_1,Placeholder_2 --input_layer_type=float,int32,bool --input_layer_shape=32,1024,3:32: --output_layer=SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits



我要进行模型转化时input_size_list=应该怎么写,可以给个例子吗,下面我的转换脚本


from rknn.api import RKNN  

INPUT_SIZE = 1024

if __name__ == '__main__':
    rknn = RKNN()
    rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2')

    print('--> Loading model')
    rknn.load_tensorflow(tf_pb='good_frozen.pb',
                         inputs=['Placeholder','Placeholder_1','Placeholder_2'],
                         outputs=['SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits'],
                         input_size_list=[[32,1024,3]])
    print('done')

    print('--> Building model')
    rknn.build(do_quantization=False)
    print('done')

    rknn.export_rknn('./digital_gesture.rknn')

    rknn.release()








不然报错
--> Loading model
E length of input_size_list is not equal to inputs
E Catch exception when loading tensorflow model: good_frozen.pb!
E Traceback (most recent call last):
E   File "rknn/api/rknn_base.py", line 137, in rknn.api.rknn_base.RKNNBase.load_tensorflow
E   File "rknn/base/RKNNlib/converter/convert_tf.py", line 89, in rknn.base.RKNNlib.converter.convert_tf.convert_tf.__init__
E   File "/home/toybrick/.local/lib/python3.7/site-packages/rknn/base/RKNNlib/RKNNlog.py", line 327, in e
E     raise ValueError(msg)
E ValueError: length of input_size_list is not equal to inputs
done
--> Building model
Traceback (most recent call last):
  File "convert.py", line 17, in <module>
    rknn.build(do_quantization=False)
  File "/home/toybrick/.local/lib/python3.7/site-packages/rknn/api/rknn.py", line 148, in build
    inputs = self.rknn_base.net.get_input_layers()
AttributeError: 'NoneType' object has no attribute 'get_input_layers'

回复

使用道具 举报

leok

版主

积分
894
沙发
发表于 2020-3-21 16:06:14 | 只看该作者
回复

使用道具 举报

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

本版积分规则

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


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