Skip to content

Commit 9d6221c

Browse files
committed
Add MobileBERT testing on riscv64 (fp32 + quantize)
1 parent 190c6f0 commit 9d6221c

3 files changed

Lines changed: 41 additions & 7 deletions

File tree

.github/workflows/riscv64.yml

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,14 @@ jobs:
2828
strategy:
2929
matrix:
3030
include:
31-
- { model: add, xnnpack: false, quantize: false }
32-
- { model: add, xnnpack: true, quantize: false }
33-
- { model: mv2, xnnpack: false, quantize: false }
34-
- { model: mv2, xnnpack: false, quantize: true }
35-
- { model: mv2, xnnpack: true, quantize: false }
36-
- { model: mv2, xnnpack: true, quantize: true }
31+
- { model: add, xnnpack: false, quantize: false }
32+
- { model: add, xnnpack: true, quantize: false }
33+
- { model: mv2, xnnpack: false, quantize: false }
34+
- { model: mv2, xnnpack: true, quantize: false }
35+
- { model: mv2, xnnpack: true, quantize: true }
36+
- { model: mobilebert, xnnpack: false, quantize: false }
37+
- { model: mobilebert, xnnpack: true, quantize: false }
38+
- { model: mobilebert, xnnpack: true, quantize: true }
3739
permissions:
3840
id-token: write
3941
contents: read

examples/riscv/aot_riscv.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,38 @@ def build_mv2():
4949
return model, example_inputs, test_inputs, False
5050

5151

52-
MODELS = {"add": build_add, "mv2": build_mv2}
52+
def build_mobilebert():
53+
from transformers import MobileBertConfig, MobileBertModel
54+
55+
config = MobileBertConfig(
56+
vocab_size=1024,
57+
hidden_size=128,
58+
embedding_size=64,
59+
num_hidden_layers=2,
60+
num_attention_heads=2,
61+
intermediate_size=128,
62+
intra_bottleneck_size=32,
63+
)
64+
65+
class Wrapper(torch.nn.Module):
66+
def __init__(self):
67+
super().__init__()
68+
self.model = MobileBertModel(config).eval()
69+
70+
def forward(self, input_ids):
71+
return self.model(input_ids).last_hidden_state
72+
73+
model = Wrapper().eval()
74+
example_inputs = (torch.tensor([[1, 2, 3, 4, 5, 6, 7, 8]]),)
75+
test_inputs = [example_inputs]
76+
return model, example_inputs, test_inputs, False
77+
78+
79+
MODELS = {
80+
"add": build_add,
81+
"mv2": build_mv2,
82+
"mobilebert": build_mobilebert,
83+
}
5384

5485

5586
def main() -> None:

examples/riscv/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
torchvision
2+
transformers

0 commit comments

Comments
 (0)