From be5c755c320d6c44cc79e18347cbde2d3a1268fe Mon Sep 17 00:00:00 2001 From: Alexander Suslov Date: Tue, 28 Nov 2023 11:36:25 +0400 Subject: [PATCH] migrate to new convert API (#21323) --- .../nncf/ptq/code/ptq_aa_openvino.py | 20 +++++++++++-------- .../nncf/ptq/code/ptq_onnx.py | 3 +-- .../nncf/ptq/code/ptq_tensorflow.py | 3 +-- .../nncf/ptq/code/ptq_torch.py | 9 ++------- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/docs/optimization_guide/nncf/ptq/code/ptq_aa_openvino.py b/docs/optimization_guide/nncf/ptq/code/ptq_aa_openvino.py index 35f0f3f1e83..e0189436c53 100644 --- a/docs/optimization_guide/nncf/ptq/code/ptq_aa_openvino.py +++ b/docs/optimization_guide/nncf/ptq/code/ptq_aa_openvino.py @@ -18,9 +18,11 @@ validation_dataset = nncf.Dataset(calibration_loader, transform_fn) #! [validation] import numpy as np import torch -import openvino from sklearn.metrics import accuracy_score +import openvino + + def validate(model: openvino.CompiledModel, validation_loader: torch.utils.data.DataLoader) -> float: predictions = [] @@ -34,19 +36,21 @@ def validate(model: openvino.CompiledModel, references.append(target) predictions = np.concatenate(predictions, axis=0) - references = np.concatenate(references, axis=0) + references = np.concatenate(references, axis=0) return accuracy_score(predictions, references) #! [validation] #! [quantization] model = ... # openvino.Model object -quantized_model = nncf.quantize_with_accuracy_control(model, - calibration_dataset=calibration_dataset, - validation_dataset=validation_dataset, - validation_fn=validate, - max_drop=0.01, - drop_type=nncf.DropType.ABSOLUTE) +quantized_model = nncf.quantize_with_accuracy_control( + model, + calibration_dataset=calibration_dataset, + validation_dataset=validation_dataset, + validation_fn=validate, + max_drop=0.01, + drop_type=nncf.DropType.ABSOLUTE, +) #! [quantization] #! [inference] diff --git a/docs/optimization_guide/nncf/ptq/code/ptq_onnx.py b/docs/optimization_guide/nncf/ptq/code/ptq_onnx.py index 56804884e06..e48d1b78683 100644 --- a/docs/optimization_guide/nncf/ptq/code/ptq_onnx.py +++ b/docs/optimization_guide/nncf/ptq/code/ptq_onnx.py @@ -24,10 +24,9 @@ quantized_model = nncf.quantize(model, calibration_dataset) #! [inference] import openvino as ov -from openvino.tools.mo import convert_model # convert ONNX model to OpenVINO model -ov_quantized_model = convert_model(quantized_model) +ov_quantized_model = ov.convert_model(quantized_model) # compile the model to transform quantized operations to int8 model_int8 = ov.compile_model(ov_quantized_model) diff --git a/docs/optimization_guide/nncf/ptq/code/ptq_tensorflow.py b/docs/optimization_guide/nncf/ptq/code/ptq_tensorflow.py index fe599b3dadc..f250f5336d7 100644 --- a/docs/optimization_guide/nncf/ptq/code/ptq_tensorflow.py +++ b/docs/optimization_guide/nncf/ptq/code/ptq_tensorflow.py @@ -23,10 +23,9 @@ quantized_model = nncf.quantize(model, calibration_dataset) #! [inference] import openvino as ov -from openvino.tools.mo import convert_model # convert TensorFlow model to OpenVINO model -ov_quantized_model = convert_model(quantized_model) +ov_quantized_model = ov.convert_model(quantized_model) # compile the model to transform quantized operations to int8 model_int8 = ov.compile_model(ov_quantized_model) diff --git a/docs/optimization_guide/nncf/ptq/code/ptq_torch.py b/docs/optimization_guide/nncf/ptq/code/ptq_torch.py index 032f03f7bb4..90253743f2b 100644 --- a/docs/optimization_guide/nncf/ptq/code/ptq_torch.py +++ b/docs/optimization_guide/nncf/ptq/code/ptq_torch.py @@ -23,16 +23,11 @@ quantized_model = nncf.quantize(model, calibration_dataset) #! [inference] import openvino as ov -from openvino.tools.mo import convert_model input_fp32 = ... # FP32 model input -# export PyTorch model to ONNX model -onnx_model_path = "model.onnx" -torch.onnx.export(quantized_model, input_fp32, onnx_model_path) - -# convert ONNX model to OpenVINO model -ov_quantized_model = convert_model(onnx_model_path) +# convert PyTorch model to OpenVINO model +ov_quantized_model = ov.convert_model(quantized_model, example_input=input_fp32) # compile the model to transform quantized operations to int8 model_int8 = ov.compile_model(ov_quantized_model)