摘要:本期帶您了解如何使用msopst工具,
本文分享自華為云社區《【CANN檔案速遞13期】算子ST測驗工具【msopst】》,作者: 昇騰CANN ,
如何獲取msopst工具
msopst工具存盤在Ascend-cann-toolkit安裝目錄的“toolkit/python/site-packages/bin”路徑下,支持對TBE算子以及AI CPU算子進行ST測驗,
CANN軟體安裝完成并生效環境變數配置腳本后,即可直接使用此工具,您可以在任意路徑下執行如下命令查看工具相關引數:
總體使用流程
自定義算子部署到OPP算子庫后,開發者可使用msopst工具驗證算子在昇騰AI處理器上執行的正確性,總體流程較簡單,如下所示:
下面我們分別介紹以上每一個步驟是干什么的?該如何做?
生成測驗用例定義檔案
測驗用例定義檔案,顧名思義,就是用來生成測驗用例的,其內容包含了測驗用例所需的基本資訊,例如:測驗用例名稱,所要測驗的算子型別,算子的輸入輸出描述資訊(形狀、資料型別、資料排布格式等)、算子屬性相關資訊(包含屬性名稱、型別、屬性值)、資料生成演算法等,以Add算子為例,通過msopst工具生成測驗用例定義檔案的命令如下:
上述命令執行完成后,會在當前路徑的output目錄下生成Add算子的測驗用例定義檔案:Add_case_{timestamp}.json,
當然,您也可以不使用msopst create命令,直接拷貝已有算子的測驗用例定義檔案進行修改亦可,使用算子資訊庫生成的優勢是會自動填充測驗用例定義檔案中的相關欄位,例如case_name,op,input_desc與output_desc中的name、format、type等,OpType_case_xxx.json檔案的模板如下:
配置測驗用例定義檔案
測驗用例定義檔案的配置為整個ST測驗流程的核心,直接決定了生成的測驗用例個數、資料生成演算法、測驗覆寫率等,下面描述測驗用例定義檔案的引數含義及配置方法,
輸入輸出描述配置
輸入輸出描述資訊包含的關鍵配置如下表所示:
測驗用例采用將以上配置進行正交組合的方式生成,如下圖所示,format取值為[“ND”,“NCHW”, “NHWC”];type的取值為[“int32”,“float32”];shape的取值范圍為[32,16];data_distribute的取值為[“uniform”],value_range的取值為[0.1, 1.0],則生成的測驗用例個數為 3 * 2 * 1 * 1 * 1 = 6,
算子屬性配置
若算子包含屬性,還需要配置如下表所示引數:
大批量生成測驗用例
若開發者需要生成大量測驗用例,可利用fuzz測驗引數生成腳本輔助生成,并在測驗用例定義檔案( *.json )中配置fuzz腳本路徑、所需生成的測驗用例數目,同時輸入輸出描述中相關引數的取值配置為“fuzz”,操作步驟示例如下:
1、配置fuzz測驗引數生成腳本,假設腳本命名“fuzz_shape.py”,實作如下所示:
2、配置測驗用例定義檔案;
3、在測驗用例定義檔案(*.json)中配置fuzz測驗引數生成腳本的路徑,所需生成的測驗用例個數,并將需要自動生成的欄位配置為固定值“fuzz”,如下所示:
定義期望資料生成函式
若用戶需要得到實際輸出與期望輸出的比對結果,可使用Python語言自定義實作期望資料生成函式,并在ST測驗用例定義檔案中增加此函式入口,例如,Add算子的期望資料生成函式為“/home/test/test_add.py”,實作如下所示:
然后在ST測驗用例定義檔案中增加“calc_expect_func_file”引數,配置為“期望資料生成函式的檔案:函式名”,如下所示:
生成并執行測驗用例
配置完相關環境變數后,您就可以通過如下命令執行ST測驗用例:
查看執行結果
ST測驗用例執行完后,您可以通過打屏資訊查看用例執行結果,若下所示,共運行9個用例,9個用例全部執行成功,
開發者也可以查看生成的報表“st_report.json”,此報表中記錄了測驗結果及各階段的運行情況,ST測驗用例運行例外時,可以基于此資訊進行問題定位,
至此,ST測驗工具“msopst”的使用全流程已介紹完畢,您是否對此工具有了初步的認知呢?若您需要進行自定義算子的開發,別忘了使用此工具進行算子的ST測驗噢~關于此工具的更多使用樣例,可參見昇騰社區中的《TBE自定義算子開發指南》或《AI CPU自定義算子開發指南》,( https://www.hiascend.com/document?tag=community-developer )
昇騰CANN檔案中心致力于為開發者提供更優質的內容和更便捷的開發體驗,助力CANN開發者共建AI生態,任何意見和建議都可以在昇騰社區反饋,您的每一份關注都是我們前進的動力,
點擊關注,第一時間了解華為云新鮮技術~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/509097.html
標籤:其他
上一篇:Postman連接資料庫
