Qualcomm Aimet Efficiency Toolkit баримтжуулалтын заавар

KBA-231226181840

1. Тохируулах орчин

1.1. Nvidia драйвер болон CUDA суулгана уу

1.2. Холбогдох Python номын санг суулгана уу

python3 -m pip суулгах – upgrade – үл тоомсорлох – суулгасан pip
python3 -m pip install –суулгасан gdown-ийг үл тоомсорлодог
python3 -m pip install – үл тоомсорлож суулгасан opencv-python
python3 -m pip install – үл тоомсорлож суулгасан бамбар==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 –суулгасан jax-ыг үл тоомсорлодог
python3 -m pip install –суулгасан ftfy-г үл тоомсорлох
python3 -m pip install –суулгасан 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 install – үл тоомсорлож суулгасан numpy==1.21.6
python3 -m pip install –суулгасан 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 дахь img_path(os.path.join(test_images_dir, “*”)):
руу
glob.glob дээрх img_path(os.path.join(test_images_dir, “*_HR.*”)):

1.6. Үнэлгээг явуулах.

# YOURPATH/aimet-model-run дор ажиллуулна
# Quicksrnet_small_2x_w8a8-д зориулагдсан
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–загвар тохиргооны quicksrnet_small_2x_w8a8 \
–өгөгдлийн багц-зам ../Set14/image_SRF_4

# Quicksrnet_small_4x_w8a8-д зориулагдсан
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–загвар тохиргооны quicksrnet_small_4x_w8a8 \
–өгөгдлийн багц-зам ../Set14/image_SRF_4

# Quicksrnet_medium_2x_w8a8-д зориулагдсан
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–загвар тохиргооны quicksrnet_medium_2x_w8a8 \
–өгөгдлийн багц-зам ../Set14/image_SRF_4

# Quicksrnet_medium_4x_w8a8-д зориулагдсан
python3 aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py \
–загвар тохиргооны 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 id-г алгасах

2.3. 1-р хэсэг Код

Сүүлийн мөрийн доор (1-р мөрийн дараа) 366. кодыг бүхэлд нь нэмнэ aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/models.py

2.4. 2 ба 3-р хэсэг Код

2-р мөрийн доор aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py бүхэл бүтэн 3, 93 код нэмнэ.

2.5. Функцийн ачаалал_загвар дахь гол параметрүүд

загвар = ачаалал_загвар(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,
тохируулгын_өгөгдөл=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}
КОЛДОХ_ЗАМ = 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 доторх "оролтын_хэлбэр"
  2. aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py доторх load_model(…) функц
  3. Export_to_onnx(…, input_height, input_width) функцийн доторх параметр нь “ONNX Steps REVISED.docx руу экспортлох”

2.7 ONNX загварыг экспортлохын тулд 1.6-г дахин ажиллуулна уу

3. SNPE-д хөрвүүлэх

3.1. Хөрвүүлэх

${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
– оролтын_сүлжээний загвар.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 Documentation, Efficiency Toolkit Documentation, Toolkit Documentation, Toolkit Documentation

Лавлагаа

Сэтгэгдэл үлдээгээрэй

Таны имэйл хаягийг нийтлэхгүй. Шаардлагатай талбаруудыг тэмдэглэсэн *