最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

rknn轉換wenet,chunk輸出正常而cache輸出異常的bug調試記錄(上)

2023-08-24 11:18 作者:叫我小云或者云哥  | 我要投稿

問題就是板端encoder輸出的有三個值,chunk,attcache,cnncache,只有chunk的精度是正常的,兩個cache掉精度很嚴重,這里來調試一波!


用rknn分析工具說是第一層的layernorm有問題,但是layernorm只影響了chunk的輸出,對cache影響不大,如果是layernorm有問題,那么chunk的輸出也不會是0.999的準確度,所以先不管分析工具

首先確定attcacahe的出口,發(fā)現(xiàn)是在每層的selfattn,而且只涉及兩個linear+一個cat

每次輸出的new att cache都是k和vcat后的輸出,而k和v是chunk經過不同的linear生成的

每次selfattn輸入如下:

qkv都是相同的,因為我們最終的chunk是正確的,所以按理說這里的qkv和板端的輸出是一致的,所以先找第0層encoder在onnx中的位置,然后尋找板端逐層輸出的結果取出來

在selfattn外,x先經過了一個layernorm名字叫mha,所以就找這一層的輸出:

很輕松找到了這個輸出,在模型中計算余弦相似度

然而卻是負的,說明我找錯了板端輸出,果然,這個rknn的runtime輸入的chunk和torch的chunk都不一樣:

震驚,原來沒找錯,是因為我torch輸入的語音和rknn的不一樣...(好丟人,趕緊寫下來教訓一下自己)修正后此處的余弦為0.9999是正確的,但是selfattn的輸入還是不對

然而位置是正確的:

就是這個值啊

再往前追,第一次輸入encoder的值是正確的,也就是encoders.0的輸入:

接下來他就要經過模生的第一個layernorm了,看看結果:

結果果然不對....而且和rknn分析工具的結果一致:

所以問題又來了,rknn工具給出的最終chunk的輸出精度也很低

但實際chunk精度正常,所以真相只有一個!

這個工具逐層分析的結果,板端輸出的不是runtime的結果,不然根本對不上

rknn轉換wenet,chunk輸出正常而cache輸出異常的bug調試記錄(上)的評論 (共 條)

分享到微博請遵守國家法律
黄浦区| 焉耆| 泸水县| 巴楚县| 新民市| 大余县| 招远市| 灵寿县| 朔州市| 荃湾区| 大同县| 天津市| 象州县| 五莲县| 高密市| 万全县| 杭锦旗| 南宁市| 榆树市| 新乐市| 皋兰县| 绥江县| 衡东县| 襄垣县| 芒康县| 永春县| 新竹县| 壶关县| 柳州市| 乌兰浩特市| 高台县| 雷州市| 新郑市| 灵武市| 台东县| 崇仁县| 开江县| 巴中市| 泸溪县| 武城县| 凤翔县|