轉換onnx ONNX簡化節點和修改教程

2021-10-25 12:24:11 字數 523 閱讀 6554

在訓練完深度學習的pytorch或者tensorflow模型後,有時候需要把模型轉成 onnx,但是很多時候,很多節點比如cast節點,identity 這些節點可能都不需要,我們需要進行簡化,這樣會方便我們把模型轉成ncnn或者mnn等這些端側部署的模型格式或者通過tensorrt進行部署。

方法1:使用 onnx-simplifier 進行精簡

乙個方法是使用 [onnx-simplifier](  進行精簡。

安裝其實很很簡單,使用pip進行安裝:

pip3 install onnx-simplifier

然後進行轉換:

python3 -m onnxsim input_onnx_model output_onnx_model

開箱即用,不需要任何安裝。只需開啟網頁,選擇onnx作為輸出格式,選擇onnx簡化器,然後選擇要簡化的模型即可。

方法2:手動修改節點

節點和節點操作

節點 一般的,節點擁有nodetype 節點型別 nodename 節點名稱 和nodevalue 節點值 這三個基本屬性.頁面中所有元素都是節點 元素節點 nodetype 為1 屬性節點 nodetype 為2 文字節點 nodetype 為3 文字節點包括文字.空格.換行等 利用dom樹可以把...

節點座標的轉換(cocos create)

changepos changenode,endnode let a changenode.parent.converttoworldspacear changenode.position return endnode.parent.converttonodespacear a 這是比較直接的a節點...

NFA到DFA的轉換及DFA的簡化

確定型有窮自動機是不確定有窮自動機中的乙個特例,其中 沒有輸出 之上的轉換動作。對每個狀態s和每個輸入符號a,有且只有一條標號為a的邊離開s 下面來看看nfa怎麼轉換為dfa吧 先來看看一會會涉及到操作 以下為演算法 看完演算法可能還是有些懵逼,我們一起來過一遍例項。以下圖為例。先構建乙個這樣的 然...