KBA-231226181840
1. Nastavite okolje
1.1. Namestite gonilnik Nvidia in CUDA
1.2. Namestite sorodno knjižnico Python
python3 -m pip namestitev –nadgradnja –ignore-nameščen pip
python3 -m pip install –ignore-installed gdown
python3 -m pip namestitev –ignore-nameščen 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 namestitev –ignore-nameščen jax
python3 -m pip namestitev –ignore-nameščen 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 namestitev –ignore-nameščen psutil
1.3. Klon aimet-model-zoo
git klon https://github.com/quic/aimet-model-zoo.git
cd aimet-model-zoo
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
izvoz PYTHONPATH=${PYTHONPATH}:${PWD}
1.4. Prenesite Set14
wget https://uofi.box.com/shared/static/igsnfieh4lz68l926l8xbklwsnnk8we9.zip
unzip igsnfieh4lz68l926l8xbklwsnnk8we9.zip
1.5. Spremenite vrstico 39 aimet-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py
sprememba
za img_path v glob.glob(os.path.join(test_images_dir, “*”)):
do
za img_path v glob.glob(os.path.join(test_images_dir, “*_HR.*”)):
1.6. Zaženi oceno.
# zaženi pod YOURPATH/aimet-model-run
# Za quicksrnet_small_2x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_2x_w8a8 \
–pot-nabora podatkov ../Set14/image_SRF_4
# Za quicksrnet_small_4x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_4x_w8a8 \
–pot-nabora podatkov ../Set14/image_SRF_4
# Za quicksrnet_medium_2x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_2x_w8a8 \
–pot-nabora podatkov ../Set14/image_SRF_4
# Za quicksrnet_medium_4x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_4x_w8a8 \
–pot-nabora podatkov ../Set14/image_SRF_4
Recimo, da boste dobili vrednost PSNR za simulirani model cilja. Konfiguracijo modela lahko spremenite za različne velikosti QuickSRNet, možnost je underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/.
2 Dodajte popravek
2.1. Odprite »Izvozi v korake ONNX REVISED.docx«
2.2. Preskoči git commit id
2.3. Oddelek 1 Koda
Dodajte celotno 1. kodo pod zadnjo vrstico (za vrstico 366) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py
2.4. Koda oddelka 2 in 3
Dodajte celotno kodo 2, 3 pod vrstico 93 aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py
2.5. Ključni parametri v funkciji load_model
model = load_model(MODEL_PATH_INT8,
MODEL_NAME,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=Res,
encoding_path=ENCODING_PATH,
quantsim_config_path=CONFIG_PATH,
kalibracijski_podatki=IMAGES_LR,
use_cuda=Res,
before_quantization=Res,
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) = {'faktor_razmerja': 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
Zamenjajte spremenljivke za drugo velikost QuickSRNet
2.6 Sprememba velikosti modela
- »input_shape« v aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json
- Znotraj funkcije load_model(…) v aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py
- Parameter znotraj funkcije export_to_onnx(…, input_height, input_width) iz »Izvoz v ONNX Koraki REVISED.docx«
2.7 Ponovno zaženite 1.6 za izvoz modela ONNX
3. Pretvorite v SNPE
3.1. Pretvori
${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–input_network model.onnx \
–quantization_overrides ./model.encodings
3.2. (Izbirno) Ekstrahirajte samo kvantiziran DLC
(neobvezno) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params
3.3. (POMEMBNO) V/I ONNX je v vrstnem redu NCHW; Pretvorjen DLC je v redu NHWC
Dokumenti / Viri
![]() |
Dokumentacija orodja za učinkovitost Qualcomm Aimet [pdfNavodila quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, dokumentacija Aimet Efficiency Toolkit, Efficiency Toolkit dokumentacija, Toolkit dokumentacija, dokumentacija |