Toybrick

标题: 紧急求助!! rk3399pro目前支持多个输入吗? [打印本页]

作者: Lee    时间: 2019-3-28 10:43
标题: 紧急求助!! rk3399pro目前支持多个输入吗?
如题。模型转自tensorflow。
如果不支持,我也可以在模型外,将多个输入concat到一起,但问题是,如果我的输入是(300,300,20),那这20个通道,在config的时候怎么设置呢?


作者: Lee    时间: 2019-3-28 10:50
config里的channel_mean_value参数数目能超过4个吗

作者: jefferyzhang    时间: 2019-3-28 12:51
暂不支持
作者: jefferyzhang    时间: 2019-3-28 12:52
可以直接丢进去,config都不要设置试试
作者: Lee    时间: 2019-3-28 14:05
jefferyzhang 发表于 2019-3-28 12:52
可以直接丢进去,config都不要设置试试

不行唉,模型转化没问题,量化也不会报错,但是运行的时候会Segmentation fault (core dumped)。

像我这种多维输入  有什么建议吗?
作者: jefferyzhang    时间: 2019-3-29 08:53
Lee 发表于 2019-3-28 14:05
不行唉,模型转化没问题,量化也不会报错,但是运行的时候会Segmentation fault (core dumped)。

像我这 ...

我去请教下这方面专家,问到了回你
作者: Lee    时间: 2019-3-29 09:57
jefferyzhang 发表于 2019-3-29 08:53
我去请教下这方面专家,问到了回你

好的   多谢!
作者: jefferyzhang    时间: 2019-3-29 11:00
Lee 发表于 2019-3-29 09:57
好的   多谢!

你可以先试试送一维,然后第一层做一次reshape
作者: Lee    时间: 2019-3-29 16:53
jefferyzhang 发表于 2019-3-29 11:00
你可以先试试送一维,然后第一层做一次reshape

试了, 好像不行,模型转换没问题,跑起来就崩啦Segmentation fault (core dumped)。现在给我的感觉是,必须要加config参数,channel_mean,而且channel_mean必须是四维。现在只支持三维输入吗
作者: Lee    时间: 2019-3-29 17:03
jefferyzhang 发表于 2019-3-29 11:00
你可以先试试送一维,然后第一层做一次reshape

对了,你指的一维是单通道  还是1维的array?
作者: jefferyzhang    时间: 2019-3-29 18:05
Lee 发表于 2019-3-29 17:03
对了,你指的一维是单通道  还是1维的array?

都可以试试,专家组还没人回我,你只能自己先试试
作者: Lee    时间: 2019-4-1 16:34
jefferyzhang 发表于 2019-3-29 18:05
都可以试试,专家组还没人回我,你只能自己先试试

现在发现一个问题,不论哪种方法,在pc上模拟跑,都是报Segmentation fault (core dumped),但是在板子上可以跑, 但结果不对,这是什么原因呢?
作者: jefferyzhang    时间: 2019-4-1 16:40
Lee 发表于 2019-4-1 16:34
现在发现一个问题,不论哪种方法,在pc上模拟跑,都是报Segmentation fault (core dumped),但是在板子上 ...

pc上他们模拟器有些地方有bug,我们会上报给他们修改。
一切以开发版运行结果为准。
结果不对应该是代码问题,注意下输入输出格式,可以先用不量化来测试代码。
作者: Lee    时间: 2019-4-1 19:11
jefferyzhang 发表于 2019-4-1 16:40
pc上他们模拟器有些地方有bug,我们会上报给他们修改。
一切以开发版运行结果为准。
结果不对应该是代码 ...

我现在以reshape为输入层,只经过一层padding(tf模型转过来的),已关闭量化,结果全是0。如果去掉reshape层,多维直接输入padding,然后从padding取输出,结果明显不对。我感觉和模型转换有关系(感觉和config有关),但是模型转换又不会报错,有什么建议吗?
作者: jefferyzhang    时间: 2019-4-1 20:28
Lee 发表于 2019-4-1 19:11
我现在以reshape为输入层,只经过一层padding(tf模型转过来的),已关闭量化,结果全是0。如果去掉resha ...

config是0 0 0 1么? 我建议你把模型保存成pb,然后代码贴上来,我帮你找人跟踪
作者: Lee    时间: 2019-4-2 09:38
jefferyzhang 发表于 2019-4-1 20:28
config是0 0 0 1么? 我建议你把模型保存成pb,然后代码贴上来,我帮你找人跟踪 ...

我加了个placeholder,然后接了一层padding,congfig没有任何参数,输入是[384, 288, 20](h w c),从padding取出,reshape成[20, 390, 294](c h w)。
然后输入,输出的第16个通道,分别如附件图:
可见,padding生效了,但图不对了,应该和config有关

作者: Lee    时间: 2019-4-2 09:58
jefferyzhang 发表于 2019-4-1 20:28
config是0 0 0 1么? 我建议你把模型保存成pb,然后代码贴上来,我帮你找人跟踪 ...

然后,如果在placeholder和padding之间加一层reshape(对应tf模型参数为[-1, 384, 288*20, 1]),也就是输入变成[384, 288*20, 1],config仍然不设参数,发现结果全为0.
作者: Lee    时间: 2019-4-2 09:58
jefferyzhang 发表于 2019-4-1 20:28
config是0 0 0 1么? 我建议你把模型保存成pb,然后代码贴上来,我帮你找人跟踪 ...

然后,如果在placeholder和padding之间加一层reshape(对应tf模型参数为[-1, 384, 288, 20]),也就是输入变成[384, 288*20, 1],config仍然不设参数,发现结果全为0.
作者: jefferyzhang    时间: 2019-4-2 11:48
好的,我们这里内部提交了问题单,等专家回复你
作者: Lee    时间: 2019-4-2 15:58
jefferyzhang 发表于 2019-4-2 11:48
好的,我们这里内部提交了问题单,等专家回复你

好像发现问题了,输入模型的数据好像必须是8位,里面是按字节取数据?
作者: Lee    时间: 2019-4-2 16:24
jefferyzhang 发表于 2019-4-2 11:48
好的,我们这里内部提交了问题单,等专家回复你

我的错,才发现inference还有个data_type的参数。。。。
但是好像还有个别数据不对,我再研究研究,对于多维输入,专家那边有建议的话,也请及时告知哈~
作者: Lee    时间: 2019-4-2 17:53
jefferyzhang 发表于 2019-4-2 11:48
好的,我们这里内部提交了问题单,等专家回复你

关于个别数据不对的问题,也麻烦帮我咨询一下吧。输入数据范围是0.0~254.0的,float32类型,只经过一层padding,结果会出现-1.0和-65504.0的情况,固定出现,怎么解决呢?
作者: jefferyzhang    时间: 2019-4-3 08:35
Lee 发表于 2019-4-2 17:53
关于个别数据不对的问题,也麻烦帮我咨询一下吧。输入数据范围是0.0~254.0的,float32类型,只经过一层p ...

不要量化结果试试
作者: Lee    时间: 2019-4-3 09:22
jefferyzhang 发表于 2019-4-3 08:35
不要量化结果试试

额,我说的结果,就是没有量化的唉
作者: jefferyzhang    时间: 2019-4-3 11:31
Lee 发表于 2019-4-3 09:22
额,我说的结果,就是没有量化的唉

我感觉像是你输出后装数据的值域范围不一致造成的。
因为rknn的get output只是负责把计算结果的那块内存给拿了过来,怎么解析是代码去解析的。

作者: Lee    时间: 2019-4-3 13:38
jefferyzhang 发表于 2019-4-3 11:31
我感觉像是你输出后装数据的值域范围不一致造成的。
因为rknn的get output只是负责把计算结果的那块内存 ...

我用的是python版的,和c++版应该不会有差异吧
作者: Lee    时间: 2019-4-3 14:59
jefferyzhang 发表于 2019-4-3 11:31
我感觉像是你输出后装数据的值域范围不一致造成的。
因为rknn的get output只是负责把计算结果的那块内存 ...

感觉第4通道,和第15通道,固定会出问题唉

作者: Lee    时间: 2019-4-3 17:12
jefferyzhang 发表于 2019-4-3 11:31
我感觉像是你输出后装数据的值域范围不一致造成的。
因为rknn的get output只是负责把计算结果的那块内存 ...

一张二维灰度图,repeat成20通道送进模型(tf),只经过一层padding,第4通道和第15通道结果异常,python环境,希望帮忙查一下,谢谢~
作者: jefferyzhang    时间: 2019-4-4 09:00
Lee 发表于 2019-4-3 17:12
一张二维灰度图,repeat成20通道送进模型(tf),只经过一层padding,第4通道和第15通道结果异常,python ...

我们这里内部试试
作者: xsky    时间: 2020-2-22 22:10
这问题解决了没




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