本文將總結關於導入及審查 o 或 BERT 模型我們刻意加入了幾項輔助動作 與驗證器和型別推斷相關的項目,以及對於驗證結果 在這些國家/地區使用翻譯功能
實作運算時
- 提供明確書面的測試策略 (在 PR 說明中) 類似 這份文件,即可使用 當做參考,以檢視驗證 方法和對應的測試。審查人員會再次確認 說明的內容完整詳盡
- 諮詢 hlo_evaluator 辨識棘手的實作細節和潛在的功能缺口。
- 如果您發現任何錯誤,可以提交對應軟體元件的支援單 或是功能缺失
實作註解後
在 StablehloOps.td 中:
- 請確認運算 ODS 中的
summary
符合標準格式。 (相關票券) 新增參照限制標籤 (例如
Cn
或In
) 的註解, 格式為xyz_cn
或xyz_in
,也就是運算XyzOp
的規格,以便識別 ODS 限制與規格之間的對應關係。 以下範例說明如何將限制標籤新增為註解 和 mlirTraits
和TypeConstraints
一併使用附註xyz_c4
是指StableHLO_FooOp
類別中定義的限制條件 (例如StableHLO_ShapedInterfaceOp
、StableHLO_UnaryElementwiseOp
、StableHLO_Op
等)。def StableHLO_XyzOp: StableHLO_FooOp<"xyz", [Trait1, Trait2 /*xyz_c1, xyz_c2*/, InferTensorType /*xyz_c3*/]> { /*xyz_c4*/ ... let summary = "Xyz operation"; let arguments = (ins 1DTensorOf<[HLO_Float]>:$a, /*xyz_c5, xyz_i1*/ HLO_Tensor:$b, /*xyz_i2*/ .... ); );
- 請確認運算 ODS 中的
在 TypeInference.cpp 中 和 StablehloOps.cpp:
- 刪除含有「驗證下列屬性」等字詞的註解: ..."
- 新增參照限制標籤 (例如
Cn
或In
) 的註解, 格式為xyz_cn
或xyz_in
,也就是運算XyzOp
要識別的 驗證器和形狀函式哪些部分與 特定的限制條件。- 註解可以具有多個限制標籤,或
。這取決於
限制條件的執行方式。如有連續限制條件
合併為
xyz_cn...xyz_cm, xyz_in...xyz_jn
- 萬一 與規格中的實作比較,請確認 反映出這項差異的待處理問題
- 註解可以具有多個限制標籤,或
。這取決於
限制條件的執行方式。如有連續限制條件
合併為
在解譯器測試中:
- 新增名為
<op_mnemonic>.mlir
的檔案。 - 按照測試指南編寫測試。
- 新增名為
在 testdata 目錄中:
- 執行新新增作業涵蓋的所有已停用測試。
- 如果測試通過,請將
RUN-DISABLED
轉換為RUN
以啟用這些測試。 - 如果測試基於某些原因 (精確度不符除外) 而失敗,請修正 導入/測試
- 如果是精確度不相符的情況,請使用
RUN-DISABLED(#1278)
標記測試 (如果 表示這在容器中建立
在 ops_stablehlo.mlir 中:
- 確定每個工具都至少加入一項測試 (正面或負面) 限制及型別推斷方法;限制條件 但不會測試 ODS 中涵蓋的內容這些測試大多會是負值 測試未達成或陽性的限制,請測試 但推斷的形狀是正確的
- 確認已放進測試中運算的所有相關測試 。
- 請確認受測試的作業相關的所有測試均
前方加上
CHECK-LABEL
照明巨集。 - 按照下列格式選擇測試的函式名稱
xyz_cn_im_...
:用於測試函式限制Cn
、Im
、 運算XyzOp
等事件不適用提議的格式 並保留現有名稱 - 上述步驟完成後,排序與運算相關的所有測試 這些函式的字母與函式名稱
- 繼續新增測試,直到 ccov 為止 顯示 >= 90% 運算的涵蓋率。
在 infer_stablehlo.mlir 中:
- 確認設有形狀推論測試的所有相關限制 ,並遵循上面提到的相同命名規範。
- 從 ops_stablehlo.mlir 移動任何形狀推論測試 並貼到這個檔案
在 spec.md 中:
- 新增「
stablehlo/tests/interpret/<op_mnemonic>.mlir
」的連結 投影片中的「範例」區段 (例如「更多範例」)。 - 請確認規格僅包含 1 個範例。
- 請確認規格範例符合測試規範。
- 確保規格範例測試可供解讀。
- 請確定規格範例與 ODS 中的範例相同。
- 新增「
在 status.md 中:
- 更新「翻譯器」改為「
yes
」。
- 更新「翻譯器」改為「