日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

Ascend Pytorch算子功能验证

發布時間:2023/11/28 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ascend Pytorch算子功能验证 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Ascend Pytorch算子功能驗證
編寫測試用例
以add算子為例,測試腳本文件命名為:add_testcase.py。以下示例僅為一個簡單的用例實現,具體算子的實現,需要根據算子定義進行完整的覆蓋才能保證功能的基本正確。

  1. 引入依賴庫。
  2. import torch
  3. import numpy as np
  4. import sys
  5. import copy
    from util_test import compare_res
    說明:
    其中,util_test為測試框架提供的文件,詳細實現參考 附錄->測試代碼樣例-> util_test.py,使用時應與testcase.py文件放在同一目錄。
  6. 構造輸入數據。
  7. def generate_data(min, max, shape, dtype):
  8.  input1 = np.random.uniform(min, max, shape).astype(dtype)
    
  9.  input2 = np.random.uniform(min, max, shape).astype(dtype)
    
  10. #modify from numpy.ndarray to torch.tensor
    
  11. npu_input1 = torch.from_numpy(input1)
    
  12. npu_input2 = torch.from_numpy(input2)
    
  13. return npu_input1, npu_input2
  14. 調用CPU及NPU完成計算,并比較二者的計算結果。
  15. def test_add_float16():
  16. npu_input1, npu_input2 = generate_data(0, 100, (5,3), np.float16)
    
  17. cpu_output = cpu_op_exec(npu_input1, npu_input2)
    
  18. npu_output = npu_op_exec(npu_input1, npu_input2)
    
    compare_res(cpu_output, npu_output, sys._getframe().f_code.co_name)
  19. 調度測試用例
  20. def test_add():
  21. # testcase list
    
  22. test_add_float16() 
    
  23. if name == ‘main’:
  24. # 當前版本需要調用如下代碼
    
  25. torch.npu.set_device("npu:0")      //注意 "npu:x"中的x的填寫參見說明
    
    test_add()
    說明:
    set_device(“npu:0”) 這個接口的作用是指定用例運行的NPU設備ID。
    設置運行環境變量
    export LD_LIBRARY_PATH=/usr/local/lib/:/usr/lib/:/usr/local/Ascend/fwkacllib/lib64/:/usr/local/Ascend/driver/lib64/common/:/usr/local/Ascend/driver/lib64/driver/:/usr/local/Ascend/add-ons/:/usr/lib/x86_64-linux-gnu:LDLIBRARYPATHexportPATH=LD_LIBRARY_PATH export PATH=LDL?IBRARYP?ATHexportPATH=PATH:/usr/local/Ascend/fwkacllib/ccec_compiler/bin
    export ASCEND_OPP_PATH=/usr/local/Ascend/opp

export NEW_GE_FE_ID=1
export GE_AICPU_FLAG=1

export PYTHONPATH=/usr/local/Ascend/atc/python/site-packages/:/usr/local/Ascend/atc/python/site-packages/auto_tune.egg/auto_tune:/usr/local/Ascend/atc/python/site-packages/schedule_search.egg
export CUSTOM_OP_LIB_PATH=/usr/local/Ascend/ops/framework/built-in/tensorflow
export OPTION_EXEC_EXTERN_PLUGIN_PATH=/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/libfe.so:/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/libaicpu_plugin.so:/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/libge_local_engine.so
export PLUGIN_LOAD_PATH=/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/libfe.so:/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/libaicpu_plugin.so:/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/libge_local_engine.so:/usr/local/Ascend/fwkacllib/lib64/plugin/opskernel/librts_engine.so
說明:
上述環境變量實際路徑/usr/local/Ascend/需要根據開發套件等的安裝路徑進行相應的調整。普通用戶進行調試時,將“自定義TBE算子”安裝至個人工作目錄(當前版本要求與Ascend-opp-.run的安裝目錄一致,如Ascend-opp-.run安裝在"/home/username/.local/Ascend"),則需修改上述環境變量中的內容:
export ASCEND_OPP_PATH=~/.local/Ascend/opp
export CUSTOM_OP_LIB_PATH=~/.local/Ascend/opp/framework/custom/tensorflow
執行測試用例腳本
進入add_testcase.py所在的目錄,執行:
python3.7.5 add_testcase.py
運行結束,可能會提示一個錯誤“THPModule_npu_shutdown failed.”,此錯誤不影響結果,請忽略。

總結

以上是生活随笔為你收集整理的Ascend Pytorch算子功能验证的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。