Qualcomm Aimet ထိရောက်မှု ကိရိယာအစုံ စာရွက်စာတမ်း လမ်းညွှန်ချက်များ

KBA-231226181840

1. ပတ်ဝန်းကျင်ကို စနစ်ထည့်သွင်းပါ။

၁.၁။ Nvidia Driver နှင့် CUDA ကို install လုပ်ပါ။

၁.၂။ သက်ဆိုင်ရာ Python Library ကို ထည့်သွင်းပါ။

python3 -m pip install –upgrade –ignore-installed pip
python3 -m pip install -ignore-installed gdown
python3 -m pip install –ignore-installed opencv-python
python3 -m pip install –ignore-installed torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
python3 -m pip install –ignore-installed jax
python3 -m pip install –ignore-installed ftfy
python3 -m pip ထည့်သွင်းခြင်း -ignore-installed torchinfo
python3 -m pip ထည့်သွင်းခြင်း –ignore-installed https://github.com/quic/aimet/releases/download/1.25.0/AimetCommon-torch_gpu_1.25.0-cp38-cp38-linux_x86_64.whl
python3 -m pip ထည့်သွင်းခြင်း –ignore-installed https://github.com/quic/aimet/releases/download/1.25.0/AimetTorch-torch_gpu_1.25.0-cp38-cp38-linux_x86_64.whl
python3 -m pip install –ignore-installed numpy==1.21.6
python3 -m pip install –ignore-installed psutil

၁.၃။ aimet-model-zoo မွေးထုတ်ပါ။

git clone https://github.com/quic/aimet-model-zoo.git
cd aimet-model-zoo
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
PYTHONPATH=${PYTHONPATH}:${PWD} ကို ထုတ်ယူရန်

၁.၄။ Set1.4 ကိုဒေါင်းလုဒ်လုပ်ပါ။

wget https://uofi.box.com/shared/static/igsnfieh4lz68l926l8xbklwsnnk8we9.zip
unzip igsnfieh4lz68l926l8xbklwsnnk8we9.zip

၁.၅။ လိုင်း 1.5 aimet-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py ကို ပြင်ဆင်ပါ

ပြောင်းလဲမှု
glob.glob(os.path.join(test_images_dir၊ “*”)) ရှိ img_path အတွက်):
ရန်
glob.glob(os.path.join(test_images_dir၊ “*_HR.*”)) ရှိ img_path အတွက်):

၁.၆။ အကဲဖြတ်ခြင်းကို လုပ်ဆောင်ပါ။

# YOURPATH/aimet-model-run အောက်တွင် ပြေးပါ။
# quicksrnet_small_2x_w8a8 အတွက်
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# quicksrnet_small_4x_w8a8 အတွက်
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# quicksrnet_medium_2x_w8a8 အတွက်
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# quicksrnet_medium_4x_w8a8 အတွက်
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4

PSNRvaluefor theaimetsimulated မော်ဒယ်ကို သင်ရလိမ့်မည်ဆိုပါစို့။ QuickSRNet ၏ မတူညီသောအရွယ်အစားအတွက် မော်ဒယ်-ဖွဲ့စည်းပုံအား သင်ပြောင်းလဲနိုင်သည်၊ ရွေးချယ်မှုမှာ underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/ ဖြစ်သည်။

2 Patch ကိုထည့်ပါ။

၂.၁။ "ONNX အဆင့်များ REVISED.docx သို့ တင်ပို့ပါ" ကိုဖွင့်ပါ။

၂.၂။ git commit ID ကို ကျော်သွားပါ။

၂.၃။ အပိုင်း ၁ ကုဒ်

1. နောက်ဆုံးစာကြောင်းအောက် (လိုင်း 366 ပြီးနောက်) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py

၂.၄။ ပုဒ်မ ၂ နှင့် ၃ ကုဒ်

စာကြောင်း 2 အောက်တွင် aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py အောက်တွင် ကုဒ် ၂ ခု၊ ၃ ခုလုံးကို ထည့်ပါ

၂.၅။ လုပ်ဆောင်ချက် load_model ရှိ အဓိက ကန့်သတ်ချက်များ

မော်ဒယ် = load_model(MODEL_PATH_INT8၊

MODEL_NAME၊
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=မှန်၊
encoding_path=ENCODING_PATH၊
quantsim_config_path=CONFIG_PATH၊
calibration_data=IMAGES_LR၊
use_cuda=မှန်၊
before_quantization=မှန်၊
convert_to_dcr=True)

MODEL_PATH_INT8 = aimet_zoo_torch/quicksrnet/model/weights/quicksrnet_small_2x_w8a8/pre_opt_weights
MODEL_NAME = QuickSRNetSmall
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG) = {'scaling_factor': 2}
ENCODING_PATH = aimet_zoo_torch/quicksrnet/model/weights/quicksrnet_small_2x_w8a8/adaround_encodings
CONFIG_PATH = aimet_zoo_torch/quicksrnet/model/weights/quicksrnet_small_2x_w8a8/aimet_config

QuickSRNet ၏ မတူညီသောအရွယ်အစားအတွက် ကိန်းရှင်များကို အစားထိုးပါ။

2.6 မော်ဒယ်အရွယ်အစား ပြုပြင်မွမ်းမံခြင်း။

  1. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json တွင် “input_shape”
  2. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py ရှိ လုပ်ဆောင်ချက်အတွင်း load_model(…)
  3. လုပ်ဆောင်ချက်အတွင်းမှ ပါရာမီတာ export_to_onnx(…၊ input_height, input_width) မှ "Export to ONNX အဆင့်များ REVISED.docx"

2.7 ONNX မော်ဒယ်ကို တင်ပို့ရန်အတွက် 1.6 ကို ပြန်ဖွင့်ပါ။

3. SNPE တွင် ပြောင်းပါ။

3.1. ပြောင်းပါ။

${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–input_network model.onnx \
–quantization_overrides ./model.encodings

၃.၂။ (ချန်လှပ်ထားနိုင်သည်) အရေအတွက်သာ DLC ကို ထုတ်ယူပါ။

(ချန်လှပ်ထားနိုင်သည်) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params

၃.၃။ (အရေးကြီးသည်) ONNX I/O သည် NCHW ၏ အမိန့်အတိုင်းဖြစ်သည်။ ပြောင်းထားသော DLC သည် NHWC တွင်ရှိသည်။

စာရွက်စာတမ်းများ / အရင်းအမြစ်များ

Qualcomm Aimet ထိရောက်မှု ကိရိယာအစုံ စာရွက်စာတမ်း [pdf] ညွှန်ကြားချက်များ
quicksrnet_small_2x_w8a8၊ quicksrnet_small_4x_w8a8၊ quicksrnet_medium_2x_w8a8၊ quicksrnet_medium_4x_w8a8၊ Aimet ထိရောက်မှု ကိရိယာ စာရွက်စာတမ်း၊ ထိရောက်မှု ကိရိယာ စာရွက်စာတမ်း စာရွက်စာတမ်း၊ ကိရိယာအစုံ စာရွက်စာတမ်း၊ စာရွက်စာတမ်း

ကိုးကား

မှတ်ချက်တစ်ခုချန်ထားပါ။

သင့်အီးမေးလ်လိပ်စာကို ထုတ်ပြန်မည်မဟုတ်ပါ။ လိုအပ်သောအကွက်များကို အမှတ်အသားပြုထားသည်။ *