क्वालकॉम ऐमेट दक्षता टूलकिट दस्तावेज़ीकरण निर्देश

केबीए-231226181840

1. पर्यावरण सेटअप करें

1.1. Nvidia ड्राइवर और CUDA स्थापित करें

1.2. संबंधित पायथन लाइब्रेरी स्थापित करें

python3 -m पाइप इंस्टॉल –अपग्रेड –इग्नोर-इंस्टॉल्ड पाइप
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 जैक्स
python3 -m pip install –ignore-installed ftfy
python3 -m pip install –ignore-installed torchinfo
python3 -m pip install –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 install –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

1.3. क्लोन aimet-मॉडल-चिड़ियाघर

गिट क्लोन https://github.com/quic/aimet-model-zoo.git
सीडी aimet-मॉडल-चिड़ियाघर
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
निर्यात PYTHONPATH=${PYTHONPATH}:${PWD}

1.4. सेट14 डाउनलोड करें

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

1.5. पंक्ति 39 को संशोधित करें 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 के लिए:

1.6. मूल्यांकन चलाएँ.

# YOURPATH/aimet-model-run के अंतर्गत चलाएँ
# quicksrnet_small_2x_w8a8 के लिए
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–मॉडल-कॉन्फ़िगरेशन quicksrnet_small_2x_w8a8 \
–डेटासेट-पथ ../Set14/image_SRF_4

# quicksrnet_small_4x_w8a8 के लिए
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–मॉडल-कॉन्फ़िगरेशन quicksrnet_small_4x_w8a8 \
–डेटासेट-पथ ../Set14/image_SRF_4

# quicksrnet_medium_2x_w8a8 के लिए
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–मॉडल-कॉन्फ़िगरेशन quicksrnet_medium_2x_w8a8 \
–डेटासेट-पथ ../Set14/image_SRF_4

# quicksrnet_medium_4x_w8a8 के लिए
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–मॉडल-कॉन्फ़िगरेशन quicksrnet_medium_4x_w8a8 \
–डेटासेट-पथ ../Set14/image_SRF_4

मान लीजिए कि आपको लक्ष्य सिम्युलेटेड मॉडल के लिए PSNR मान मिल जाएगा। आप QuickSRNet के विभिन्न आकार के लिए मॉडल-कॉन्फ़िगरेशन बदल सकते हैं, विकल्प aimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/ के अंतर्गत है।

2 पैच जोड़ें

2.1. “ONNX Steps REVISED.docx में निर्यात करें” खोलें

2.2. git कमिट आईडी छोड़ें

2.3. धारा 1 कोड

संपूर्ण 1. कोड को अंतिम पंक्ति के नीचे जोड़ें (पंक्ति 366 के बाद) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py

2.4. धारा 2 और 3 संहिता

लाइन 2 के अंतर्गत संपूर्ण 3, 93 कोड जोड़ें aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py

2.5. फ़ंक्शन load_model में मुख्य पैरामीटर

मॉडल = लोड_मॉडल(MODEL_PATH_INT8,

मॉडल नाम,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=सत्य,
एन्कोडिंग_पथ=ENCODING_PATH,
क्वांटसिम_कॉन्फ़िगरेशन_पथ=CONFIG_PATH,
कैलिब्रेशन_डेटा=IMAGES_LR,
use_cuda=सत्य,
before_quantization=सत्य,
convert_to_dcr=सत्य)

MODEL_PATH_INT8 = aimet_zoo_torch/quicksrnet/model/weights/quicksrnet_small_2x_w8a8/pre_opt_weights
मॉडल_नाम = क्विकएसआरनेटस्मॉल
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG) = {'स्केलिंग_फ़ैक्टर': 2}
एनकोडिंग_पथ = 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 Steps REVISED.docx” से फ़ंक्शन export_to_onnx(…, input_height, input_width) के अंदर पैरामीटर

2.7 ONNX मॉडल को निर्यात करने के लिए 1.6 को पुनः चलाएँ

3. SNPE में कनवर्ट करें

3.1. कन्वर्ट

${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–इनपुट_नेटवर्क मॉडल.onnx \
–quantization_overrides ./model.encodings

3.2. (वैकल्पिक) केवल क्वांटाइज्ड डीएलसी निकालें

(वैकल्पिक) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params

3.3. (महत्वपूर्ण) ONNX I/O NCHW क्रम में है; परिवर्तित DLC NHWC क्रम में है

दस्तावेज़ / संसाधन

क्वालकॉम ऐमेट दक्षता टूलकिट दस्तावेज़ीकरण [पीडीएफ] निर्देश
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet दक्षता टूलकिट प्रलेखन, दक्षता टूलकिट प्रलेखन, टूलकिट प्रलेखन, प्रलेखन

संदर्भ

एक टिप्पणी छोड़ें

आपकी ईमेल आईडी प्रकाशित नहीं की जाएगी। आवश्यक फ़ील्ड चिह्नित हैं *