|
--- |
|
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を作成するかプルリクエストを送ってください。 |
|
|