帶你掌握如何使用CANN 運算元ST測試工具msopst

2022年10月02日02:59:20 科技 1107

本文分享自華為雲社區《帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

總體使用流程

自定義運算元部署到OPP運算元庫後,開發者可使用msopst工具驗證運算元在昇騰AI處理器上執行的正確性,總體流程較簡單,如下所示:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

下面我們分別介紹以上每一個步驟是幹什麼的?該如何做?

生成測試用例定義文件

測試用例定義文件,顧名思義,就是用來生成測試用例的,其內容包含了測試用例所需的基本信息,例如:測試用例名稱,所要測試的運算元類型,運算元的輸入輸出描述信息(形狀、數據類型、數據排布格式等)、運算元屬性相關信息(包含屬性名稱、類型、屬性值)、數據生成演算法等。以Add運算元為例,通過msopst工具生成測試用例定義文件的命令如下:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

上述命令執行完成後,會在當前路徑的output目錄下生成Add運算元的測試用例定義文件:Add_case_{timestamp}.json。

當然,您也可以不使用msopst create命令,直接拷貝已有運算元的測試用例定義文件進行修改亦可,使用運算元信息庫生成的優勢是會自動填充測試用例定義文件中的相關欄位,例如case_name,op,input_desc與output_desc中的name、format、type等。OpType_case_xxx.json文件的模板如下:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

配置測試用例定義文件

測試用例定義文件的配置為整個ST測試流程的核心,直接決定了生成的測試用例個數、數據生成演算法、測試覆蓋率等,下面描述測試用例定義文件的參數含義及配置方法。

輸入輸出描述配置

輸入輸出描述信息包含的關鍵配置如下表所示:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

測試用例採用將以上配置進行正交組合的方式生成,如下圖所示,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。

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

運算元屬性配置

若運算元包含屬性,還需要配置如下表所示參數:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

大批量生成測試用例

若開發者需要生成大量測試用例,可利用fuzz測試參數生成腳本輔助生成,並在測試用例定義文件( *.json )中配置fuzz腳本路徑、所需生成的測試用例數目,同時輸入輸出描述中相關參數的取值配置為「fuzz」。操作步驟示例如下:

1、配置fuzz測試參數生成腳本,假設腳本命名「fuzz_shape.py」,實現如下所示:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

2、配置測試用例定義文件;

3、在測試用例定義文件(*.json)中配置fuzz測試參數生成腳本的路徑,所需生成的測試用例個數,並將需要自動生成的欄位配置為固定值「fuzz」,如下所示:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

定義期望數據生成函數

若用戶需要得到實際輸出與期望輸出的比對結果,可使用Python語言自定義實現期望數據生成函數,並在ST測試用例定義文件中增加此函數入口。例如,Add運算元的期望數據生成函數為「/home/test/test_add.py」,實現如下所示:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

然後在ST測試用例定義文件中增加「calc_expect_func_file」參數,配置為「期望數據生成函數的文件:函數名」,如下所示:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

生成並執行測試用例

配置完相關環境變數後,您就可以通過如下命令執行ST測試用例:

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

查看執行結果

ST測試用例執行完後,您可以通過打屏信息查看用例執行結果,若下所示,共運行9個用例,9個用例全部執行成功。

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

開發者也可以查看生成的報表「st_report.json」,此報表中記錄了測試結果及各階段的運行情況,ST測試用例運行異常時,可以基於此信息進行問題定位。

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

至此,ST測試工具「msopst」的使用全流程已介紹完畢,您是否對此工具有了初步的認知呢?若您需要進行自定義運算元的開發,別忘了使用此工具進行運算元的ST測試噢~關於此工具的更多使用樣例,可參見昇騰社區中的《TBE自定義運算元開發指南》或《AI CPU自定義運算元開發指南》。

https://www.hiascend.com/document?tag=community-developer

帶你掌握如何使用CANN 運算元ST測試工具msopst - 天天要聞

昇騰CANN文檔中心致力於為開發者提供更優質的內容和更便捷的開發體驗,助力CANN開發者共建AI生態。任何意見和建議都可以在昇騰社區反饋,您的每一份關注都是我們前進的動力。

點擊下方,第一時間了解華為雲新鮮技術~

華為雲博客_大數據博客_AI博客_雲計算博客_開發者中心-華為雲

科技分類資訊推薦

全球發明大會中國區上海開賽,超2000名學生參賽,宇樹機器人也穿上賽服 - 天天要聞

全球發明大會中國區上海開賽,超2000名學生參賽,宇樹機器人也穿上賽服

7月4日,2024-2025年度全球發明大會中國區(ICC)上海賽區在寶山區青少年活動中心開賽。宇樹科技機器人G1與2000多名來自長三角等地區的參賽青少年一樣,也穿上賽服躍躍欲試。它還和小發明家一起,與現場觀賽的中國科學院院士、上海技術物理研究所研究員、世界電磁波科學界最高獎得主沈學礎等握手相擁。沈學礎院士與小選手在...
朝陽前瞻布局元宇宙,未來顯示產業園等成果批量上新 - 天天要聞

朝陽前瞻布局元宇宙,未來顯示產業園等成果批量上新

元宇宙是北京市重點布局的未來產業之一。7月4日,作為全國規模最大、產業鏈生態最完整的元宇宙(互聯網3.0)生態發展集聚區,朝陽區舉辦2025全球數字經濟大會AIGC與元宇宙融合發展論壇。AIGC(人工智慧內容生成)工具平台、2025朝陽區元宇宙標杆示範應用場景、元宇宙應用場景示範基地、未來顯示產業園、ULive超現場播控中心...
虛假信息面前,AI為何「智商下線」? - 天天要聞

虛假信息面前,AI為何「智商下線」?

□曹欣怡(雲南財經大學)7月4日,「DeepSeek給王一博道歉是假的」衝上微博熱搜。據稱,這家人工智慧公司因內容審核疏漏,將王一博與「李愛慶腐敗案」不當關聯,損害了其名譽,並已作出正式道歉。
無3C標識充電寶「禁飛」首周:民航與鐵路安檢標準不一 - 天天要聞

無3C標識充電寶「禁飛」首周:民航與鐵路安檢標準不一

自6月28日起,民航局禁止旅客攜帶無3C標識及被召回的充電寶乘坐境內航班,另一方面,鐵路部門並不查驗充電寶3C認證標識或品牌。針對充電寶「禁飛」一周來的落實情況,記者進行了走訪調查。濟南遙牆國際機場:鼓包或破損的充電寶也「禁飛」7月4日,濟南遙牆國際機場工作人員向記者表示,該機場嚴格執行民航局通知,禁止旅客...
最新!白雲機場:充電寶7天內免費暫存 - 天天要聞

最新!白雲機場:充電寶7天內免費暫存

今天(7月4日)是民航局充電寶乘機攜帶新政策正式實施的第6天,記者從廣州白雲機場獲悉,旅客攜帶不合規充電寶的數量呈明顯減少趨勢。據悉,白雲機場提供充電寶暫存服務供旅客選擇,兩座航站樓均設有暫存點,7天內免費暫存,7天後視為自棄處理。根據民航局通知要求,為切實保障航空運行安全,6月28日起禁止旅客攜帶沒有3C標...
小鵬G7正式上市 極致AI科技與滿配舒適兼得 - 天天要聞

小鵬G7正式上市 極致AI科技與滿配舒適兼得

日前,小鵬汽車正式發布全新AI智能家庭SUV——小鵬G7。新車共推出602長續航Max、702超長續航Max、702超長續航Ultra三個版本,上市即刻可以交付。 作為全球首款L3級算力的AI汽車,小鵬G7不僅實現了2250TOPS有效算力以及本地端VLA+VLM大模型的行業首發,更以行業領先的「追光全景」抬頭顯示、「857」的領先三電配置、太極AI底...