""" ONNX iMatrix 日本語量子化 - クイックスタート例 このスクリプトは、ノートブックの主要機能を簡潔に実行する例です。 """ import os import numpy as np import onnxruntime as ort from onnxruntime.quantization import quantize_dynamic, QuantType from transformers import MarianTokenizer from datasets import load_dataset def quick_quantize_example(): """クイック量子化の例""" print("🚀 ONNX iMatrix 日本語量子化 - クイックスタート") # 1. モデルパスの設定(実際のパスに変更してください) model_path = "your_model.onnx" # 実際のONNXモデルパス if not os.path.exists(model_path): print("⚠️ モデルファイルが見つかりません。パスを確認してください。") return # 2. 動的量子化の実行 quantized_path = "quantized_model.onnx" try: print("🔄 動的量子化を実行中...") quantize_dynamic( model_input=model_path, model_output=quantized_path, weight_type=QuantType.QUInt8, per_channel=True, reduce_range=False ) print("✅ 動的量子化完了!") # 3. ファイルサイズの比較 original_size = os.path.getsize(model_path) / 1024 / 1024 quantized_size = os.path.getsize(quantized_path) / 1024 / 1024 compression_ratio = original_size / quantized_size print(f"📊 結果:") print(f" 元ファイル: {original_size:.1f} MB") print(f" 量子化後: {quantized_size:.1f} MB") print(f" 圧縮率: {compression_ratio:.1f}x") except Exception as e: print(f"❌ エラー: {e}") if __name__ == "__main__": quick_quantize_example()