前言:
在對演算法模型進行部署的時候,往往需要做一些工作。以xilinx開發板部署tf框架模型為例,首先需要對訓練好的ckpt模型進行freeze得到.pb模型,之後,對其進行量化、編譯生成elf檔案,然後在板卡上通過main.cc函式呼叫pb模型的輸入/輸出節點對網路模型進行計算,注意這裡的計算分為兩部分,其中模型的輸入資料前處理和輸出資料後處理的計算部分由板卡中的arm處理器進行計算,模型的卷積計算來自板卡中的高效能算力。
這裡主要針對演算法在後處理部分實現時,由於arm中不支援tf的大量依賴庫,只能依靠於numpy的資料庫進行測試。因此就有了對inference中的tf.函式庫轉為np.函式庫的需求。
案例:
1.tf.shape&np.shape
2.tf.reshape&np.reshape
3.tf.range&np.arange
4.tf.tile&np.tile
5.tf.concat&np.concatenate
6.tf.exp&np.exp
7.tf.sigmoid(x)&1/(1+np.exp(-x))
後記:
突然感覺np的確很np!
靜態函式庫與動態函式庫的設計
函式庫存放位置 linux應用程式使用的主要函式均放在 lib和 usr lib目錄下,其中採用 so.命名的是動態函式庫,而以 a方式命名的是靜態函式庫。靜態函式庫的特點 程式所要用到的庫函式 在鏈結時全部被copy到程式中。導致的問題 如果有多個程序在記憶體中同時執行,並且使用了相同的函式庫,那...
函式庫檔案
乙個很簡單的問題除錯了好久,不過還算有收穫。現總結一下 1.vs2008中 math.h 標頭檔案中沒有定義m pi,如果程式確實要用m pi則需自己定義。define m pi 3.14159265358979323846 2.如果程式中自己定義的函式比較多,為了除錯方便使用方便,可以將這些函式都...
標準函式庫
1 rand與srand函式產生偽隨機數 cpp view plain copy print?intrand void void srand unsigned intseed rand返回乙個範圍在0和rand max之間的偽隨機數,為了避免程式每次執行時獲得相同的隨機數序列,可以使用srand函式...