fukayatti0's picture
ONNX量子化モデルとノートブックの完全アップロード
0751253 verified
"""
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()