Qualcomm Aimet Efficiency Toolkit-ի փաստաթղթավորման հրահանգներ

ԿԲԱ-231226181840

1. Setup Environment

1.1. Տեղադրեք Nvidia Driver-ը և CUDA-ն

1.2. Տեղադրեք համապատասխան Python գրադարանը

python3 -m pip install –upgrade –անտեսել-տեղադրված pip
python3 -m pip install –ignore-installed gdown
python3 -m pip install – անտեսել-տեղադրված 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 – անտեսել-տեղադրված jax
python3 -m pip install –անտեսել-տեղադրված ftfy
python3 -m pip install – անտեսել-տեղադրված 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. Clone aimet-model-zoo

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

փոփոխություն
img_path-ի համար glob.glob(os.path.join(test_images_dir, «*»)):
դեպի
img_path-ի համար glob.glob(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 \
–model-config quicksrnet_small_2x_w8a8 \
–dataset-path ../Set14/image_SRF_4

# 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

# 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

# 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

Ենթադրենք, որ դուք կստանաք PSNRvalue for theaimetsimulated մոդելը: Դուք կարող եք փոխել մոդելի կազմաձևը QuickSRNet-ի տարբեր չափերի համար, տարբերակն է՝ underaimet-modelzoo/aimet_zoo_torch/quicksrnet/model/model_cards/:

2 Ավելացնել կարկատել

2.1. Բացեք «Export to ONNX Steps 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, 3 ծածկագիրը 93 տողի տակ aimet-model-zoo/aimet_zoo_torch/quicksrnet/evaluators/quicksrnet_quanteval.py

2.5. Հիմնական պարամետրերը Function load_model-ում

մոդել = 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) = {'scaling_factor'՝ 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. «input_shape» aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/model_cards/*.json-ում
  2. Ներքին ֆունկցիայի load_model(…) aimet-model-zoo/aimet_zoo_torch/quicksrnet/model/inference.py-ում
  3. Export_to_onnx (…, input_height, input_width) ֆունկցիայի ներսում գտնվող պարամետրը «Export to ONNX Steps REVISED.docx»-ից:

2.7 Կրկին գործարկել 1.6-ը ONNX մոդելի արտահանման համար

3. Փոխակերպել SNPE-ում

3.1. Փոխակերպել

${SNPE_ROOT}/bin/x86_64-linux-clang/snpe-onnx-to-dlc \
–input_network model.onnx \
–quantization_overrides ./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 արդյունավետության գործիքակազմի փաստաթղթեր [pdfՀրահանգներ
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet արդյունավետության գործիքակազմ Փաստաթղթեր, արդյունավետության գործիքակազմի փաստաթղթեր, փաստաթղթեր, փաստաթղթեր

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *