Qualcomm Aimet Efficiency Toolkit दस्तावेजीकरण निर्देशनहरू

KBA-२३१२२६१८१८४०

1. वातावरण सेटअप गर्नुहोस्

१.१। Nvidia ड्राइभर र CUDA स्थापना गर्नुहोस्

१.२। सम्बन्धित पाइथन लाइब्रेरी स्थापना गर्नुहोस्

python3 -m pip install-upgrade-ignore-installed pip
python3 -m pip install -ignore-install 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-install jax
python3 -m pip install-ignore-install ftfy
python3 -m pip install -ignore-install 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-install psutil

१.३। क्लोन एमेट-मोडेल-चिडियाघर

git क्लोन https://github.com/quic/aimet-model-zoo.git
सीडी एमेट-मोडेल-चिडियाघर
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 \
-डेटासेट-पथ ../Set14/image_SRF_4

# quicksrnet_small_4x_w8a8 को लागी
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
-model-config quicksrnet_small_4x_w8a8 \
-डेटासेट-पथ ../Set14/image_SRF_4

# quicksrnet_medium_2x_w8a8 को लागि
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
-model-config quicksrnet_medium_2x_w8a8 \
-डेटासेट-पथ ../Set14/image_SRF_4

# quicksrnet_medium_4x_w8a8 को लागि
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
-model-config quicksrnet_medium_4x_w8a8 \
-डेटासेट-पथ ../Set14/image_SRF_4

मान्नुहोस् कि तपाईंले लक्ष्य अनुकरण गरिएको मोडेलको लागि PSNR मूल्य प्राप्त गर्नुहुनेछ। तपाईंले QuickSRNet को विभिन्न आकारका लागि मोडेल कन्फिगरेसन परिवर्तन गर्न सक्नुहुन्छ, विकल्प underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/ हो।

2 प्याच थप्नुहोस्

२.१। "ONNX Steps REVISED.docx मा निर्यात गर्नुहोस्" खोल्नुहोस्

२.२। Git कमिट आईडी छोड्नुहोस्

२.३ खण्ड 2.3 कोड

पूरै 1. कोड अन्तिम लाइन (लाइन 366 पछि) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py अन्तर्गत थप्नुहोस्

२.४ खण्ड २ र ३ कोड

लाइन 2 aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py अन्तर्गत पूरा 3, 93 कोड थप्नुहोस्

२.५ प्रकार्य load_model मा प्रमुख प्यारामिटरहरू

मोडेल = load_model(MODEL_PATH_INT8,

MODEL_NAME,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=True,
encoding_path=ENCODING_PATH,
quantsim_config_path=CONFIG_PATH,
calibration_data=IMAGES_LR,
use_cuda=सत्य,
before_quantization=सत्य,
कन्वर्ट_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 मा "इनपुट_आकार"
  2. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py भित्र प्रकार्य load_model(…)
  3. "ONNX चरणहरू REVISED.docx मा निर्यात गर्नुहोस्" बाट प्रकार्य export_to_onnx(…, input_height, input_width) भित्रको प्यारामिटर

2.7 ONNX मोडेल निर्यात गर्न 1.6 पुन: चलाउनुहोस्

3. SNPE मा रूपान्तरण गर्नुहोस्

३.१। रूपान्तरण गर्नुहोस्

${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 Efficiency Toolkit दस्तावेजीकरण [pdf] निर्देशनहरू
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet Efficiency Toolkit Documentation, Efficiency Toolkit Documentation, Documentation Toolkit

सन्दर्भहरू

एक टिप्पणी छोड्नुहोस्

तपाईंको इमेल ठेगाना प्रकाशित गरिने छैन। आवश्यक क्षेत्रहरू चिन्ह लगाइएका छन् *