ayousanz commited on
Commit
c1e370a
1 Parent(s): 8dfa37c

Add ONNX and ORT models with quantization

Browse files
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:8018dc667f9c8fa960550506e3ff4049eb234acb1da01690996bf457b7e09468
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:36ddb0c9d57a3405776108990d1e2af20d78baad76f74ec566e9af2b2d8c83d4
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:76ad5e428e005667a83d18cf0041975173bf07b4aaad4156c361a65b193dc81f
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:d4b91c713c9c66b1ecb354ed79f127c0c726bbef96c39519e35d78a835c9c71c
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:4003c01ef5ddd95f484db977712698b1ef1e5c830b82b1d19f24080dd98c8d27
3
- size 433626880
 
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:a861273e0cd1fb5d824c6ffa66941b0c98251d4196582afe57a0c47f97f9ed8c
3
- size 217422160
 
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:e19c5797a6e2ea284c76dce83a666e5678dbf398c67bd387960e93b4cb95ecd0
3
- size 109186776
 
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:c2e09646d645e45d8f3d8c694ea6f89f631cdef595ae0cd6fda14e2d13dfa7c8
3
- size 109186776
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5544801af732cbc296fa9e85f9e8488700bd8d6250c22b67f43d90036b63e80d
3
+ size 109186784