CRNN轉換NEF發生錯誤


我使用Toolchain轉化onnx成NEF時發生了問題,附上使用toolchain優化後的模型。

我想轉換的平台是720,並且也檢查過模型裡使用的ops都沒有使用到Hardware Supported Operators - Document Center (kneron.com)不支援的。

以下是轉換輸出的錯誤碼。


Comments

  • 您好,

    有這個錯誤的時候,我們會建議您將模型的operators裡面的description刪掉,然後再轉換模型:


  • @Maria Chen 妳好,感謝妳的回覆

    我按照建議將description刪掉重新建了一個onnx後遇到了另一個問題

    刪掉description的onnx透過toolchain轉換時發生了Err:139的代碼

    想請問這個代碼該如何除錯


  • 您好,

    KL720是支援LSTM,但是目前的版本不支援中間的sequence_lens:

    所以會失敗。我們會建議您可以考慮換模型。


    要剪掉operators是可以,但是剪掉的operators需要用postprocess加回去,postprocess是用CPU跑,所以跑LSTM可能會很慢。

    若真的要剪的話,可以把所有LSTM還有所有3 dimension的link剪掉,會比較穩 (從Reshape以下都剪掉)


  • @Maria Chen 妳好

    感謝妳的答覆,有幾個問題想請教:

    1.請問你們所支援的LSTM是哪一個opset版本,我嘗試轉換了所有的版本onnx裡面的LSTM都含有sequence_lens。

    2.即便我的模型在sequence_lens裡沒有值也無法支援嗎?我使用了許多方式都無法讓sequence_lens的欄位從inputs裡移除

    3.如果我要更換模型,依照妳們的經驗LSTM的部分我該換成哪一個模型轉換成功的機率比較大呢?

  • 您好,

    不好意思我上次說錯了,有sequence_lens沒問題,問題是因為sequence_lens裡面的input是空的,所以我們才不會支持。現在的版本無論是什麼opset都會有不支持空input的問題,所以會需要您在那裡面給一個值就可以了。

  • @Maria 妳好

    我照妳的建議給定sequence_lens一個值了,但是目前透過toolchain轉換時發生了Err:134的代碼

    如下圖


  • 您好,

    可以請您提供下列的資訊嗎? 謝謝!

    -轉換模型時使用的python script

    -Input資料 (e.g. 圖片)

    -Toolchain版本與OS版本

    除此之外,您也可以嘗試剪掉Reshape以下的operators,然後將這些operators用postprocess加回去,因為雖然KL720會支持Reshape和Transpose,不過它們有一些限制:

    也請您確認這個模型是否有optimize過,轉換成Kneron格式的onnx

  • 以下是我使用的環境:

    Toolchain:kneron/toolchain:v0.25.1

    OS:Win11 Pro搭配WSL2 Ubuntu 22.04

    script與input資料都在壓縮檔

    我先前上傳的每一個ONNX都有透過Toolchain裡的optimize.py轉換

    剪掉算子這一塊我也正在進行,但我還是希望能夠讓模型處理全部的程序。

  • 您好,

    我們發現本來toolchain的onnx converter (kneronnxopt)會幫忙拆開LSTM所以可以轉換模型,不過新的converter還沒有這項功能。

    幾天後,我們會新出一版可以用kneronnxopt拆解LSTM的toolchain,之後您的模型經過kneronnxopt處理就可以轉換了,請稍等,謝謝!

    更新toolchain的command是: docker pull kneron/toolchain:latest

    Kneronnxopt資訊: Kneronnxopt - Document Center

  • 感謝妳帶來的這個好消息,

    如果能這樣轉換成功那就太好了!

    等新版本更新後我就來嘗試看看,感謝妳的協助。

  • @Maria Chen

    請問新一版的toolchain大約什麼時候會更新,可以提供一個比較明確的時間點嗎?

    感謝!

  • 您好,

    我們這次的toolchain release來不及加上LSTM的處理,所以預計會下一次更新的時候加上,大約是十月底,不好意思會讓您久等!

  • @Maria Chen

    請問新的toolchain什麼時候會更新呢

    目前docker上的最新版是0.26.0,但這一版還沒修正LSTM的問題。

  • 您好,

    有LSTM處理的toolchain版本,預計是這個月底會出來,不好意思又會讓您久等。

  • 您好,

    讓您久等了,新的toolchain版本(0.27.0)出來了! 請您再測試一下LSTM的處理,謝謝!

The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.