Qualcomm Aimet Efficiency Toolkit Dokumentaj Instrukcioj

KBA-231226181840

1. Agordu Medion

1.1. Instalu Nvidia Driver kaj CUDA

1.2. Instalu Rilatan Python-Bibliotekon

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 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-instalita psutil

1.3. Klonu aim-model-zoo

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

1.4. Elŝutu Set14

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

1.5. Modifi linion 39 aimt-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py

ŝanĝi
por img_path en glob.glob (os.path.join (test_images_dir, "*")):
al
por img_path en glob.glob (os.path.join (test_images_dir, "*_HR.*")):

1.6. Kuru taksadon.

# ruli sub YOURPATH/aimet-model-run
# Por quicksrnet_small_2x_w8a8
python3 aim_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# Por quicksrnet_small_4x_w8a8
python3 aim_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# Por quicksrnet_medium_2x_w8a8
python3 aim_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# Por quicksrnet_medium_4x_w8a8
python3 aim_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4

supozu, ke vi ricevos la PSNR-valoron por la celita simulata modelo. Vi povas ŝanĝi la modelo-agordon por malsama grandeco de QuickSRNet, la opcio estas underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/.

2 Aldonu Flikaĵon

2.1. Malfermu "Eksporti al ONNX Steps REVISED.docx"

2.2. Preterpasi git commit id

2.3. Sekcio 1 Kodo

Aldonu tutan 1. kodon sub la lasta linio (post linio 366) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py

2.4. Sekcio 2 kaj 3 Kodo

Aldonu tutan 2, 3-kodon sub linio 93 aimt-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py

2.5. Ŝlosilaj Parametroj en Funkcio load_model

modelo = ŝarĝo_modelo (MODEL_PATH_INT8,

MODEL_NAME,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=Vera,
encoding_path=ENCODING_PATH,
quantsim_config_path=CONFIG_PATH,
calibration_data=BILDOJ_LR,
use_cuda=Vere,
before_quantization=Vera,
convert_to_dcr=Vera)

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) = {'skaling_factor': 2}
ENCODING_PATH = aim_zoo_torch/quicksrnet/model/weights/quicksrnet_small_2x_w8a8/adaround_encodings
CONFIG_PATH = aim_zoo_torch/quicksrnet/model/weights/quicksrnet_small_2x_w8a8/aimet_config

Bonvolu anstataŭigi la variablojn por malsama grandeco de QuickSRNet

2.6 Modifo de Modela Grandeco

  1. "input_shape" en aimt-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json
  2. Ene de funkcio load_model(...) en aimt-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py
  3. Parametro ene de funkcio export_to_onnx(…, input_height, input_width) de "Eksporti al ONNX-Paŝoj REVISED.docx"

2.7 Re-Run 1.6 denove por eksporti ONNX-modelon

3. Konverti en SNPE

3.1. Konverti

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

3.2. (Laŭvola) Ekstraktu nur kvantigitan DLC

(laŭvola) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params

3.3. (GRAVA) La ONNX I/O estas en ordo de NCHW; La konvertita DLC estas en ordo NHWC

Dokumentoj/Rimedoj

Dokumentaro de Qualcomm Aimet Efficiency Toolkit [pdf] Instrukcioj
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet Efficiency Toolkit Dokumentado, Efficiency Toolkit Dokumentado, Toolkit Dokumentado, Dokumentado

Referencoj

Lasu komenton

Via retadreso ne estos publikigita. Bezonataj kampoj estas markitaj *