KBA-231226181840
1. Configurar o entorno
1.1. Instala o controlador de Nvidia e CUDA
1.2. Instalar a biblioteca de Python relacionada
python3 -m pip install –upgrade –ignore-installed pip
python3 -m pip install –ignore-instalado gdown
python3 -m pip install –ignore-instalado 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-instalado ftfy
python3 -m pip install –ignore-installed torchiinfo
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-instalado psutil
1.3. Clonar aime-model-zoo
git clone https://github.com/quic/aimet-model-zoo.git
cd aimet-model-zoo
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
exportar PYTHONPATH=${PYTHONPATH}:${PWD}
1.4. Descargar set 14
wget https://uofi.box.com/shared/static/igsnfieh4lz68l926l8xbklwsnnk8we9.zip
unzip igsnfieh4lz68l926l8xbklwsnnk8we9.zip
1.5. Modificar a liña 39 aimet-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py
cambiar
para img_path en glob.glob(os.path.join(test_images_dir, “*”)):
a
para img_path en glob.glob(os.path.join(test_images_dir, “*_HR.*”)):
1.6. Realizar avaliación.
# executar en YOURPATH/aimet-model-run
# Para quicksrnet_small_2x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4
# Para quicksrnet_small_4x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4
# Para quicksrnet_medium_2x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4
# Para quicksrnet_medium_4x_w8a8
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_4x_w8a8 \
–dataset-path ../Set14/image_SRF_4
supoña que obterá o valor PSNR para o modelo simulado. Podes cambiar a configuración do modelo para diferentes tamaños de QuickSRNet, a opción é underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/.
2 Engadir parche
2.1. Abre "Exportar a ONNX Steps REVISED.docx"
2.2. Omitir o identificador de commit de git
2.3. Sección 1 Código
Engade o código 1. completo na última liña (despois da liña 366) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py
2.4. Sección 2 e 3 Código
Engade o código 2, 3 completo na liña 93 aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py
2.5. Parámetros clave na función load_model
modelo = load_model(MODEL_PATH_INT8,
MODEL_NAME,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=Verdade,
encoding_path=ENCODING_PATH,
quantsim_config_path=CONFIG_PATH,
calibration_data=IMAGES_LR,
use_cuda=Verdade,
before_quantization=Verdade,
convert_to_dcr=Verdadero)
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) = {'factor_escalado': 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
Substitúe as variables por diferentes tamaños de QuickSRNet
2.6 Modificación do tamaño do modelo
- "input_shape" en aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json
- Dentro da función load_model(…) en aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py
- Parámetro dentro da función export_to_onnx(…, input_height, input_width) de "Export to ONNX Steps REVISED.docx"
2.7 Volva a executar 1.6 para exportar o modelo ONNX
3. Converte en SNPE
3.1. Converter
${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–modelo de rede_entrada.onnx \
–anulacións_de_cuantización ./modelo.codificacións
3.2. (Opcional) Extrae só DLC cuantificado
(opcional) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params
3.3. (IMPORTANTE) A E/S ONNX está en orde de NCHW; O DLC convertido está en orde NHWC
Documentos/Recursos
![]() |
Documentación de Qualcomm Aimet Efficiency Toolkit [pdfInstrucións quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet Efficiency Toolkit Documentación, Efficiency Toolkit Documentation, Toolkit Documentation, Documentation |




