Toybrick

标题: 如何转换NCHW格式的tensorflow模型? [打印本页]

作者: protossw512    时间: 2019-3-6 08:56
标题: 如何转换NCHW格式的tensorflow模型?
我尝试转换resnet_50的pb模型发现好像rknn没办法处理NCHW格式的模型。
具体模型在这里:https://github.com/tensorflow/mo ... r/research/tensorrtResNet-v2-ImageNet Frozen Graph

这个模型的输入是NHWC,然后在模型内进行了transpose处理,转成了NCHW,我尝试过使用transpose之前和之后的node作为输入,改变load_tensorflow中的input_size_list中channel的顺序,都没办法顺利通过buiding。不知道具体应该在哪里设置一下让rknn知道这个是NCHW的模型?我看rknn.config有一个model_data_format的参数,我改成了'nchw',也没有任何效果。

作者: elooon    时间: 2019-3-6 11:26
按理说好像输入能对应就行了吧?input_size_list和取的模型节点NHWC/NCHW能对上就行?
作者: elooon    时间: 2019-3-6 16:21
python api中inference接口可以设置format参数:

data_format:数据模式,可以填以下值: “nchw”, “nhwc”。默认值为’nhwc’。这两个的
不同之处在于 channel 数放置的位置。
作者: elooon    时间: 2019-3-6 16:25
elooon 发表于 2019-3-6 16:21
python api中inference接口可以设置format参数:

data_format:数据模式,可以填以下值: “nchw”, “nhwc ...

c api中设置input的时候也可以设置format:

rknn_input inputs[1];
memset(inputs, 0, sizeof(inputs));
inputs[0].index = 0;
inputs[0].type = RKNN_TENSOR_UINT8;
inputs[0].size = img_width*img_height*img_channels;
inputs[0].pass_through = FALSE;
inputs[0].fmt = RKNN_TENSOR_NHWC;
inputs[0].buf = in_data;

ret = rknn_inputs_set(ctx, 1, inputs);
作者: protossw512    时间: 2019-3-7 07:19
elooon 发表于 2019-3-6 16:21
python api中inference接口可以设置format参数:

data_format:数据模式,可以填以下值: “nchw”, “nhwc ...

我换了不同的设置,也不行。
inference是可以设置的,但是我现在遇到的问题是building的时候就报错了,因为需要输入图像去做量化。
作者: elooon    时间: 2019-3-7 08:53
protossw512 发表于 2019-3-7 07:19
我换了不同的设置,也不行。
inference是可以设置的,但是我现在遇到的问题是building的时候就报错了,因 ...

build的时候报什么错?verbose打开发出来看下,感觉是转换op的问题




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3