Add ONNX and ORT models with quantization
Browse files- README.md +85 -85
- README_ja.md +85 -85
- onnx_models/model_fp16.onnx +1 -1
- onnx_models/model_int8.onnx +1 -1
- onnx_models/model_opt.onnx +1 -1
- onnx_models/model_uint8.onnx +1 -1
- ort_models/model.ort +2 -2
- ort_models/model_fp16.ort +2 -2
- ort_models/model_int8.ort +2 -2
- ort_models/model_uint8.ort +2 -2
README.md
CHANGED
@@ -1,85 +1,85 @@
|
|
1 |
-
---
|
2 |
-
license: apache-2.0
|
3 |
-
tags:
|
4 |
-
- onnx
|
5 |
-
- ort
|
6 |
-
---
|
7 |
-
|
8 |
-
# ONNX and ORT models with quantization of [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased)
|
9 |
-
|
10 |
-
[日本語READMEはこちら](README_ja.md)
|
11 |
-
|
12 |
-
This repository contains the ONNX and ORT formats of the model [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased), along with quantized versions.
|
13 |
-
|
14 |
-
## License
|
15 |
-
The license for this model is "apache-2.0". For details, please refer to the original model page: [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased).
|
16 |
-
|
17 |
-
## Usage
|
18 |
-
To use this model, install ONNX Runtime and perform inference as shown below.
|
19 |
-
```python
|
20 |
-
# Example code
|
21 |
-
import onnxruntime as ort
|
22 |
-
import numpy as np
|
23 |
-
from transformers import AutoTokenizer
|
24 |
-
import os
|
25 |
-
|
26 |
-
# Load the tokenizer
|
27 |
-
tokenizer = AutoTokenizer.from_pretrained('google-bert/bert-base-cased')
|
28 |
-
|
29 |
-
# Prepare inputs
|
30 |
-
text = 'Replace this text with your input.'
|
31 |
-
inputs = tokenizer(text, return_tensors='np')
|
32 |
-
|
33 |
-
# Specify the model paths
|
34 |
-
# Test both the ONNX model and the ORT model
|
35 |
-
model_paths = [
|
36 |
-
'onnx_models/model_opt.onnx', # ONNX model
|
37 |
-
'ort_models/model.ort' # ORT format model
|
38 |
-
]
|
39 |
-
|
40 |
-
# Run inference with each model
|
41 |
-
for model_path in model_paths:
|
42 |
-
print(f'\n===== Using model: {model_path} =====')
|
43 |
-
# Get the model extension
|
44 |
-
model_extension = os.path.splitext(model_path)[1]
|
45 |
-
|
46 |
-
# Load the model
|
47 |
-
if model_extension == '.ort':
|
48 |
-
# Load the ORT format model
|
49 |
-
session = ort.InferenceSession(model_path, providers=['CPUExecutionProvider'])
|
50 |
-
else:
|
51 |
-
# Load the ONNX model
|
52 |
-
session = ort.InferenceSession(model_path)
|
53 |
-
|
54 |
-
# Run inference
|
55 |
-
outputs = session.run(None, dict(inputs))
|
56 |
-
|
57 |
-
# Display the output shapes
|
58 |
-
for idx, output in enumerate(outputs):
|
59 |
-
print(f'Output {idx} shape: {output.shape}')
|
60 |
-
|
61 |
-
# Display the results (add further processing if needed)
|
62 |
-
print(outputs)
|
63 |
-
```
|
64 |
-
|
65 |
-
## Contents of the Model
|
66 |
-
This repository includes the following models:
|
67 |
-
|
68 |
-
### ONNX Models
|
69 |
-
- `onnx_models/model.onnx`: Original ONNX model converted from [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased)
|
70 |
-
- `onnx_models/model_opt.onnx`: Optimized ONNX model
|
71 |
-
- `onnx_models/model_fp16.onnx`: FP16 quantized model
|
72 |
-
- `onnx_models/model_int8.onnx`: INT8 quantized model
|
73 |
-
- `onnx_models/model_uint8.onnx`: UINT8 quantized model
|
74 |
-
|
75 |
-
### ORT Models
|
76 |
-
- `ort_models/model.ort`: ORT model using the optimized ONNX model
|
77 |
-
- `ort_models/model_fp16.ort`: ORT model using the FP16 quantized model
|
78 |
-
- `ort_models/model_int8.ort`: ORT model using the INT8 quantized model
|
79 |
-
- `ort_models/model_uint8.ort`: ORT model using the UINT8 quantized model
|
80 |
-
|
81 |
-
## Notes
|
82 |
-
Please adhere to the license and usage conditions of the original model [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased).
|
83 |
-
|
84 |
-
## Contribution
|
85 |
-
If you find any issues or have improvements, please create an issue or submit a pull request.
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
tags:
|
4 |
+
- onnx
|
5 |
+
- ort
|
6 |
+
---
|
7 |
+
|
8 |
+
# ONNX and ORT models with quantization of [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased)
|
9 |
+
|
10 |
+
[日本語READMEはこちら](README_ja.md)
|
11 |
+
|
12 |
+
This repository contains the ONNX and ORT formats of the model [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased), along with quantized versions.
|
13 |
+
|
14 |
+
## License
|
15 |
+
The license for this model is "apache-2.0". For details, please refer to the original model page: [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased).
|
16 |
+
|
17 |
+
## Usage
|
18 |
+
To use this model, install ONNX Runtime and perform inference as shown below.
|
19 |
+
```python
|
20 |
+
# Example code
|
21 |
+
import onnxruntime as ort
|
22 |
+
import numpy as np
|
23 |
+
from transformers import AutoTokenizer
|
24 |
+
import os
|
25 |
+
|
26 |
+
# Load the tokenizer
|
27 |
+
tokenizer = AutoTokenizer.from_pretrained('google-bert/bert-base-cased')
|
28 |
+
|
29 |
+
# Prepare inputs
|
30 |
+
text = 'Replace this text with your input.'
|
31 |
+
inputs = tokenizer(text, return_tensors='np')
|
32 |
+
|
33 |
+
# Specify the model paths
|
34 |
+
# Test both the ONNX model and the ORT model
|
35 |
+
model_paths = [
|
36 |
+
'onnx_models/model_opt.onnx', # ONNX model
|
37 |
+
'ort_models/model.ort' # ORT format model
|
38 |
+
]
|
39 |
+
|
40 |
+
# Run inference with each model
|
41 |
+
for model_path in model_paths:
|
42 |
+
print(f'\n===== Using model: {model_path} =====')
|
43 |
+
# Get the model extension
|
44 |
+
model_extension = os.path.splitext(model_path)[1]
|
45 |
+
|
46 |
+
# Load the model
|
47 |
+
if model_extension == '.ort':
|
48 |
+
# Load the ORT format model
|
49 |
+
session = ort.InferenceSession(model_path, providers=['CPUExecutionProvider'])
|
50 |
+
else:
|
51 |
+
# Load the ONNX model
|
52 |
+
session = ort.InferenceSession(model_path)
|
53 |
+
|
54 |
+
# Run inference
|
55 |
+
outputs = session.run(None, dict(inputs))
|
56 |
+
|
57 |
+
# Display the output shapes
|
58 |
+
for idx, output in enumerate(outputs):
|
59 |
+
print(f'Output {idx} shape: {output.shape}')
|
60 |
+
|
61 |
+
# Display the results (add further processing if needed)
|
62 |
+
print(outputs)
|
63 |
+
```
|
64 |
+
|
65 |
+
## Contents of the Model
|
66 |
+
This repository includes the following models:
|
67 |
+
|
68 |
+
### ONNX Models
|
69 |
+
- `onnx_models/model.onnx`: Original ONNX model converted from [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased)
|
70 |
+
- `onnx_models/model_opt.onnx`: Optimized ONNX model
|
71 |
+
- `onnx_models/model_fp16.onnx`: FP16 quantized model
|
72 |
+
- `onnx_models/model_int8.onnx`: INT8 quantized model
|
73 |
+
- `onnx_models/model_uint8.onnx`: UINT8 quantized model
|
74 |
+
|
75 |
+
### ORT Models
|
76 |
+
- `ort_models/model.ort`: ORT model using the optimized ONNX model
|
77 |
+
- `ort_models/model_fp16.ort`: ORT model using the FP16 quantized model
|
78 |
+
- `ort_models/model_int8.ort`: ORT model using the INT8 quantized model
|
79 |
+
- `ort_models/model_uint8.ort`: ORT model using the UINT8 quantized model
|
80 |
+
|
81 |
+
## Notes
|
82 |
+
Please adhere to the license and usage conditions of the original model [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased).
|
83 |
+
|
84 |
+
## Contribution
|
85 |
+
If you find any issues or have improvements, please create an issue or submit a pull request.
|
README_ja.md
CHANGED
@@ -1,85 +1,85 @@
|
|
1 |
-
---
|
2 |
-
license: apache-2.0
|
3 |
-
tags:
|
4 |
-
- onnx
|
5 |
-
- ort
|
6 |
-
---
|
7 |
-
|
8 |
-
# [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) のONNXおよびORTモデルと量子化モデル
|
9 |
-
|
10 |
-
[Click here for the English README](README.md)
|
11 |
-
|
12 |
-
このリポジトリは、元のモデル [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) をONNXおよびORT形式に変換し、さらに量子化したものです。
|
13 |
-
|
14 |
-
## ライセンス
|
15 |
-
このモデルのライセンスは「apache-2.0」です。詳細は元のモデルページ([google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased))を参照してください。
|
16 |
-
|
17 |
-
## 使い方
|
18 |
-
このモデルを使用するには、ONNX Runtimeをインストールし、以下のように推論を行います。
|
19 |
-
```python
|
20 |
-
# サンプルコード
|
21 |
-
import onnxruntime as ort
|
22 |
-
import numpy as np
|
23 |
-
from transformers import AutoTokenizer
|
24 |
-
import os
|
25 |
-
|
26 |
-
# トークナイザーの読み込み
|
27 |
-
tokenizer = AutoTokenizer.from_pretrained('google-bert/bert-base-cased')
|
28 |
-
|
29 |
-
# 入力の準備
|
30 |
-
text = 'ここに入力テキストを置き換えてください。'
|
31 |
-
inputs = tokenizer(text, return_tensors='np')
|
32 |
-
|
33 |
-
# 使用するモデルのパスを指定
|
34 |
-
# ONNXモデルとORTモデルの両方をテストする
|
35 |
-
model_paths = [
|
36 |
-
'onnx_models/model_opt.onnx', # ONNXモデル
|
37 |
-
'ort_models/model.ort' # ORTフォーマットのモデル
|
38 |
-
]
|
39 |
-
|
40 |
-
# モデルごとに推論を実行
|
41 |
-
for model_path in model_paths:
|
42 |
-
print(f'\n===== Using model: {model_path} =====')
|
43 |
-
# モデルの拡張子を取得
|
44 |
-
model_extension = os.path.splitext(model_path)[1]
|
45 |
-
|
46 |
-
# モデルの読み込み
|
47 |
-
if model_extension == '.ort':
|
48 |
-
# ORTフォーマットのモデルをロード
|
49 |
-
session = ort.InferenceSession(model_path, providers=['CPUExecutionProvider'])
|
50 |
-
else:
|
51 |
-
# ONNXモデルをロード
|
52 |
-
session = ort.InferenceSession(model_path)
|
53 |
-
|
54 |
-
# 推論の実行
|
55 |
-
outputs = session.run(None, dict(inputs))
|
56 |
-
|
57 |
-
# 出力の形状を表示
|
58 |
-
for idx, output in enumerate(outputs):
|
59 |
-
print(f'Output {idx} shape: {output.shape}')
|
60 |
-
|
61 |
-
# 結果の表示(必要に応じて処理を追加)
|
62 |
-
print(outputs)
|
63 |
-
```
|
64 |
-
|
65 |
-
## モデルの内容
|
66 |
-
このリポジトリには、以下のモデルが含まれています。
|
67 |
-
|
68 |
-
### ONNXモデル
|
69 |
-
- `onnx_models/model.onnx`: [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) から変換された元のONNXモデル
|
70 |
-
- `onnx_models/model_opt.onnx`: 最適化されたONNXモデル
|
71 |
-
- `onnx_models/model_fp16.onnx`: FP16による量子化モデル
|
72 |
-
- `onnx_models/model_int8.onnx`: INT8による量子化モデル
|
73 |
-
- `onnx_models/model_uint8.onnx`: UINT8による量子化モデル
|
74 |
-
|
75 |
-
### ORTモデル
|
76 |
-
- `ort_models/model.ort`: 最適化されたONNXモデルを使用したORTモデル
|
77 |
-
- `ort_models/model_fp16.ort`: FP16量子化モデルを使用したORTモデル
|
78 |
-
- `ort_models/model_int8.ort`: INT8量子化モデルを使用したORTモデル
|
79 |
-
- `ort_models/model_uint8.ort`: UINT8量子化モデルを使用したORTモデル
|
80 |
-
|
81 |
-
## 注意事項
|
82 |
-
元のモデル [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) のライセンスおよび使用条件を遵守してください。
|
83 |
-
|
84 |
-
## 貢献
|
85 |
-
問題や改善点があれば、Issueを作成するかプルリクエストを送ってください。
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
tags:
|
4 |
+
- onnx
|
5 |
+
- ort
|
6 |
+
---
|
7 |
+
|
8 |
+
# [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) のONNXおよびORTモデルと量子化モデル
|
9 |
+
|
10 |
+
[Click here for the English README](README.md)
|
11 |
+
|
12 |
+
このリポジトリは、元のモデル [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) をONNXおよびORT形式に変換し、さらに量子化したものです。
|
13 |
+
|
14 |
+
## ライセンス
|
15 |
+
このモデルのライセンスは「apache-2.0」です。詳細は元のモデルページ([google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased))を参照してください。
|
16 |
+
|
17 |
+
## 使い方
|
18 |
+
このモデルを使用するには、ONNX Runtimeをインストールし、以下のように推論を行います。
|
19 |
+
```python
|
20 |
+
# サンプルコード
|
21 |
+
import onnxruntime as ort
|
22 |
+
import numpy as np
|
23 |
+
from transformers import AutoTokenizer
|
24 |
+
import os
|
25 |
+
|
26 |
+
# トークナイザーの読み込み
|
27 |
+
tokenizer = AutoTokenizer.from_pretrained('google-bert/bert-base-cased')
|
28 |
+
|
29 |
+
# 入力の準備
|
30 |
+
text = 'ここに入力テキストを置き換えてください。'
|
31 |
+
inputs = tokenizer(text, return_tensors='np')
|
32 |
+
|
33 |
+
# 使用するモデルのパスを指定
|
34 |
+
# ONNXモデルとORTモデルの両方をテストする
|
35 |
+
model_paths = [
|
36 |
+
'onnx_models/model_opt.onnx', # ONNXモデル
|
37 |
+
'ort_models/model.ort' # ORTフォーマットのモデル
|
38 |
+
]
|
39 |
+
|
40 |
+
# モデルごとに推論を実行
|
41 |
+
for model_path in model_paths:
|
42 |
+
print(f'\n===== Using model: {model_path} =====')
|
43 |
+
# モデルの拡張子を取得
|
44 |
+
model_extension = os.path.splitext(model_path)[1]
|
45 |
+
|
46 |
+
# モデルの読み込み
|
47 |
+
if model_extension == '.ort':
|
48 |
+
# ORTフォーマットのモデルをロード
|
49 |
+
session = ort.InferenceSession(model_path, providers=['CPUExecutionProvider'])
|
50 |
+
else:
|
51 |
+
# ONNXモデルをロード
|
52 |
+
session = ort.InferenceSession(model_path)
|
53 |
+
|
54 |
+
# 推論の実行
|
55 |
+
outputs = session.run(None, dict(inputs))
|
56 |
+
|
57 |
+
# 出力の形状を表示
|
58 |
+
for idx, output in enumerate(outputs):
|
59 |
+
print(f'Output {idx} shape: {output.shape}')
|
60 |
+
|
61 |
+
# 結果の表示(必要に応じて処理を追加)
|
62 |
+
print(outputs)
|
63 |
+
```
|
64 |
+
|
65 |
+
## モデルの内容
|
66 |
+
このリポジトリには、以下のモデルが含まれています。
|
67 |
+
|
68 |
+
### ONNXモデル
|
69 |
+
- `onnx_models/model.onnx`: [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) から変換された元のONNXモデル
|
70 |
+
- `onnx_models/model_opt.onnx`: 最適化されたONNXモデル
|
71 |
+
- `onnx_models/model_fp16.onnx`: FP16による量子化モデル
|
72 |
+
- `onnx_models/model_int8.onnx`: INT8による量子化モデル
|
73 |
+
- `onnx_models/model_uint8.onnx`: UINT8による量子化モデル
|
74 |
+
|
75 |
+
### ORTモデル
|
76 |
+
- `ort_models/model.ort`: 最適化されたONNXモデルを使用したORTモデル
|
77 |
+
- `ort_models/model_fp16.ort`: FP16量子化モデルを使用したORTモデル
|
78 |
+
- `ort_models/model_int8.ort`: INT8量子化モデルを使用したORTモデル
|
79 |
+
- `ort_models/model_uint8.ort`: UINT8量子化モデルを使用したORTモデル
|
80 |
+
|
81 |
+
## 注意事項
|
82 |
+
元のモデル [google-bert/bert-base-cased](https://huggingface.co/google-bert/bert-base-cased) のライセンスおよび使用条件を遵守してください。
|
83 |
+
|
84 |
+
## 貢献
|
85 |
+
問題や改善点があれば、Issueを作成するかプルリクエストを送ってください。
|
onnx_models/model_fp16.onnx
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 216873727
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9bccba72704ea37f0c4c9cbd1e6f8ec8842d551c8fe5b1493f1f79016c599818
|
3 |
size 216873727
|
onnx_models/model_int8.onnx
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 109021896
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:9d0b56c5e358d975d007e955a03bd5329b95a7a456a4c99dafdbb2bb5f276ca4
|
3 |
size 109021896
|
onnx_models/model_opt.onnx
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 433432489
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f323cb656d7b6911cd5df0ab62f08bab2326e88c053c6c40893c851695835648
|
3 |
size 433432489
|
onnx_models/model_uint8.onnx
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
size 109021936
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:a907112c037031baf01e83ef2a87fb43808926c91e9429dc5fa16db43d1b9c31
|
3 |
size 109021936
|
ort_models/model.ort
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:22b0486744788642f368bd78dc86b0a69b0e2ec3199c2dad073f8e0102b25c6a
|
3 |
+
size 433627096
|
ort_models/model_fp16.ort
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:44e8c28a3b2ba6f664a72b78a77dd5bf786db1129907da4d771b0b557a854708
|
3 |
+
size 217422272
|
ort_models/model_int8.ort
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5a1b8dd94f2e9b6d8ae2ec3228e0f2080bb36820e6fef0b1cfc97946afe0c2bd
|
3 |
+
size 109186784
|
ort_models/model_uint8.ort
CHANGED
@@ -1,3 +1,3 @@
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
-
oid sha256:
|
3 |
-
size
|
|
|
1 |
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5544801af732cbc296fa9e85f9e8488700bd8d6250c22b67f43d90036b63e80d
|
3 |
+
size 109186784
|