Qualcomm Aimet Efficiency Toolbar Sənədləşdirmə Təlimatları

KBA-231226181840

1. Mühitin qurulması

1.1. Nvidia Driver və CUDA quraşdırın

1.2. Əlaqədar Python Kitabxanasını quraşdırın

python3 -m pip quraşdırma - təkmilləşdirmə - yox sayma - quraşdırılmış pip
python3 -m pip install -gdown-quraşdırılmış gdown
python3 -m pip quraşdırma -qeyd-quraşdırılmış opencv-python
python3 -m pip quraşdırma –iqnor-quraşdırılmış məşəl==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 quraşdırma -qeyd etmə quraşdırılmış jax
python3 -m pip quraşdırma - yox sayma-quraşdırılmış ftfy
python3 -m pip quraşdırma -quraşdırılmış torchinfo-ya məhəl qoyma
python3 -m pip quraşdırma -iqnor-quraşdırılmış 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 quraşdırma -iqnor-quraşdırılmış 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 quraşdırma -iqnor-quraşdırılmış numpy==1.21.6
python3 -m pip quraşdırma -qeyd-quraşdırılmış psutil

1.3. Aimet-model-zooparkı klonlayın

git clone https://github.com/quic/aimet-model-zoo.git
cd aimet-model-zoo
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
ixrac PYTHONPATH=${PYTHONPATH}:${PWD}

1.4. Set14 yükləyin

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

1.5. 39-cu sətri dəyişdirin aimet-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py

dəyişmək
glob.glob (os.path.join(test_images_dir, “*”)) img_path üçün:
üçün
glob.glob-da img_path üçün(os.path.join(test_images_dir, “*_HR.*”)):

1.6. Qiymətləndirməni həyata keçirin.

# YOURPATH/aimet-model-run altında işləyin
# Quicksrnet_small_2x_w8a8 üçün
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model konfiqurasiyası quicksrnet_small_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# Quicksrnet_small_4x_w8a8 üçün
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model konfiqurasiyası quicksrnet_small_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# Quicksrnet_medium_2x_w8a8 üçün
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model konfiqurasiyası quicksrnet_medium_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# Quicksrnet_medium_4x_w8a8 üçün
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model konfiqurasiyası quicksrnet_medium_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4

güman edin ki, simulyasiya edilmiş model üçün PSNR dəyəri əldə edəcəksiniz. Siz QuickSRNet-in fərqli ölçüləri üçün model konfiqurasiyasını dəyişə bilərsiniz, seçim underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/-dir.

2 Yamaq əlavə edin

2.1. “ONNX Steps REVISED.docx-a Eksport”u açın

2.2. Git commit id-i keçin

2.3. Bölmə 1 Kodeks

Son sətirin altına bütöv 1. kodu əlavə edin (366-cı sətirdən sonra) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py

2.4. Bölmə 2 və 3 Kodeks

2-cü sətirin altına bütöv 3, 93 kodu əlavə edin aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py

2.5. Funksiya load_model-də əsas parametrlər

model = yük_model(MODEL_PATH_INT8,

MODEL_NAME,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=Düzdür,
encoding_path=ENCODING_PATH,
quantsim_config_path=CONFIG_PATH,
calibration_data=IMAGES_LR,
use_cuda=Düzdür,
before_quantization=Doğrudur,
convert_to_dcr=Doğru)

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) = {'miqyaslı_faktor': 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

Zəhmət olmasa, QuickSRNet-in müxtəlif ölçüsü üçün dəyişənləri dəyişdirin

2.6 Model Ölçüsü Dəyişikliyi

  1. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json-da “input_shape”
  2. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py-də load_model(…) funksiyası daxilində
  3. "ONNX Addımlarına İxrac et" REVISED.docx-dan export_to_onnx(…, input_height, input_width) funksiyasının daxilindəki parametr

2.7 ONNX modelini ixrac etmək üçün 1.6-nı yenidən işə salın

3. SNPE-ə çevirin

3.1. Çevirmək

${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–input_şəbəkə modeli.onnx \
–kvantlaşdırma_əxz edir ./model.encodings

3.2. (İstəyə görə) Yalnız miqdarlaşdırılmış DLC çıxarın

(isteğe bağlı) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params

3.3. (VACİB) ONNX I/O NCHW qaydasındadır; Konvertasiya edilmiş DLC NHWC qaydasındadır

Sənədlər / Resurslar

Qualcomm Aimet Efficiency Toolbar Sənədləri [pdf] Təlimatlar
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet Efficiency Toolbar Sənədi, Efficiency Toolbar Sənədi, Toolbar Sənədi

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *