Qualcomm Aimet ದಕ್ಷತೆಯ ಟೂಲ್ಕಿಟ್ ದಾಖಲೆ ಸೂಚನೆಗಳು

KBA-231226181840

1. ಸೆಟಪ್ ಪರಿಸರ

1.1. Nvidia ಡ್ರೈವರ್ ಮತ್ತು CUDA ಅನ್ನು ಸ್ಥಾಪಿಸಿ

1.2. ಸಂಬಂಧಿತ ಪೈಥಾನ್ ಲೈಬ್ರರಿಯನ್ನು ಸ್ಥಾಪಿಸಿ

python3 -m ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ಅಪ್‌ಗ್ರೇಡ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ ಪಿಪ್
python3 -m ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ ಜಿಡೌನ್
python3 -m ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ 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 ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ jax
python3 -m ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ ftfy
python3 -m ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ ಟಾರ್ಚಿನ್ಫೋ
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 ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿತ ನಂಬಿ==1.21.6
python3 -m ಪಿಪ್ ಇನ್‌ಸ್ಟಾಲ್ -ನಿರ್ಲಕ್ಷಿಸಿ-ಸ್ಥಾಪಿಸಲಾದ psutil

1.3. ಕ್ಲೋನ್ ಗುರಿ-ಮಾದರಿ-ಮೃಗಾಲಯ

git ಕ್ಲೋನ್ https://github.com/quic/aimet-model-zoo.git
ಸಿಡಿ ಗುರಿ-ಮಾದರಿ-ಮೃಗಾಲಯ
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 \
–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 ಜಿಟ್ ಕಮಿಟ್ ಐಡಿಯನ್ನು ಬಿಟ್ಟುಬಿಡಿ

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 ಕಾರ್ಯ 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. "ONNX ಹಂತಗಳಿಗೆ ರಫ್ತು REVISED.docx" ನಿಂದ export_to_onnx(..., input_height, input_width) ಕಾರ್ಯದ ಒಳಗಿನ ನಿಯತಾಂಕ

2.7 ONNX ಮಾದರಿಯನ್ನು ರಫ್ತು ಮಾಡಲು 1.6 ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಮರು-ರನ್ ಮಾಡಿ

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 ದಕ್ಷತೆಯ ಟೂಲ್ಕಿಟ್ ದಾಖಲೆ [ಪಿಡಿಎಫ್] ಸೂಚನೆಗಳು
quicksrnet_small_2x_w8a8, quicksrnet_small_4x_w8a8, quicksrnet_medium_2x_w8a8, quicksrnet_medium_4x_w8a8, Aimet ದಕ್ಷತೆಯ ಟೂಲ್‌ಕಿಟ್ ದಾಖಲೆ, ದಕ್ಷತೆಯ ಟೂಲ್‌ಕಿಟ್ ದಾಖಲೆ, ಟೂಲ್‌ಕಿಟ್‌

ಉಲ್ಲೇಖಗಳು

ಕಾಮೆಂಟ್ ಬಿಡಿ

ನಿಮ್ಮ ಇಮೇಲ್ ವಿಳಾಸವನ್ನು ಪ್ರಕಟಿಸಲಾಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಕ್ಷೇತ್ರಗಳನ್ನು ಗುರುತಿಸಲಾಗಿದೆ *