{"library":"nncf","title":"Neural Networks Compression Framework","description":"The Neural Networks Compression Framework (NNCF) is a Python library developed by Intel as part of the OpenVINO Toolkit, providing advanced algorithms for optimizing deep learning models for faster and smaller inference. It supports models from PyTorch, TensorFlow (deprecated), ONNX, and OpenVINO IR formats, offering techniques such as Post-Training Quantization, Quantization-Aware Training, Weight Compression, and Pruning. NNCF is actively maintained with frequent releases, with the current stable version being 3.1.0.","language":"python","status":"active","last_verified":"Sat May 16","install":{"commands":["pip install nncf","pip install nncf[openvino]","pip install nncf[torch]","pip install nncf[tensorflow]"],"cli":null},"imports":["import nncf\nquantized_model = nncf.quantize(model, calibration_dataset)","import nncf\ncompressed_model = nncf.compress_weights(model)","import nncf\npruned_model = nncf.prune(model, config)","from nncf import NNCFConfig","from nncf import ModelType","from nncf import QuantizationPreset","from nncf.quantization.advanced_parameters import AdvancedQuantizationParameters","from nncf import IgnoredScope","from nncf.torch import get_config","from nncf.torch import load_from_config"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import nncf\nimport openvino as ov\nimport torch\nfrom torchvision import datasets, transforms, models\nimport os\n\n# 1. Load a pre-trained PyTorch model\nmodel = models.resnet18(weights=models.ResNet18_Weights.IMAGENET1K_V1)\nmodel.eval()\n\n# 2. Convert PyTorch model to OpenVINO Model\n# Create a dummy input for tracing\ndummy_input = torch.randn(1, 3, 224, 224)\nov_model = ov.convert_model(model, example_input=dummy_input)\n\n# 3. Prepare a calibration dataset (example with random data)\n# In a real scenario, use representative data from your dataset\nclass RandomDataset(torch.utils.data.Dataset):\n    def __init__(self, size=300):\n        self.size = size\n    def __len__(self):\n        return self.size\n    def __getitem__(self, idx):\n        return torch.randn(3, 224, 224), 0 # dummy label\n\ncalibration_dataset = RandomDataset()\n\n# 4. Define a transformation function for the calibration dataset\ndef transform_fn(data_item):\n    return data_item[0].numpy() # NNCF expects NumPy array for OpenVINO PTQ\n\n# 5. Apply Post-Training Quantization (PTQ)\nprint(\"Applying Post-Training Quantization...\")\nquantized_ov_model = nncf.quantize(\n    ov_model,\n    nncf.Dataset(calibration_dataset, transform_fn)\n)\n\n# 6. Save the quantized OpenVINO model\noutput_dir = \"./quantized_model\"\nos.makedirs(output_dir, exist_ok=True)\nmodel_path = os.path.join(output_dir, \"resnet18_quantized.xml\")\nov.save_model(quantized_ov_model, model_path)\nprint(f\"Quantized model saved to {model_path}\")\n\n# To load and use the quantized model:\n# core = ov.Core()\n# loaded_model = core.read_model(model_path)\n# compiled_model = core.compile_model(loaded_model, \"CPU\")\n# # Inference goes here\n# print(\"Model loaded and compiled for inference.\")","lang":"python","description":"This quickstart demonstrates how to perform 8-bit Post-Training Quantization (PTQ) on a pre-trained PyTorch model and convert it to an OpenVINO Intermediate Representation (IR) format using NNCF. It involves loading a model, creating a dummy calibration dataset, defining a transformation, and then applying `nncf.quantize`.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-16","installed_version":"2.18.0","pypi_latest":"3.1.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":15.1,"avg_import_s":2.71,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"nncf","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"openvino","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"tensorflow","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"torch","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"nncf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.1,"import_time_s":1.54,"mem_mb":41.8,"disk_size":"308M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"openvino","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.4,"import_time_s":1.66,"mem_mb":41.8,"disk_size":"308M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"tensorflow","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.1,"import_time_s":1.49,"mem_mb":41.8,"disk_size":"308M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.3,"import_time_s":1.49,"mem_mb":41.8,"disk_size":"308M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"nncf","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"openvino","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"tensorflow","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"torch","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"nncf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11.9,"import_time_s":2.22,"mem_mb":45.6,"disk_size":"331M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"openvino","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.1,"import_time_s":2.2,"mem_mb":45.6,"disk_size":"331M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"tensorflow","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":11.7,"import_time_s":2.2,"mem_mb":45.6,"disk_size":"331M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.2,"import_time_s":2.26,"mem_mb":45.6,"disk_size":"331M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"nncf","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"openvino","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"tensorflow","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"torch","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"nncf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.6,"import_time_s":2.5,"mem_mb":44.9,"disk_size":"314M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"openvino","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.4,"import_time_s":2.6,"mem_mb":44.9,"disk_size":"314M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"tensorflow","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.2,"import_time_s":2.5,"mem_mb":44.9,"disk_size":"314M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.3,"import_time_s":2.45,"mem_mb":44.9,"disk_size":"314M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"nncf","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"openvino","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"tensorflow","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"torch","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"nncf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.6,"import_time_s":2.48,"mem_mb":45.7,"disk_size":"312M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"openvino","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.3,"import_time_s":2.36,"mem_mb":45.7,"disk_size":"312M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"tensorflow","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.4,"import_time_s":2.39,"mem_mb":45.7,"disk_size":"312M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":12.2,"import_time_s":2.36,"mem_mb":45.7,"disk_size":"312M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"nncf","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"openvino","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"tensorflow","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"torch","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"nncf","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":26.6,"import_time_s":4.75,"mem_mb":74,"disk_size":"502M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"openvino","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":26.9,"import_time_s":4.84,"mem_mb":74,"disk_size":"502M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"tensorflow","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":26.4,"import_time_s":4.89,"mem_mb":74,"disk_size":"502M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"torch","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"broken","install_time_s":26.7,"import_time_s":4.95,"mem_mb":74,"disk_size":"502M"}]}}