Qualcomm Aimet Efficiency Toolkit құжаттамасының нұсқаулары

ҚБА-231226181840

1. Орнату ортасы

1.1. Nvidia драйверін және CUDA орнатыңыз

1.2. Қатысты Python кітапханасын орнатыңыз

python3 -m pip орнату – жаңарту – елемеу – орнатылған пип
python3 -m pip орнату – елемеу-орнатылған gdown
python3 -m pip орнату – елемеу-орнатылған opencv-python
python3 -m pip орнату –елеспеу-орнатылған алау==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 орнату –орнатылған jaxты елемеу
python3 -m pip орнату – елемеу-орнатылған ftfy
python3 -m pip орнату –орнатылған torchinfo-ны елемеу
python3 -m pip орнату – елемеу-орнатылған 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 орнату – елемеу-орнатылған 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 орнату – елемеу-орнатылған numpy==1.21.6
python3 -m pip орнату – елемеу-орнатылған psutil

1.3. Аймет-модель-хайуанаттар бағын клондау

git clone https://github.com/quic/aimet-model-zoo.git
CD aimet-model-zoo
git checkout d09d2b0404d10f71a7640a87e9d5e5257b028802
PYTHONPATH=${PYTHONPATH}:${PWD} экспорттау

1.4. Set14 жүктеп алыңыз

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

1.5. 39-жолды өзгерту aimet-model-zoo/aimet_zoo_torch/quicksrnet/dataloader/utils.py

өзгерту
glob.glob(os.path.join(test_images_dir, “*”)) ішіндегі img_path үшін:
дейін
glob.glob(os.path.join(test_images_dir, “*_HR.*”)) ішіндегі img_path үшін:

1.6. Бағалауды іске қосыңыз.

# YOURPATH/aimet-model-run астында іске қосыңыз
# Quicksrnet_small_2x_w8a8 үшін
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_2x_w8a8 \
–деректер жинағы-жолы ../Set14/image_SRF_4

# Quicksrnet_small_4x_w8a8 үшін
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_small_4x_w8a8 \
–деректер жинағы-жолы ../Set14/image_SRF_4

# Quicksrnet_medium_2x_w8a8 үшін
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_2x_w8a8 \
–деректер жинағы-жолы ../Set14/image_SRF_4

# Quicksrnet_medium_4x_w8a8 үшін
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–model-config quicksrnet_medium_4x_w8a8 \
–деректер жинағы-жолы ../Set14/image_SRF_4

Сіз имитацияланған модель үшін PSNR мәнін аласыз делік. QuickSRNet әртүрлі өлшемдері үшін үлгі конфигурациясын өзгертуге болады, опция underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/.

2 Патч қосыңыз

2.1. “ONNX қадамдарына REVISED.docx экспорттау” ашыңыз

2.2. git commit идентификаторын өткізіп жіберіңіз

2.3. 1-бөлім Код

Соңғы жолдың астына тұтас 1. кодын қосыңыз (366-жолдан кейін) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py

2.4. 2 және 3-бөлім Кодексі

2-жолдың астына тұтас 3, 93 кодты қосыңыз aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py

2.5. Функция load_model ішіндегі негізгі параметрлер

үлгі = жүктеу_моделі(MODEL_PATH_INT8,

MODEL_NAME,
MODEL_ARGS.get(MODEL_NAME).get(MODEL_CONFIG),
use_quant_sim_model=Рас,
encoding_path=ENCODING_PATH,
quantsim_config_path=CONFIG_PATH,
calibration_data=IMAGES_LR,
use_cuda=Рас,
before_quantization=Рас,
convert_to_dcr=Шын)

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) = {'масштабтау_факторы': 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

Түрлі QuickSRNet өлшемі үшін айнымалы мәндерді ауыстырыңыз

2.6 Үлгі өлшемін өзгерту

  1. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json ішіндегі “input_shape”
  2. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py ішіндегі load_model(…) функциясы
  3. Export_to_onnx(…, input_height, input_width) функциясының ішіндегі параметр "ONNX қадамдарына экспорттау REVISED.docx" ішінен

2.7 ONNX үлгісін экспорттау үшін 1.6 нұсқасын қайта іске қосыңыз

3. SNPE түрлендіру

3.1. Түрлендіру

${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–input_network modeli.onnx \
–кванттау_алдын ала анықтау ./model.encodings

3.2. (Қосымша) Тек квантталған DLC шығарыңыз

(қосымша) snpe-dlc-quant –input_dlc model.dlc –float_fallback –override_params

3.3. (МАҢЫЗДЫ) ONNX I/O NCHW ретімен; Түрлендірілген DLC NHWC тәртібінде

Құжаттар / Ресурстар

Qualcomm Aimet Efficiency Toolkit құжаттамасы [pdf] Нұсқаулар
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet Efficiency Toolkit құжаттамасы, Efficiency Toolkit құжаттамасы, Toolkit Documentation

Анықтамалар

Пікір қалдырыңыз

Электрондық пошта мекенжайыңыз жарияланбайды. Міндетті өрістер белгіленген *