五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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調試記錄(上)的評論 (共 條)

分享到微博請遵守國家法律
永宁县| 淳化县| 巴中市| 萍乡市| 静乐县| 固始县| 错那县| 承德县| 吴旗县| 九龙坡区| 郴州市| 贡山| 霞浦县| 广安市| 化隆| 阳新县| 天津市| 西安市| 呼伦贝尔市| 青田县| 平潭县| 鹰潭市| 岳西县| 灵石县| 泾川县| 伊宁县| 鄂托克旗| 咸阳市| 墨脱县| 杭锦旗| 封丘县| 内乡县| 瑞丽市| 卓资县| 井冈山市| 阆中市| 同仁县| 准格尔旗| 晋城| 丹阳市| 云霄县|