--- license: apache-2.0 tags: - onnx - ort --- # [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) のONNXおよびORTモデルと量子化モデル [Click here for the English README](README.md) このリポジトリは、元のモデル [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) をONNXおよびORT形式に変換し、さらに量子化したものです。 ## ライセンス このモデルのライセンスは「apache-2.0」です。詳細は元のモデルページ([google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased))を参照してください。 ## 使い方 このモデルを使用するには、ONNX Runtimeをインストールし、以下のように推論を行います。 ```python # サンプルコード import onnxruntime as ort import numpy as np from transformers import AutoTokenizer import os # トークナイザーの読み込み tokenizer = AutoTokenizer.from_pretrained('google-bert/bert-base-cased') # 入力の準備 text = 'ここに入力テキストを置き換えてください。' inputs = tokenizer(text, return_tensors='np') # 使用するモデルのパスを指定 # ONNXモデルとORTモデルの両方をテストする model_paths = [ 'onnx_models/model_opt.onnx', # ONNXモデル 'ort_models/model.ort' # ORTフォーマットのモデル ] # モデルごとに推論を実行 for model_path in model_paths: print(f'\n===== Using model: {model_path} =====') # モデルの拡張子を取得 model_extension = os.path.splitext(model_path)[1] # モデルの読み込み if model_extension == '.ort': # ORTフォーマットのモデルをロード session = ort.InferenceSession(model_path, providers=['CPUExecutionProvider']) else: # ONNXモデルをロード session = ort.InferenceSession(model_path) # 推論の実行 outputs = session.run(None, dict(inputs)) # 出力の形状を表示 for idx, output in enumerate(outputs): print(f'Output {idx} shape: {output.shape}') # 結果の表示(必要に応じて処理を追加) print(outputs) ``` ## モデルの内容 このリポジトリには、以下のモデルが含まれています。 ### ONNXモデル - `onnx_models/model.onnx`: [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) から変換された元のONNXモデル - `onnx_models/model_opt.onnx`: 最適化されたONNXモデル - `onnx_models/model_fp16.onnx`: FP16による量子化モデル - `onnx_models/model_int8.onnx`: INT8による量子化モデル - `onnx_models/model_uint8.onnx`: UINT8による量子化モデル ### ORTモデル - `ort_models/model.ort`: 最適化されたONNXモデルを使用したORTモデル - `ort_models/model_fp16.ort`: FP16量子化モデルを使用したORTモデル - `ort_models/model_int8.ort`: INT8量子化モデルを使用したORTモデル - `ort_models/model_uint8.ort`: UINT8量子化モデルを使用したORTモデル ## 注意事項 元のモデル [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) のライセンスおよび使用条件を遵守してください。 ## 貢献 問題や改善点があれば、Issueを作成するかプルリクエストを送ってください。