Toybrick

楼主: zhouzhouzlove

灵异事件~~~虚拟机和板子上(错误)的推理结果不一致!

zhouzhouzlove

高级会员

积分
551
 楼主| 发表于 2019-3-14 11:45:43 | 显示全部楼层
手工置顶~~~~~
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
551
 楼主| 发表于 2019-3-18 17:53:03 | 显示全部楼层
elooon 发表于 2019-3-13 12:05
absl-py (0.7.0)
asn1crypto (0.24.0)
astor (0.7.1)

I get a new board and run the three Demos again.
For mobilenet_v1, the results are same.
For mobilenet_v2, the results are different.
For mobilenet-ssd, the results are almost the same。

For mobilenet_v2top 5 are different)
Results on 3399pro:
-----TOP 5-----
[282 285]: 0.126953125
[282 285]: 0.126953125
[281]: 0.1129150390625
[186]: 0.09466552734375
[277 278]: 0.0665283203125

done


Results on Ubuntu:
-----TOP 5-----
[282 285]: 0.127685546875
[282 285]: 0.127685546875
[281]: 0.11346435546875
[186]: 0.09515380859375
[277]: 0.06689453125

done
回复

使用道具 举报

troy

版主

积分
2356
发表于 2019-3-18 18:10:43 | 显示全部楼层
本帖最后由 troy 于 2019-3-19 10:03 编辑
zhouzhouzlove 发表于 2019-3-18 17:53
I get a new board and run the three Demos again.
For mobilenet_v1, the results are same.
For mobil ...

麻烦做一下以下两个实验。
1.保证rknn模型一致性,将demo修改一下,从电脑上将模型转换好之后,保存下来。ubuntu和板子都使用load_rknn的方式直接加载rknn模型进行测试,比对结果
2.在1的基础上,将输入到interface的数组,打印出来,或者保存到文件,对比一下ubuntu和板子的输入是否完全一致。
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
551
 楼主| 发表于 2019-3-19 09:49:35 | 显示全部楼层
troy 发表于 2019-3-18 18:10
麻烦做一下以下两个实验。
1.保证rknn模型一致性,将demo修改一下,从电脑上将模型转换好之后,保存下来 ...

您好,谢谢您的回复:
1、将ubuntu上的rknn模型复制到开发板后,结果保持精确一致:
2、由于刚接触,未能迅速理解您的意思,正在琢磨,如果您看到了,不妨说的更具体一些。。。。。。。。。。。。。。。

开发板结果(使用rknn模型):
--> config model
done
done
--> Init runtime environment
done
--> Running model
mobilenet_v2
-----TOP 5-----
[282 285]: 0.127685546875
[282 285]: 0.127685546875
[281]: 0.11346435546875
[186]: 0.09515380859375
[277]: 0.06689453125

done

修改后的test.py:(前后代码省略,未改动)
# Create RKNN object
    rknn = RKNN()
   
    # pre-process config
    print('--> config model')
    rknn.config(channel_mean_value='103.94 116.78 123.68 58.82', reorder_channel='2 1 0')
    print('done')


    # 从当前路径加载mobilenet_v1.rknn 模型
        ret = rknn.load_rknn(path='./mobilenet_v2.rknn')
    if ret != 0:
        print('Load mobilenet_v2 failed! Ret = {}'.format(ret))
        exit(ret)
    print('done')


    # Set inputs
    img = cv2.imread('./cat_224x224.jpg')
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
回复

使用道具 举报

troy

版主

积分
2356
发表于 2019-3-19 10:00:43 | 显示全部楼层
zhouzhouzlove 发表于 2019-3-19 09:49
您好,谢谢您的回复:
1、将ubuntu上的rknn模型复制到开发板后,结果保持精确一致:
2、由于刚接触,未能 ...

实验1已经保持一致了吗,那说明ubuntu转出的rknn和板子转出的rknn模型会存在精度的差异。已经能说明板子正常了。实验1的目的是为了保持模型的一致性。
实验2的目的是为了保持输入的一致性,一般interface的数据是一个numpy的数组,原来是想让你把数组保存下来,使用beyond compare之类的对比工具,对比板子上的输入和ubuntu的输入是否一致。现在实验1已经正常,实验2就无需做了。
回复

使用道具 举报

zhouzhouzlove

高级会员

积分
551
 楼主| 发表于 2019-3-19 10:11:51 | 显示全部楼层
troy 发表于 2019-3-19 10:00
实验1已经保持一致了吗,那说明ubuntu转出的rknn和板子转出的rknn模型会存在精度的差异。已经能说明板子 ...

明白了,
刚才的贴图显示,使用ubuntu转换得到的rknn模型进行推理,结果保持精确的一致,谢谢耐心的解释和回复,手动好评!
回复

使用道具 举报

troy

版主

积分
2356
发表于 2019-3-19 10:16:51 | 显示全部楼层
zhouzhouzlove 发表于 2019-3-19 10:11
明白了,
刚才的贴图显示,使用ubuntu转换得到的rknn模型进行推理,结果保持精确的一致,谢谢耐心的解释 ...

回复

使用道具 举报

troy

版主

积分
2356
发表于 2019-3-19 11:24:23 | 显示全部楼层
zhouzhouzlove 发表于 2019-3-19 10:11
明白了,
刚才的贴图显示,使用ubuntu转换得到的rknn模型进行推理,结果保持精确的一致,谢谢耐心的解释 ...

麻烦再确认一个事情,看一下你docker上的tensorflow版本和rknn版本是否与板子一致、
回复

使用道具 举报

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

本版积分规则

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


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