Numero di telefono: KBA-231226181840
1. Ambiente di configurazione
1.1. Installare il driver Nvidia e CUDA
1.2. Installa la libreria Python correlata
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-installed psutil
1.3. Clonare aimet-model-zoo
clonare git https://github.com/quic/aimet-model-zoo.git
cd aimet-modello-zoo
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
esporta PYTHONPATH=${PYTHONPATH}:${PWD}
1.4. Scarica Set14
wget https://uofi.box.com/shared/static/igsnfieh4lz68l926l8xbklwsnnk8we9.zip
unzip igsnfieh4lz68l926l8xbklwsnnk8we9.zip
1.5. Modifica la riga 39 aimet-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py
modifica
per img_path in glob.glob(os.path.join(test_images_dir, “*”)):
A
per img_path in glob.glob(os.path.join(test_images_dir, “*_HR.*”)):
1.6. Eseguire la valutazione.
# esegui in YOURPATH/aimet-model-run
# Per quicksrnet_small_2x_w8a8
python3 aimet_zoo_torch/quicksrnet/valutatori/quicksrnet_quanteval.py \
–modello-config quicksrnet_small_2x_w8a8 \
–percorso-dataset ../Set14/image_SRF_4
# Per quicksrnet_small_4x_w8a8
python3 aimet_zoo_torch/quicksrnet/valutatori/quicksrnet_quanteval.py \
–modello-config quicksrnet_small_4x_w8a8 \
–percorso-dataset ../Set14/image_SRF_4
# Per quicksrnet_medium_2x_w8a8
python3 aimet_zoo_torch/quicksrnet/valutatori/quicksrnet_quanteval.py \
–modello-config quicksrnet_medium_2x_w8a8 \
–percorso-dataset ../Set14/image_SRF_4
# Per quicksrnet_medium_4x_w8a8
python3 aimet_zoo_torch/quicksrnet/valutatori/quicksrnet_quanteval.py \
–modello-config quicksrnet_medium_4x_w8a8 \
–percorso-dataset ../Set14/image_SRF_4
supponiamo che otterrai il valore PSNR per il modello simulato aimet. Puoi modificare la configurazione del modello per diverse dimensioni di QuickSRNet, l'opzione è in aimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/.
2 Aggiungi patch
2.1. Aprire “Esporta in ONNX Steps REVISED.docx”
2.2. Salta l'ID del commit git
2.3. Sezione 1 Codice
Aggiungere l'intero codice 1. sotto l'ultima riga (dopo la riga 366) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py
2.4. Codice delle sezioni 2 e 3
Aggiungere l'intero codice 2, 3 sotto la riga 93 aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py
2.5. Parametri chiave nella funzione load_model
modello = load_model(MODEL_PATH_INT8,
NOME_MODELLO,
MODELLO_ARGS.get(NOME_MODELLO).get(CONFIG_MODELLO),
use_quant_sim_model=Vero,
encoding_path=PERCORSO_CODIFICA,
quantsim_config_path=PERCORSO_CONFIGURAZIONE,
dati_di_calibrazione=IMMAGINI_LR,
use_cuda=Vero,
before_quantization=Vero,
convert_to_dcr=Vero)
MODEL_PATH_INT8 = aimet_zoo_torch/quicksrnet/modello/pesi/quicksrnet_small_2x_w8a8/pre_opt_weights
MODEL_NAME = QuickSRNetSmall
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG) = {'fattore_di_scala': 2}
PERCORSO_CODIFICA = aimet_zoo_torch/quicksrnet/modello/pesi/quicksrnet_small_2x_w8a8/adaround_encodings
CONFIG_PATH = aimet_zoo_torch/quicksrnet/modello/pesi/quicksrnet_small_2x_w8a8/aimet_config
Sostituisci le variabili per le diverse dimensioni di QuickSRNet
2.6 Modifica delle dimensioni del modello
- “input_shape” in aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json
- All'interno della funzione load_model(…) in aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py
- Parametro all'interno della funzione export_to_onnx(…, input_height, input_width) da “Esporta in ONNX Passaggi RIVEDUTI.docx”
2.7 Eseguire nuovamente 1.6 per esportare il modello ONNX
3. Convertire in SNPE
3.1 Convertire
${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–modello di rete di input.onnx \
–quantization_overrides ./model.encodings
3.2. (Facoltativo) Estrarre solo DLC quantizzato
(facoltativo) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params
3.3. (IMPORTANTE) L'I/O ONNX è in ordine di NCHW; Il DLC convertito è in ordine NHWC
Documenti / Risorse
![]() |
Documentazione del toolkit di efficienza Qualcomm Aimet [pdf] Istruzioni quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Documentazione del toolkit di efficienza Aimet, Documentazione del toolkit di efficienza, Documentazione del toolkit, Documentazione |