Commit
c763267
ยท
0 Parent(s):

Update repository

Browse files

Co-authored-by: laurier-rochon <laurier-rochon@users.noreply.huggingface.co>
Co-authored-by: pveugen <pveugen@users.noreply.huggingface.co>
Co-authored-by: finnvoorhees <finnvoorhees@users.noreply.huggingface.co>

.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,146 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: other
3
+ license_name: desert-ant-labs-source-available-1.0
4
+ license_link: https://license.desertant.com/1.0
5
+ language:
6
+ - ar
7
+ - cs
8
+ - da
9
+ - de
10
+ - en
11
+ - es
12
+ - fr
13
+ - hi
14
+ - id
15
+ - it
16
+ - ja
17
+ - ko
18
+ - nl
19
+ - pl
20
+ - pt
21
+ - ru
22
+ - sv
23
+ - th
24
+ - tr
25
+ - uk
26
+ - vi
27
+ - zh
28
+ tags:
29
+ - text
30
+ - emoji
31
+ - text-classification
32
+ - on-device
33
+ - core-ml
34
+ - litert
35
+ - tflite
36
+ - multilingual
37
+ pipeline_tag: text-classification
38
+ ---
39
+
40
+ <!-- card-header:start (generated from manifest.json, edit below this block) -->
41
+ # Emo
42
+
43
+ Suggest emoji faster than you can type.
44
+
45
+ Multilingual on-device emoji suggestion.
46
+
47
+ - **SDKs, install and examples:** https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/docs/models/emo.md
48
+ - **Website:** https://desertant.com/models/emo/
49
+
50
+ <!-- card-header:end -->
51
+
52
+ Type a word or a sentence and get the emoji that fits. Tuned for to-dos,
53
+ calendar entries, notes, and message drafts across **22 languages** (including
54
+ CJK, Arabic, Thai, Hindi, and more). The whole thing, model **and** tokenizer,
55
+ is small (**5MB** on Apple via Core ML, **11MB** via LiteRT elsewhere) and runs in well under 2ms on device.
56
+
57
+ > `"Dentist appointment"` โ†’ ๐Ÿฆท ยท `"rรฉserver un vol pour Tokyo"` โ†’ โœˆ๏ธ ยท `"็Šฌใฎๆ•ฃๆญฉ"` โ†’ ๐Ÿ• ยท `"เธˆเธญเธ‡เน‚เธฃเธ‡เนเธฃเธก"` โ†’ ๐Ÿจ
58
+
59
+ ## Try it
60
+
61
+ - **Live demo:** [desert-ant-labs/emo-demo](https://huggingface.co/spaces/desert-ant-labs/emo-demo): type a phrase, get emojis, fully in your browser.
62
+
63
+ <!-- card-install:start (generated from manifest.json, edit below this block) -->
64
+ | | |
65
+ | --- | --- |
66
+ | **Platforms** | iOS, macOS, tvOS, visionOS, Android, Linux, Windows, Browser, Node |
67
+ | **Languages** | 22 |
68
+ | **Weights** | [v0.7.0](https://huggingface.co/desert-ant-labs/emo) |
69
+
70
+ ## Install
71
+
72
+ **Swift** ([requirements](https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/README.md#swift))
73
+
74
+ ```swift
75
+ .package(url: "https://github.com/Desert-Ant-Labs/desert-ant-core.git", from: "3.1.0")
76
+ ```
77
+
78
+ Then add the `Emo` product to your target.
79
+
80
+ **Kotlin** ([requirements](https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/README.md#android))
81
+
82
+ ```kotlin
83
+ implementation("ai.desertant:emo:3.1.0")
84
+ ```
85
+
86
+ **JavaScript** ([requirements](https://github.com/Desert-Ant-Labs/desert-ant-core/blob/main/README.md#javascript-and-typescript))
87
+
88
+ ```bash
89
+ npm i @desert-ant-labs/emo @litertjs/core # browser
90
+ npm i @desert-ant-labs/emo # Node, prebuilt native core
91
+ ```
92
+ <!-- card-install:end -->
93
+
94
+ ## Files
95
+
96
+ | File | Format | Size | Contents |
97
+ |---|---|---:|---|
98
+ | `emo.tflite` | LiteRT / TFLite (int8) | 10.2MB | Runs on Android, Linux, Node, and the web (bundled by default in the Kotlin SDK; downloaded on demand by the JavaScript SDK) |
99
+ | `emo.mlmodelc` | Compiled Core ML | 4.6MB | Ready to load on Apple platforms (used by the Swift SDK) |
100
+ | `emo_tokenizer.bin` | Unigram tokenizer | 750KB | Tokenizer the runtime needs |
101
+ | `emo_meta.json` | JSON | tiny | Emoji labels and runtime config |
102
+
103
+ Older revisions (tags `v0.6.0` and earlier) carry `Emo.mlmodelc` and `emo.safetensors` for SDK versions that predate the unified cross-platform migration.
104
+
105
+ ## Inputs and outputs
106
+
107
+ - **Input:** a plain text string. Best on short, intent-oriented text.
108
+ - **Output:** a probability distribution over the 812-emoji vocabulary; take the
109
+ top-1 (or top-k). Optimized for **top-1 relevance**.
110
+
111
+ ## Languages
112
+
113
+ English, Spanish, Portuguese, French, German, Italian, Dutch, Russian, Polish,
114
+ Turkish, Arabic, Chinese (Simplified & Traditional), Japanese, Korean, Hindi,
115
+ Indonesian, Thai, Vietnamese, Ukrainian, Swedish, Danish, Czech.
116
+
117
+ ## Limitations
118
+
119
+ - Tuned for short, intent-oriented text; long-form text produces noisier suggestions.
120
+ - Emoji semantics are imprecise; near-ties at the top of the ranking are expected.
121
+ - Per-language quality varies; lower-resource languages in the set are somewhat weaker.
122
+
123
+ <!-- card-footer:start (generated from manifest.json, edit above this block) -->
124
+ ## License
125
+
126
+ [Desert Ant Labs Source-Available License](https://license.desertant.com/1.0). Free for most
127
+ apps, and a commercial license is required at scale. Full terms are at the link.
128
+ Licensing: <licensing@desertant.com>.
129
+
130
+ See [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
131
+
132
+ ## Citation
133
+
134
+ ```bibtex
135
+ @software{emo_2026,
136
+ title = {Emo: Multilingual on-device emoji suggestion},
137
+ author = {Desert Ant Labs},
138
+ year = {2026},
139
+ url = {https://huggingface.co/desert-ant-labs/emo},
140
+ }
141
+ ```
142
+
143
+ ---
144
+
145
+ ยฉ 2026 Desert Ant Labs ยท <https://desertant.com>
146
+ <!-- card-footer:end -->
THIRD_PARTY_NOTICES.md ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # Third-party notices โ€” emo
2
+
3
+ The `emo` model derives from components licensed by third parties. Their licenses
4
+ apply to the components named below; nothing in the Desert Ant Labs
5
+ Source-Available License overrides them.
6
+
7
+ ## Semantic embedding
8
+
9
+ ### potion-multilingual-128M โ€” MinishLab
10
+ - **Source:** [`minishlab/potion-multilingual-128M`](https://huggingface.co/minishlab/potion-multilingual-128M)
11
+ - **License:** MIT
12
+ - **Use in `emo`:** the semantic stream. The shipped semantic table is a
13
+ PCA-reduced (112-dim) and vocab-pruned (~45k token) derivative of this model's
14
+ embeddings. Its SentencePiece tokenizer (XLM-RoBERTa lineage) is used at
15
+ inference to tokenize text for that stream.
16
+
17
+ ### bge-m3 โ€” BAAI
18
+ - **Source:** [`BAAI/bge-m3`](https://huggingface.co/BAAI/bge-m3)
19
+ - **License:** MIT
20
+ - **Use in `emo`:** teacher model. `potion-multilingual-128M` was distilled from
21
+ `bge-m3` (via Model2Vec / Tokenlearn), so `emo`'s semantic stream derives from it.
22
+
23
+ ### Model2Vec / Tokenlearn โ€” MinishLab
24
+ - **Source:** [github.com/MinishLab/model2vec](https://github.com/MinishLab/model2vec)
25
+ - **License:** MIT
26
+ - **Use in `emo`:** the static-embedding distillation method behind the semantic stream.
27
+
28
+ ## Training data
29
+
30
+ ### Unicode CLDR โ€” Unicode, Inc.
31
+ - **Source:** [cldr.unicode.org](https://cldr.unicode.org) (emoji annotations / keywords).
32
+ - **License:** Unicode License Agreement โ€” Data Files and Software (UNICODE-DFS-2016).
33
+ - **Use in `emo`:** multilingual emoji keywords were used as grounding examples when
34
+ building the training data. CLDR data is not redistributed in this repository.
emo.mlmodelc/analytics/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f8dd02401ec57a52856cd0681540405ed22701b9df5efe9bec9673788bda488e
3
+ size 243
emo.mlmodelc/coremldata.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8fdfcb08b1af69e63edbc9f056ac5bf999f286c6b2f2163f3873b6d395fc2ede
3
+ size 657
emo.mlmodelc/metadata.json ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "metadataOutputVersion" : "3.0",
4
+ "shortDescription" : "Suggests an emoji for a short phrase. Inputs are tokenized features (n-gram hashes + pruned unigram semantic ids) in a fixed window.",
5
+ "outputSchema" : [
6
+ {
7
+ "hasShapeFlexibility" : "0",
8
+ "isOptional" : "0",
9
+ "dataType" : "Float16",
10
+ "formattedType" : "MultiArray (Float16 1 ร— 812)",
11
+ "shortDescription" : "",
12
+ "shape" : "[1, 812]",
13
+ "name" : "probabilities",
14
+ "type" : "MultiArray"
15
+ }
16
+ ],
17
+ "storagePrecision" : "Mixed (Float16, Palettized (4 bits), Palettized (8 bits))",
18
+ "modelParameters" : [
19
+
20
+ ],
21
+ "specificationVersion" : 7,
22
+ "mlProgramOperationTypeHistogram" : {
23
+ "Concat" : 3,
24
+ "Ios16.cast" : 7,
25
+ "Ios16.mul" : 15,
26
+ "Ios16.layerNorm" : 5,
27
+ "SliceByIndex" : 30,
28
+ "Ios16.constexprLutToDense" : 14,
29
+ "Ios16.sub" : 1,
30
+ "Ios16.linear" : 11,
31
+ "Ios16.add" : 13,
32
+ "Ios16.realDiv" : 1,
33
+ "Ios16.matmul" : 16,
34
+ "Ios16.softmax" : 10,
35
+ "Ios16.reduceSum" : 4,
36
+ "ExpandDims" : 3,
37
+ "Ios16.gather" : 3,
38
+ "Ios16.gelu" : 3,
39
+ "Ios16.tanh" : 1
40
+ },
41
+ "computePrecision" : "Mixed (Float16, Float32, Int32)",
42
+ "isUpdatable" : "0",
43
+ "stateSchema" : [
44
+
45
+ ],
46
+ "availability" : {
47
+ "macOS" : "13.0",
48
+ "tvOS" : "16.0",
49
+ "visionOS" : "1.0",
50
+ "watchOS" : "9.0",
51
+ "iOS" : "16.0",
52
+ "macCatalyst" : "16.0"
53
+ },
54
+ "modelType" : {
55
+ "name" : "MLModelType_mlProgram"
56
+ },
57
+ "inputSchema" : [
58
+ {
59
+ "hasShapeFlexibility" : "0",
60
+ "isOptional" : "0",
61
+ "dataType" : "Int32",
62
+ "formattedType" : "MultiArray (Int32 1 ร— 512 ร— 3)",
63
+ "shortDescription" : "",
64
+ "shape" : "[1, 512, 3]",
65
+ "name" : "ngram_buckets",
66
+ "type" : "MultiArray"
67
+ },
68
+ {
69
+ "hasShapeFlexibility" : "0",
70
+ "isOptional" : "0",
71
+ "dataType" : "Float32",
72
+ "formattedType" : "MultiArray (Float32 1 ร— 512 ร— 3)",
73
+ "shortDescription" : "",
74
+ "shape" : "[1, 512, 3]",
75
+ "name" : "ngram_signs",
76
+ "type" : "MultiArray"
77
+ },
78
+ {
79
+ "hasShapeFlexibility" : "0",
80
+ "isOptional" : "0",
81
+ "dataType" : "Int32",
82
+ "formattedType" : "MultiArray (Int32 1 ร— 512)",
83
+ "shortDescription" : "",
84
+ "shape" : "[1, 512]",
85
+ "name" : "ngram_importance",
86
+ "type" : "MultiArray"
87
+ },
88
+ {
89
+ "hasShapeFlexibility" : "0",
90
+ "isOptional" : "0",
91
+ "dataType" : "Float32",
92
+ "formattedType" : "MultiArray (Float32 1 ร— 1)",
93
+ "shortDescription" : "",
94
+ "shape" : "[1, 1]",
95
+ "name" : "ngram_count",
96
+ "type" : "MultiArray"
97
+ },
98
+ {
99
+ "hasShapeFlexibility" : "0",
100
+ "isOptional" : "0",
101
+ "dataType" : "Int32",
102
+ "formattedType" : "MultiArray (Int32 1 ร— 64)",
103
+ "shortDescription" : "",
104
+ "shape" : "[1, 64]",
105
+ "name" : "sem_ids",
106
+ "type" : "MultiArray"
107
+ },
108
+ {
109
+ "hasShapeFlexibility" : "0",
110
+ "isOptional" : "0",
111
+ "dataType" : "Float32",
112
+ "formattedType" : "MultiArray (Float32 1 ร— 64)",
113
+ "shortDescription" : "",
114
+ "shape" : "[1, 64]",
115
+ "name" : "sem_mask",
116
+ "type" : "MultiArray"
117
+ }
118
+ ],
119
+ "userDefinedMetadata" : {
120
+ "com.github.apple.coremltools.conversion_date" : "2026-07-17",
121
+ "com.github.apple.coremltools.source" : "torch==2.8.0",
122
+ "com.github.apple.coremltools.version" : "9.0",
123
+ "com.github.apple.coremltools.source_dialect" : "TorchScript"
124
+ },
125
+ "generatedClassName" : "emo",
126
+ "method" : "predict"
127
+ }
128
+ ]
emo.mlmodelc/model.mil ADDED
@@ -0,0 +1,340 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ program(1.0)
2
+ [buildInfo = dict<tensor<string, []>, tensor<string, []>>({{"coremlc-component-MIL", "3510.2.1"}, {"coremlc-version", "3500.32.1"}})]
3
+ {
4
+ func main<ios16>(tensor<int32, [1, 512, 3]> ngram_buckets, tensor<fp32, [1, 1]> ngram_count, tensor<int32, [1, 512]> ngram_importance, tensor<fp32, [1, 512, 3]> ngram_signs, tensor<int32, [1, 64]> sem_ids, tensor<fp32, [1, 64]> sem_mask) {
5
+ tensor<int32, []> var_21 = const()[name = tensor<string, []>("op_21"), val = tensor<int32, []>(1)];
6
+ tensor<int32, []> var_23 = const()[name = tensor<string, []>("op_23"), val = tensor<int32, []>(-1)];
7
+ tensor<int32, []> var_114_axis_0 = const()[name = tensor<string, []>("op_114_axis_0"), val = tensor<int32, []>(0)];
8
+ tensor<int32, []> var_114_batch_dims_0 = const()[name = tensor<string, []>("op_114_batch_dims_0"), val = tensor<int32, []>(0)];
9
+ tensor<fp16, [16000, 3]> w_importance_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [24000]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(64))), lut = tensor<fp16, [16]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(24128))), name = tensor<string, []>("w_importance_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([16000, 3])];
10
+ tensor<fp16, [1, 512, 3]> var_114_cast_fp16 = gather(axis = var_114_axis_0, batch_dims = var_114_batch_dims_0, indices = ngram_importance, x = w_importance_weight_to_fp16_palettized)[name = tensor<string, []>("op_114_cast_fp16")];
11
+ tensor<string, []> ngram_signs_to_fp16_dtype_0 = const()[name = tensor<string, []>("ngram_signs_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
12
+ tensor<fp16, [1, 512, 3]> ngram_signs_to_fp16 = cast(dtype = ngram_signs_to_fp16_dtype_0, x = ngram_signs)[name = tensor<string, []>("cast_6")];
13
+ tensor<fp16, [1, 512, 3]> fk_cast_fp16 = mul(x = var_114_cast_fp16, y = ngram_signs_to_fp16)[name = tensor<string, []>("fk_cast_fp16")];
14
+ tensor<int32, []> e_axis_0 = const()[name = tensor<string, []>("e_axis_0"), val = tensor<int32, []>(0)];
15
+ tensor<int32, []> e_batch_dims_0 = const()[name = tensor<string, []>("e_batch_dims_0"), val = tensor<int32, []>(0)];
16
+ tensor<fp16, [44000, 48]> w_embed_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [1056000]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(24256))), lut = tensor<fp16, [16]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1080320))), name = tensor<string, []>("w_embed_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([44000, 48])];
17
+ tensor<fp16, [1, 512, 3, 48]> e_cast_fp16 = gather(axis = e_axis_0, batch_dims = e_batch_dims_0, indices = ngram_buckets, x = w_embed_weight_to_fp16_palettized)[name = tensor<string, []>("e_cast_fp16")];
18
+ tensor<int32, [1]> var_118_axes_0 = const()[name = tensor<string, []>("op_118_axes_0"), val = tensor<int32, [1]>([-1])];
19
+ tensor<fp16, [1, 512, 3, 1]> var_118_cast_fp16 = expand_dims(axes = var_118_axes_0, x = fk_cast_fp16)[name = tensor<string, []>("op_118_cast_fp16")];
20
+ tensor<fp16, [1, 512, 3, 48]> var_119_cast_fp16 = mul(x = var_118_cast_fp16, y = e_cast_fp16)[name = tensor<string, []>("op_119_cast_fp16")];
21
+ tensor<int32, [1]> perfeat_axes_0 = const()[name = tensor<string, []>("perfeat_axes_0"), val = tensor<int32, [1]>([2])];
22
+ tensor<bool, []> perfeat_keep_dims_0 = const()[name = tensor<string, []>("perfeat_keep_dims_0"), val = tensor<bool, []>(false)];
23
+ tensor<fp16, [1, 512, 48]> perfeat_cast_fp16 = reduce_sum(axes = perfeat_axes_0, keep_dims = perfeat_keep_dims_0, x = var_119_cast_fp16)[name = tensor<string, []>("perfeat_cast_fp16")];
24
+ tensor<int32, [1]> var_123_axes_0 = const()[name = tensor<string, []>("op_123_axes_0"), val = tensor<int32, [1]>([1])];
25
+ tensor<bool, []> var_123_keep_dims_0 = const()[name = tensor<string, []>("op_123_keep_dims_0"), val = tensor<bool, []>(false)];
26
+ tensor<fp16, [1, 48]> var_123_cast_fp16 = reduce_sum(axes = var_123_axes_0, keep_dims = var_123_keep_dims_0, x = perfeat_cast_fp16)[name = tensor<string, []>("op_123_cast_fp16")];
27
+ tensor<string, []> ngram_count_to_fp16_dtype_0 = const()[name = tensor<string, []>("ngram_count_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
28
+ tensor<fp16, [1, 1]> ngram_count_to_fp16 = cast(dtype = ngram_count_to_fp16_dtype_0, x = ngram_count)[name = tensor<string, []>("cast_5")];
29
+ tensor<fp16, [1, 48]> ng_cast_fp16 = real_div(x = var_123_cast_fp16, y = ngram_count_to_fp16)[name = tensor<string, []>("ng_cast_fp16")];
30
+ tensor<int32, []> x_1_axis_0 = const()[name = tensor<string, []>("x_1_axis_0"), val = tensor<int32, []>(0)];
31
+ tensor<int32, []> x_1_batch_dims_0 = const()[name = tensor<string, []>("x_1_batch_dims_0"), val = tensor<int32, []>(0)];
32
+ tensor<fp16, [48001, 128]> w_sem_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [3072064]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(1080448))), lut = tensor<fp16, [16]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4152576))), name = tensor<string, []>("w_sem_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([48001, 128])];
33
+ tensor<fp16, [1, 64, 128]> x_1_cast_fp16 = gather(axis = x_1_axis_0, batch_dims = x_1_batch_dims_0, indices = sem_ids, x = w_sem_weight_to_fp16_palettized)[name = tensor<string, []>("x_1_cast_fp16")];
34
+ tensor<fp16, []> var_20_to_fp16 = const()[name = tensor<string, []>("op_20_to_fp16"), val = tensor<fp16, []>(0x1p+0)];
35
+ tensor<string, []> sem_mask_to_fp16_dtype_0 = const()[name = tensor<string, []>("sem_mask_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
36
+ tensor<fp16, [1, 64]> sem_mask_to_fp16 = cast(dtype = sem_mask_to_fp16_dtype_0, x = sem_mask)[name = tensor<string, []>("cast_4")];
37
+ tensor<fp16, [1, 64]> var_127_cast_fp16 = sub(x = var_20_to_fp16, y = sem_mask_to_fp16)[name = tensor<string, []>("op_127_cast_fp16")];
38
+ tensor<string, []> var_127_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("op_127_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
39
+ tensor<int32, [1]> var_128_axes_0 = const()[name = tensor<string, []>("op_128_axes_0"), val = tensor<int32, [1]>([1])];
40
+ tensor<fp16, [1, 1, 64]> var_128_cast_fp16 = expand_dims(axes = var_128_axes_0, x = var_127_cast_fp16)[name = tensor<string, []>("op_128_cast_fp16")];
41
+ tensor<string, []> var_128_cast_fp16_to_fp32_dtype_0 = const()[name = tensor<string, []>("op_128_cast_fp16_to_fp32_dtype_0"), val = tensor<string, []>("fp32")];
42
+ tensor<fp32, []> var_129 = const()[name = tensor<string, []>("op_129"), val = tensor<fp32, []>(-0x1.dcd65p+29)];
43
+ tensor<fp32, [1, 1, 64]> var_128_cast_fp16_to_fp32 = cast(dtype = var_128_cast_fp16_to_fp32_dtype_0, x = var_128_cast_fp16)[name = tensor<string, []>("cast_3")];
44
+ tensor<fp32, [1, 1, 64]> key_bias = mul(x = var_128_cast_fp16_to_fp32, y = var_129)[name = tensor<string, []>("key_bias")];
45
+ tensor<fp16, [384, 128]> qkv_1_weight_0_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [49152]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4152704))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4201920))), name = tensor<string, []>("qkv_1_weight_0_to_fp16_palettized"), shape = tensor<uint32, [2]>([384, 128])];
46
+ tensor<fp16, [384]> qkv_1_bias_0_to_fp16 = const()[name = tensor<string, []>("qkv_1_bias_0_to_fp16"), val = tensor<fp16, [384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4202496)))];
47
+ tensor<fp16, [1, 64, 384]> qkv_1_cast_fp16 = linear(bias = qkv_1_bias_0_to_fp16, weight = qkv_1_weight_0_to_fp16_palettized, x = x_1_cast_fp16)[name = tensor<string, []>("qkv_1_cast_fp16")];
48
+ tensor<int32, [3]> q_1_begin_0 = const()[name = tensor<string, []>("q_1_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
49
+ tensor<int32, [3]> q_1_end_0 = const()[name = tensor<string, []>("q_1_end_0"), val = tensor<int32, [3]>([1, 64, 128])];
50
+ tensor<bool, [3]> q_1_end_mask_0 = const()[name = tensor<string, []>("q_1_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
51
+ tensor<fp16, [1, 64, 128]> q_1_cast_fp16 = slice_by_index(begin = q_1_begin_0, end = q_1_end_0, end_mask = q_1_end_mask_0, x = qkv_1_cast_fp16)[name = tensor<string, []>("q_1_cast_fp16")];
52
+ tensor<int32, [3]> k_1_begin_0 = const()[name = tensor<string, []>("k_1_begin_0"), val = tensor<int32, [3]>([0, 0, 128])];
53
+ tensor<int32, [3]> k_1_end_0 = const()[name = tensor<string, []>("k_1_end_0"), val = tensor<int32, [3]>([1, 64, 256])];
54
+ tensor<bool, [3]> k_1_end_mask_0 = const()[name = tensor<string, []>("k_1_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
55
+ tensor<fp16, [1, 64, 128]> k_1_cast_fp16 = slice_by_index(begin = k_1_begin_0, end = k_1_end_0, end_mask = k_1_end_mask_0, x = qkv_1_cast_fp16)[name = tensor<string, []>("k_1_cast_fp16")];
56
+ tensor<int32, [3]> v_1_begin_0 = const()[name = tensor<string, []>("v_1_begin_0"), val = tensor<int32, [3]>([0, 0, 256])];
57
+ tensor<int32, [3]> v_1_end_0 = const()[name = tensor<string, []>("v_1_end_0"), val = tensor<int32, [3]>([1, 64, 384])];
58
+ tensor<bool, [3]> v_1_end_mask_0 = const()[name = tensor<string, []>("v_1_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
59
+ tensor<fp16, [1, 64, 128]> v_1_cast_fp16 = slice_by_index(begin = v_1_begin_0, end = v_1_end_0, end_mask = v_1_end_mask_0, x = qkv_1_cast_fp16)[name = tensor<string, []>("v_1_cast_fp16")];
60
+ tensor<int32, [3]> qh_1_begin_0 = const()[name = tensor<string, []>("qh_1_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
61
+ tensor<int32, [3]> qh_1_end_0 = const()[name = tensor<string, []>("qh_1_end_0"), val = tensor<int32, [3]>([1, 64, 32])];
62
+ tensor<bool, [3]> qh_1_end_mask_0 = const()[name = tensor<string, []>("qh_1_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
63
+ tensor<fp16, [1, 64, 32]> qh_1_cast_fp16 = slice_by_index(begin = qh_1_begin_0, end = qh_1_end_0, end_mask = qh_1_end_mask_0, x = q_1_cast_fp16)[name = tensor<string, []>("qh_1_cast_fp16")];
64
+ tensor<int32, [3]> kh_1_begin_0 = const()[name = tensor<string, []>("kh_1_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
65
+ tensor<int32, [3]> kh_1_end_0 = const()[name = tensor<string, []>("kh_1_end_0"), val = tensor<int32, [3]>([1, 64, 32])];
66
+ tensor<bool, [3]> kh_1_end_mask_0 = const()[name = tensor<string, []>("kh_1_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
67
+ tensor<fp16, [1, 64, 32]> kh_1_cast_fp16 = slice_by_index(begin = kh_1_begin_0, end = kh_1_end_0, end_mask = kh_1_end_mask_0, x = k_1_cast_fp16)[name = tensor<string, []>("kh_1_cast_fp16")];
68
+ tensor<int32, [3]> vh_1_begin_0 = const()[name = tensor<string, []>("vh_1_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
69
+ tensor<int32, [3]> vh_1_end_0 = const()[name = tensor<string, []>("vh_1_end_0"), val = tensor<int32, [3]>([1, 64, 32])];
70
+ tensor<bool, [3]> vh_1_end_mask_0 = const()[name = tensor<string, []>("vh_1_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
71
+ tensor<fp16, [1, 64, 32]> vh_1_cast_fp16 = slice_by_index(begin = vh_1_begin_0, end = vh_1_end_0, end_mask = vh_1_end_mask_0, x = v_1_cast_fp16)[name = tensor<string, []>("vh_1_cast_fp16")];
72
+ tensor<bool, []> var_141_transpose_x_1 = const()[name = tensor<string, []>("op_141_transpose_x_1"), val = tensor<bool, []>(false)];
73
+ tensor<bool, []> var_141_transpose_y_1 = const()[name = tensor<string, []>("op_141_transpose_y_1"), val = tensor<bool, []>(true)];
74
+ tensor<fp16, [1, 64, 64]> var_141_cast_fp16 = matmul(transpose_x = var_141_transpose_x_1, transpose_y = var_141_transpose_y_1, x = qh_1_cast_fp16, y = kh_1_cast_fp16)[name = tensor<string, []>("op_141_cast_fp16")];
75
+ tensor<fp16, []> var_142_to_fp16 = const()[name = tensor<string, []>("op_142_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
76
+ tensor<fp16, [1, 64, 64]> var_143_cast_fp16 = mul(x = var_141_cast_fp16, y = var_142_to_fp16)[name = tensor<string, []>("op_143_cast_fp16")];
77
+ tensor<string, []> key_bias_to_fp16_dtype_0 = const()[name = tensor<string, []>("key_bias_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
78
+ tensor<fp16, [1, 1, 64]> key_bias_to_fp16 = cast(dtype = key_bias_to_fp16_dtype_0, x = key_bias)[name = tensor<string, []>("cast_2")];
79
+ tensor<fp16, [1, 64, 64]> sc_1_cast_fp16 = add(x = var_143_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_1_cast_fp16")];
80
+ tensor<fp16, [1, 64, 64]> a_1_cast_fp16 = softmax(axis = var_23, x = sc_1_cast_fp16)[name = tensor<string, []>("a_1_cast_fp16")];
81
+ tensor<bool, []> var_146_transpose_x_0 = const()[name = tensor<string, []>("op_146_transpose_x_0"), val = tensor<bool, []>(false)];
82
+ tensor<bool, []> var_146_transpose_y_0 = const()[name = tensor<string, []>("op_146_transpose_y_0"), val = tensor<bool, []>(false)];
83
+ tensor<fp16, [1, 64, 32]> var_146_cast_fp16 = matmul(transpose_x = var_146_transpose_x_0, transpose_y = var_146_transpose_y_0, x = a_1_cast_fp16, y = vh_1_cast_fp16)[name = tensor<string, []>("op_146_cast_fp16")];
84
+ tensor<int32, [3]> qh_3_begin_0 = const()[name = tensor<string, []>("qh_3_begin_0"), val = tensor<int32, [3]>([0, 0, 32])];
85
+ tensor<int32, [3]> qh_3_end_0 = const()[name = tensor<string, []>("qh_3_end_0"), val = tensor<int32, [3]>([1, 64, 64])];
86
+ tensor<bool, [3]> qh_3_end_mask_0 = const()[name = tensor<string, []>("qh_3_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
87
+ tensor<fp16, [1, 64, 32]> qh_3_cast_fp16 = slice_by_index(begin = qh_3_begin_0, end = qh_3_end_0, end_mask = qh_3_end_mask_0, x = q_1_cast_fp16)[name = tensor<string, []>("qh_3_cast_fp16")];
88
+ tensor<int32, [3]> kh_3_begin_0 = const()[name = tensor<string, []>("kh_3_begin_0"), val = tensor<int32, [3]>([0, 0, 32])];
89
+ tensor<int32, [3]> kh_3_end_0 = const()[name = tensor<string, []>("kh_3_end_0"), val = tensor<int32, [3]>([1, 64, 64])];
90
+ tensor<bool, [3]> kh_3_end_mask_0 = const()[name = tensor<string, []>("kh_3_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
91
+ tensor<fp16, [1, 64, 32]> kh_3_cast_fp16 = slice_by_index(begin = kh_3_begin_0, end = kh_3_end_0, end_mask = kh_3_end_mask_0, x = k_1_cast_fp16)[name = tensor<string, []>("kh_3_cast_fp16")];
92
+ tensor<int32, [3]> vh_3_begin_0 = const()[name = tensor<string, []>("vh_3_begin_0"), val = tensor<int32, [3]>([0, 0, 32])];
93
+ tensor<int32, [3]> vh_3_end_0 = const()[name = tensor<string, []>("vh_3_end_0"), val = tensor<int32, [3]>([1, 64, 64])];
94
+ tensor<bool, [3]> vh_3_end_mask_0 = const()[name = tensor<string, []>("vh_3_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
95
+ tensor<fp16, [1, 64, 32]> vh_3_cast_fp16 = slice_by_index(begin = vh_3_begin_0, end = vh_3_end_0, end_mask = vh_3_end_mask_0, x = v_1_cast_fp16)[name = tensor<string, []>("vh_3_cast_fp16")];
96
+ tensor<bool, []> var_151_transpose_x_1 = const()[name = tensor<string, []>("op_151_transpose_x_1"), val = tensor<bool, []>(false)];
97
+ tensor<bool, []> var_151_transpose_y_1 = const()[name = tensor<string, []>("op_151_transpose_y_1"), val = tensor<bool, []>(true)];
98
+ tensor<fp16, [1, 64, 64]> var_151_cast_fp16 = matmul(transpose_x = var_151_transpose_x_1, transpose_y = var_151_transpose_y_1, x = qh_3_cast_fp16, y = kh_3_cast_fp16)[name = tensor<string, []>("op_151_cast_fp16")];
99
+ tensor<fp16, []> var_152_to_fp16 = const()[name = tensor<string, []>("op_152_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
100
+ tensor<fp16, [1, 64, 64]> var_153_cast_fp16 = mul(x = var_151_cast_fp16, y = var_152_to_fp16)[name = tensor<string, []>("op_153_cast_fp16")];
101
+ tensor<fp16, [1, 64, 64]> sc_3_cast_fp16 = add(x = var_153_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_3_cast_fp16")];
102
+ tensor<fp16, [1, 64, 64]> a_3_cast_fp16 = softmax(axis = var_23, x = sc_3_cast_fp16)[name = tensor<string, []>("a_3_cast_fp16")];
103
+ tensor<bool, []> var_156_transpose_x_0 = const()[name = tensor<string, []>("op_156_transpose_x_0"), val = tensor<bool, []>(false)];
104
+ tensor<bool, []> var_156_transpose_y_0 = const()[name = tensor<string, []>("op_156_transpose_y_0"), val = tensor<bool, []>(false)];
105
+ tensor<fp16, [1, 64, 32]> var_156_cast_fp16 = matmul(transpose_x = var_156_transpose_x_0, transpose_y = var_156_transpose_y_0, x = a_3_cast_fp16, y = vh_3_cast_fp16)[name = tensor<string, []>("op_156_cast_fp16")];
106
+ tensor<int32, [3]> qh_5_begin_0 = const()[name = tensor<string, []>("qh_5_begin_0"), val = tensor<int32, [3]>([0, 0, 64])];
107
+ tensor<int32, [3]> qh_5_end_0 = const()[name = tensor<string, []>("qh_5_end_0"), val = tensor<int32, [3]>([1, 64, 96])];
108
+ tensor<bool, [3]> qh_5_end_mask_0 = const()[name = tensor<string, []>("qh_5_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
109
+ tensor<fp16, [1, 64, 32]> qh_5_cast_fp16 = slice_by_index(begin = qh_5_begin_0, end = qh_5_end_0, end_mask = qh_5_end_mask_0, x = q_1_cast_fp16)[name = tensor<string, []>("qh_5_cast_fp16")];
110
+ tensor<int32, [3]> kh_5_begin_0 = const()[name = tensor<string, []>("kh_5_begin_0"), val = tensor<int32, [3]>([0, 0, 64])];
111
+ tensor<int32, [3]> kh_5_end_0 = const()[name = tensor<string, []>("kh_5_end_0"), val = tensor<int32, [3]>([1, 64, 96])];
112
+ tensor<bool, [3]> kh_5_end_mask_0 = const()[name = tensor<string, []>("kh_5_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
113
+ tensor<fp16, [1, 64, 32]> kh_5_cast_fp16 = slice_by_index(begin = kh_5_begin_0, end = kh_5_end_0, end_mask = kh_5_end_mask_0, x = k_1_cast_fp16)[name = tensor<string, []>("kh_5_cast_fp16")];
114
+ tensor<int32, [3]> vh_5_begin_0 = const()[name = tensor<string, []>("vh_5_begin_0"), val = tensor<int32, [3]>([0, 0, 64])];
115
+ tensor<int32, [3]> vh_5_end_0 = const()[name = tensor<string, []>("vh_5_end_0"), val = tensor<int32, [3]>([1, 64, 96])];
116
+ tensor<bool, [3]> vh_5_end_mask_0 = const()[name = tensor<string, []>("vh_5_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
117
+ tensor<fp16, [1, 64, 32]> vh_5_cast_fp16 = slice_by_index(begin = vh_5_begin_0, end = vh_5_end_0, end_mask = vh_5_end_mask_0, x = v_1_cast_fp16)[name = tensor<string, []>("vh_5_cast_fp16")];
118
+ tensor<bool, []> var_161_transpose_x_1 = const()[name = tensor<string, []>("op_161_transpose_x_1"), val = tensor<bool, []>(false)];
119
+ tensor<bool, []> var_161_transpose_y_1 = const()[name = tensor<string, []>("op_161_transpose_y_1"), val = tensor<bool, []>(true)];
120
+ tensor<fp16, [1, 64, 64]> var_161_cast_fp16 = matmul(transpose_x = var_161_transpose_x_1, transpose_y = var_161_transpose_y_1, x = qh_5_cast_fp16, y = kh_5_cast_fp16)[name = tensor<string, []>("op_161_cast_fp16")];
121
+ tensor<fp16, []> var_162_to_fp16 = const()[name = tensor<string, []>("op_162_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
122
+ tensor<fp16, [1, 64, 64]> var_163_cast_fp16 = mul(x = var_161_cast_fp16, y = var_162_to_fp16)[name = tensor<string, []>("op_163_cast_fp16")];
123
+ tensor<fp16, [1, 64, 64]> sc_5_cast_fp16 = add(x = var_163_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_5_cast_fp16")];
124
+ tensor<fp16, [1, 64, 64]> a_5_cast_fp16 = softmax(axis = var_23, x = sc_5_cast_fp16)[name = tensor<string, []>("a_5_cast_fp16")];
125
+ tensor<bool, []> var_166_transpose_x_0 = const()[name = tensor<string, []>("op_166_transpose_x_0"), val = tensor<bool, []>(false)];
126
+ tensor<bool, []> var_166_transpose_y_0 = const()[name = tensor<string, []>("op_166_transpose_y_0"), val = tensor<bool, []>(false)];
127
+ tensor<fp16, [1, 64, 32]> var_166_cast_fp16 = matmul(transpose_x = var_166_transpose_x_0, transpose_y = var_166_transpose_y_0, x = a_5_cast_fp16, y = vh_5_cast_fp16)[name = tensor<string, []>("op_166_cast_fp16")];
128
+ tensor<int32, [3]> qh_7_begin_0 = const()[name = tensor<string, []>("qh_7_begin_0"), val = tensor<int32, [3]>([0, 0, 96])];
129
+ tensor<int32, [3]> qh_7_end_0 = const()[name = tensor<string, []>("qh_7_end_0"), val = tensor<int32, [3]>([1, 64, 1])];
130
+ tensor<bool, [3]> qh_7_end_mask_0 = const()[name = tensor<string, []>("qh_7_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
131
+ tensor<fp16, [1, 64, 32]> qh_7_cast_fp16 = slice_by_index(begin = qh_7_begin_0, end = qh_7_end_0, end_mask = qh_7_end_mask_0, x = q_1_cast_fp16)[name = tensor<string, []>("qh_7_cast_fp16")];
132
+ tensor<int32, [3]> kh_7_begin_0 = const()[name = tensor<string, []>("kh_7_begin_0"), val = tensor<int32, [3]>([0, 0, 96])];
133
+ tensor<int32, [3]> kh_7_end_0 = const()[name = tensor<string, []>("kh_7_end_0"), val = tensor<int32, [3]>([1, 64, 1])];
134
+ tensor<bool, [3]> kh_7_end_mask_0 = const()[name = tensor<string, []>("kh_7_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
135
+ tensor<fp16, [1, 64, 32]> kh_7_cast_fp16 = slice_by_index(begin = kh_7_begin_0, end = kh_7_end_0, end_mask = kh_7_end_mask_0, x = k_1_cast_fp16)[name = tensor<string, []>("kh_7_cast_fp16")];
136
+ tensor<int32, [3]> vh_7_begin_0 = const()[name = tensor<string, []>("vh_7_begin_0"), val = tensor<int32, [3]>([0, 0, 96])];
137
+ tensor<int32, [3]> vh_7_end_0 = const()[name = tensor<string, []>("vh_7_end_0"), val = tensor<int32, [3]>([1, 64, 1])];
138
+ tensor<bool, [3]> vh_7_end_mask_0 = const()[name = tensor<string, []>("vh_7_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
139
+ tensor<fp16, [1, 64, 32]> vh_7_cast_fp16 = slice_by_index(begin = vh_7_begin_0, end = vh_7_end_0, end_mask = vh_7_end_mask_0, x = v_1_cast_fp16)[name = tensor<string, []>("vh_7_cast_fp16")];
140
+ tensor<bool, []> var_171_transpose_x_1 = const()[name = tensor<string, []>("op_171_transpose_x_1"), val = tensor<bool, []>(false)];
141
+ tensor<bool, []> var_171_transpose_y_1 = const()[name = tensor<string, []>("op_171_transpose_y_1"), val = tensor<bool, []>(true)];
142
+ tensor<fp16, [1, 64, 64]> var_171_cast_fp16 = matmul(transpose_x = var_171_transpose_x_1, transpose_y = var_171_transpose_y_1, x = qh_7_cast_fp16, y = kh_7_cast_fp16)[name = tensor<string, []>("op_171_cast_fp16")];
143
+ tensor<fp16, []> var_172_to_fp16 = const()[name = tensor<string, []>("op_172_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
144
+ tensor<fp16, [1, 64, 64]> var_173_cast_fp16 = mul(x = var_171_cast_fp16, y = var_172_to_fp16)[name = tensor<string, []>("op_173_cast_fp16")];
145
+ tensor<fp16, [1, 64, 64]> sc_7_cast_fp16 = add(x = var_173_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_7_cast_fp16")];
146
+ tensor<fp16, [1, 64, 64]> a_7_cast_fp16 = softmax(axis = var_23, x = sc_7_cast_fp16)[name = tensor<string, []>("a_7_cast_fp16")];
147
+ tensor<bool, []> var_176_transpose_x_0 = const()[name = tensor<string, []>("op_176_transpose_x_0"), val = tensor<bool, []>(false)];
148
+ tensor<bool, []> var_176_transpose_y_0 = const()[name = tensor<string, []>("op_176_transpose_y_0"), val = tensor<bool, []>(false)];
149
+ tensor<fp16, [1, 64, 32]> var_176_cast_fp16 = matmul(transpose_x = var_176_transpose_x_0, transpose_y = var_176_transpose_y_0, x = a_7_cast_fp16, y = vh_7_cast_fp16)[name = tensor<string, []>("op_176_cast_fp16")];
150
+ tensor<bool, []> o_1_interleave_0 = const()[name = tensor<string, []>("o_1_interleave_0"), val = tensor<bool, []>(false)];
151
+ tensor<fp16, [1, 64, 128]> o_1_cast_fp16 = concat(axis = var_23, interleave = o_1_interleave_0, values = (var_146_cast_fp16, var_156_cast_fp16, var_166_cast_fp16, var_176_cast_fp16))[name = tensor<string, []>("o_1_cast_fp16")];
152
+ tensor<fp16, [128, 128]> op_181_weight_0_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [16384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4203328))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4219776))), name = tensor<string, []>("op_181_weight_0_to_fp16_palettized"), shape = tensor<uint32, [2]>([128, 128])];
153
+ tensor<fp16, [128]> var_181_bias_0_to_fp16 = const()[name = tensor<string, []>("op_181_bias_0_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4220352)))];
154
+ tensor<fp16, [1, 64, 128]> var_181_cast_fp16 = linear(bias = var_181_bias_0_to_fp16, weight = op_181_weight_0_to_fp16_palettized, x = o_1_cast_fp16)[name = tensor<string, []>("op_181_cast_fp16")];
155
+ tensor<fp16, [1, 64, 128]> input_7_cast_fp16 = add(x = x_1_cast_fp16, y = var_181_cast_fp16)[name = tensor<string, []>("input_7_cast_fp16")];
156
+ tensor<int32, [1]> input_9_axes_0 = const()[name = tensor<string, []>("input_9_axes_0"), val = tensor<int32, [1]>([-1])];
157
+ tensor<fp16, [128]> w_tr_layers_0_norm1_weight_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_0_norm1_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4220672)))];
158
+ tensor<fp16, [128]> w_tr_layers_0_norm1_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_0_norm1_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4220992)))];
159
+ tensor<fp16, []> var_10_to_fp16 = const()[name = tensor<string, []>("op_10_to_fp16"), val = tensor<fp16, []>(0x1.5p-17)];
160
+ tensor<fp16, [1, 64, 128]> input_9_cast_fp16 = layer_norm(axes = input_9_axes_0, beta = w_tr_layers_0_norm1_bias_to_fp16, epsilon = var_10_to_fp16, gamma = w_tr_layers_0_norm1_weight_to_fp16, x = input_7_cast_fp16)[name = tensor<string, []>("input_9_cast_fp16")];
161
+ tensor<fp16, [256, 128]> w_tr_layers_0_linear1_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [32768]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4221312))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4254144))), name = tensor<string, []>("w_tr_layers_0_linear1_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([256, 128])];
162
+ tensor<fp16, [256]> w_tr_layers_0_linear1_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_0_linear1_bias_to_fp16"), val = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4254720)))];
163
+ tensor<fp16, [1, 64, 256]> linear_0_cast_fp16 = linear(bias = w_tr_layers_0_linear1_bias_to_fp16, weight = w_tr_layers_0_linear1_weight_to_fp16_palettized, x = input_9_cast_fp16)[name = tensor<string, []>("linear_0_cast_fp16")];
164
+ tensor<string, []> input_11_mode_0 = const()[name = tensor<string, []>("input_11_mode_0"), val = tensor<string, []>("EXACT")];
165
+ tensor<fp16, [1, 64, 256]> input_11_cast_fp16 = gelu(mode = input_11_mode_0, x = linear_0_cast_fp16)[name = tensor<string, []>("input_11_cast_fp16")];
166
+ tensor<fp16, [128, 256]> w_tr_layers_0_linear2_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [32768]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4255296))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4288128))), name = tensor<string, []>("w_tr_layers_0_linear2_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([128, 256])];
167
+ tensor<fp16, [128]> w_tr_layers_0_linear2_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_0_linear2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4288704)))];
168
+ tensor<fp16, [1, 64, 128]> linear_1_cast_fp16 = linear(bias = w_tr_layers_0_linear2_bias_to_fp16, weight = w_tr_layers_0_linear2_weight_to_fp16_palettized, x = input_11_cast_fp16)[name = tensor<string, []>("linear_1_cast_fp16")];
169
+ tensor<fp16, [1, 64, 128]> input_13_cast_fp16 = add(x = input_9_cast_fp16, y = linear_1_cast_fp16)[name = tensor<string, []>("input_13_cast_fp16")];
170
+ tensor<int32, [1]> x_axes_0 = const()[name = tensor<string, []>("x_axes_0"), val = tensor<int32, [1]>([-1])];
171
+ tensor<fp16, [128]> w_tr_layers_0_norm2_weight_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_0_norm2_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4289024)))];
172
+ tensor<fp16, [128]> w_tr_layers_0_norm2_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_0_norm2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4289344)))];
173
+ tensor<fp16, [1, 64, 128]> x_cast_fp16 = layer_norm(axes = x_axes_0, beta = w_tr_layers_0_norm2_bias_to_fp16, epsilon = var_10_to_fp16, gamma = w_tr_layers_0_norm2_weight_to_fp16, x = input_13_cast_fp16)[name = tensor<string, []>("x_cast_fp16")];
174
+ tensor<fp16, [384, 128]> qkv_weight_0_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [49152]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4289664))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4338880))), name = tensor<string, []>("qkv_weight_0_to_fp16_palettized"), shape = tensor<uint32, [2]>([384, 128])];
175
+ tensor<fp16, [384]> qkv_bias_0_to_fp16 = const()[name = tensor<string, []>("qkv_bias_0_to_fp16"), val = tensor<fp16, [384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4339456)))];
176
+ tensor<fp16, [1, 64, 384]> qkv_cast_fp16 = linear(bias = qkv_bias_0_to_fp16, weight = qkv_weight_0_to_fp16_palettized, x = x_cast_fp16)[name = tensor<string, []>("qkv_cast_fp16")];
177
+ tensor<int32, [3]> q_3_begin_0 = const()[name = tensor<string, []>("q_3_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
178
+ tensor<int32, [3]> q_3_end_0 = const()[name = tensor<string, []>("q_3_end_0"), val = tensor<int32, [3]>([1, 64, 128])];
179
+ tensor<bool, [3]> q_3_end_mask_0 = const()[name = tensor<string, []>("q_3_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
180
+ tensor<fp16, [1, 64, 128]> q_3_cast_fp16 = slice_by_index(begin = q_3_begin_0, end = q_3_end_0, end_mask = q_3_end_mask_0, x = qkv_cast_fp16)[name = tensor<string, []>("q_3_cast_fp16")];
181
+ tensor<int32, [3]> k_begin_0 = const()[name = tensor<string, []>("k_begin_0"), val = tensor<int32, [3]>([0, 0, 128])];
182
+ tensor<int32, [3]> k_end_0 = const()[name = tensor<string, []>("k_end_0"), val = tensor<int32, [3]>([1, 64, 256])];
183
+ tensor<bool, [3]> k_end_mask_0 = const()[name = tensor<string, []>("k_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
184
+ tensor<fp16, [1, 64, 128]> k_cast_fp16 = slice_by_index(begin = k_begin_0, end = k_end_0, end_mask = k_end_mask_0, x = qkv_cast_fp16)[name = tensor<string, []>("k_cast_fp16")];
185
+ tensor<int32, [3]> v_begin_0 = const()[name = tensor<string, []>("v_begin_0"), val = tensor<int32, [3]>([0, 0, 256])];
186
+ tensor<int32, [3]> v_end_0 = const()[name = tensor<string, []>("v_end_0"), val = tensor<int32, [3]>([1, 64, 384])];
187
+ tensor<bool, [3]> v_end_mask_0 = const()[name = tensor<string, []>("v_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
188
+ tensor<fp16, [1, 64, 128]> v_cast_fp16 = slice_by_index(begin = v_begin_0, end = v_end_0, end_mask = v_end_mask_0, x = qkv_cast_fp16)[name = tensor<string, []>("v_cast_fp16")];
189
+ tensor<int32, [3]> qh_9_begin_0 = const()[name = tensor<string, []>("qh_9_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
190
+ tensor<int32, [3]> qh_9_end_0 = const()[name = tensor<string, []>("qh_9_end_0"), val = tensor<int32, [3]>([1, 64, 32])];
191
+ tensor<bool, [3]> qh_9_end_mask_0 = const()[name = tensor<string, []>("qh_9_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
192
+ tensor<fp16, [1, 64, 32]> qh_9_cast_fp16 = slice_by_index(begin = qh_9_begin_0, end = qh_9_end_0, end_mask = qh_9_end_mask_0, x = q_3_cast_fp16)[name = tensor<string, []>("qh_9_cast_fp16")];
193
+ tensor<int32, [3]> kh_9_begin_0 = const()[name = tensor<string, []>("kh_9_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
194
+ tensor<int32, [3]> kh_9_end_0 = const()[name = tensor<string, []>("kh_9_end_0"), val = tensor<int32, [3]>([1, 64, 32])];
195
+ tensor<bool, [3]> kh_9_end_mask_0 = const()[name = tensor<string, []>("kh_9_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
196
+ tensor<fp16, [1, 64, 32]> kh_9_cast_fp16 = slice_by_index(begin = kh_9_begin_0, end = kh_9_end_0, end_mask = kh_9_end_mask_0, x = k_cast_fp16)[name = tensor<string, []>("kh_9_cast_fp16")];
197
+ tensor<int32, [3]> vh_9_begin_0 = const()[name = tensor<string, []>("vh_9_begin_0"), val = tensor<int32, [3]>([0, 0, 0])];
198
+ tensor<int32, [3]> vh_9_end_0 = const()[name = tensor<string, []>("vh_9_end_0"), val = tensor<int32, [3]>([1, 64, 32])];
199
+ tensor<bool, [3]> vh_9_end_mask_0 = const()[name = tensor<string, []>("vh_9_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
200
+ tensor<fp16, [1, 64, 32]> vh_9_cast_fp16 = slice_by_index(begin = vh_9_begin_0, end = vh_9_end_0, end_mask = vh_9_end_mask_0, x = v_cast_fp16)[name = tensor<string, []>("vh_9_cast_fp16")];
201
+ tensor<bool, []> var_209_transpose_x_1 = const()[name = tensor<string, []>("op_209_transpose_x_1"), val = tensor<bool, []>(false)];
202
+ tensor<bool, []> var_209_transpose_y_1 = const()[name = tensor<string, []>("op_209_transpose_y_1"), val = tensor<bool, []>(true)];
203
+ tensor<fp16, [1, 64, 64]> var_209_cast_fp16 = matmul(transpose_x = var_209_transpose_x_1, transpose_y = var_209_transpose_y_1, x = qh_9_cast_fp16, y = kh_9_cast_fp16)[name = tensor<string, []>("op_209_cast_fp16")];
204
+ tensor<fp16, []> var_210_to_fp16 = const()[name = tensor<string, []>("op_210_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
205
+ tensor<fp16, [1, 64, 64]> var_211_cast_fp16 = mul(x = var_209_cast_fp16, y = var_210_to_fp16)[name = tensor<string, []>("op_211_cast_fp16")];
206
+ tensor<fp16, [1, 64, 64]> sc_9_cast_fp16 = add(x = var_211_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_9_cast_fp16")];
207
+ tensor<fp16, [1, 64, 64]> a_9_cast_fp16 = softmax(axis = var_23, x = sc_9_cast_fp16)[name = tensor<string, []>("a_9_cast_fp16")];
208
+ tensor<bool, []> var_214_transpose_x_0 = const()[name = tensor<string, []>("op_214_transpose_x_0"), val = tensor<bool, []>(false)];
209
+ tensor<bool, []> var_214_transpose_y_0 = const()[name = tensor<string, []>("op_214_transpose_y_0"), val = tensor<bool, []>(false)];
210
+ tensor<fp16, [1, 64, 32]> var_214_cast_fp16 = matmul(transpose_x = var_214_transpose_x_0, transpose_y = var_214_transpose_y_0, x = a_9_cast_fp16, y = vh_9_cast_fp16)[name = tensor<string, []>("op_214_cast_fp16")];
211
+ tensor<int32, [3]> qh_11_begin_0 = const()[name = tensor<string, []>("qh_11_begin_0"), val = tensor<int32, [3]>([0, 0, 32])];
212
+ tensor<int32, [3]> qh_11_end_0 = const()[name = tensor<string, []>("qh_11_end_0"), val = tensor<int32, [3]>([1, 64, 64])];
213
+ tensor<bool, [3]> qh_11_end_mask_0 = const()[name = tensor<string, []>("qh_11_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
214
+ tensor<fp16, [1, 64, 32]> qh_11_cast_fp16 = slice_by_index(begin = qh_11_begin_0, end = qh_11_end_0, end_mask = qh_11_end_mask_0, x = q_3_cast_fp16)[name = tensor<string, []>("qh_11_cast_fp16")];
215
+ tensor<int32, [3]> kh_11_begin_0 = const()[name = tensor<string, []>("kh_11_begin_0"), val = tensor<int32, [3]>([0, 0, 32])];
216
+ tensor<int32, [3]> kh_11_end_0 = const()[name = tensor<string, []>("kh_11_end_0"), val = tensor<int32, [3]>([1, 64, 64])];
217
+ tensor<bool, [3]> kh_11_end_mask_0 = const()[name = tensor<string, []>("kh_11_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
218
+ tensor<fp16, [1, 64, 32]> kh_11_cast_fp16 = slice_by_index(begin = kh_11_begin_0, end = kh_11_end_0, end_mask = kh_11_end_mask_0, x = k_cast_fp16)[name = tensor<string, []>("kh_11_cast_fp16")];
219
+ tensor<int32, [3]> vh_11_begin_0 = const()[name = tensor<string, []>("vh_11_begin_0"), val = tensor<int32, [3]>([0, 0, 32])];
220
+ tensor<int32, [3]> vh_11_end_0 = const()[name = tensor<string, []>("vh_11_end_0"), val = tensor<int32, [3]>([1, 64, 64])];
221
+ tensor<bool, [3]> vh_11_end_mask_0 = const()[name = tensor<string, []>("vh_11_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
222
+ tensor<fp16, [1, 64, 32]> vh_11_cast_fp16 = slice_by_index(begin = vh_11_begin_0, end = vh_11_end_0, end_mask = vh_11_end_mask_0, x = v_cast_fp16)[name = tensor<string, []>("vh_11_cast_fp16")];
223
+ tensor<bool, []> var_219_transpose_x_1 = const()[name = tensor<string, []>("op_219_transpose_x_1"), val = tensor<bool, []>(false)];
224
+ tensor<bool, []> var_219_transpose_y_1 = const()[name = tensor<string, []>("op_219_transpose_y_1"), val = tensor<bool, []>(true)];
225
+ tensor<fp16, [1, 64, 64]> var_219_cast_fp16 = matmul(transpose_x = var_219_transpose_x_1, transpose_y = var_219_transpose_y_1, x = qh_11_cast_fp16, y = kh_11_cast_fp16)[name = tensor<string, []>("op_219_cast_fp16")];
226
+ tensor<fp16, []> var_220_to_fp16 = const()[name = tensor<string, []>("op_220_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
227
+ tensor<fp16, [1, 64, 64]> var_221_cast_fp16 = mul(x = var_219_cast_fp16, y = var_220_to_fp16)[name = tensor<string, []>("op_221_cast_fp16")];
228
+ tensor<fp16, [1, 64, 64]> sc_11_cast_fp16 = add(x = var_221_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_11_cast_fp16")];
229
+ tensor<fp16, [1, 64, 64]> a_11_cast_fp16 = softmax(axis = var_23, x = sc_11_cast_fp16)[name = tensor<string, []>("a_11_cast_fp16")];
230
+ tensor<bool, []> var_224_transpose_x_0 = const()[name = tensor<string, []>("op_224_transpose_x_0"), val = tensor<bool, []>(false)];
231
+ tensor<bool, []> var_224_transpose_y_0 = const()[name = tensor<string, []>("op_224_transpose_y_0"), val = tensor<bool, []>(false)];
232
+ tensor<fp16, [1, 64, 32]> var_224_cast_fp16 = matmul(transpose_x = var_224_transpose_x_0, transpose_y = var_224_transpose_y_0, x = a_11_cast_fp16, y = vh_11_cast_fp16)[name = tensor<string, []>("op_224_cast_fp16")];
233
+ tensor<int32, [3]> qh_13_begin_0 = const()[name = tensor<string, []>("qh_13_begin_0"), val = tensor<int32, [3]>([0, 0, 64])];
234
+ tensor<int32, [3]> qh_13_end_0 = const()[name = tensor<string, []>("qh_13_end_0"), val = tensor<int32, [3]>([1, 64, 96])];
235
+ tensor<bool, [3]> qh_13_end_mask_0 = const()[name = tensor<string, []>("qh_13_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
236
+ tensor<fp16, [1, 64, 32]> qh_13_cast_fp16 = slice_by_index(begin = qh_13_begin_0, end = qh_13_end_0, end_mask = qh_13_end_mask_0, x = q_3_cast_fp16)[name = tensor<string, []>("qh_13_cast_fp16")];
237
+ tensor<int32, [3]> kh_13_begin_0 = const()[name = tensor<string, []>("kh_13_begin_0"), val = tensor<int32, [3]>([0, 0, 64])];
238
+ tensor<int32, [3]> kh_13_end_0 = const()[name = tensor<string, []>("kh_13_end_0"), val = tensor<int32, [3]>([1, 64, 96])];
239
+ tensor<bool, [3]> kh_13_end_mask_0 = const()[name = tensor<string, []>("kh_13_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
240
+ tensor<fp16, [1, 64, 32]> kh_13_cast_fp16 = slice_by_index(begin = kh_13_begin_0, end = kh_13_end_0, end_mask = kh_13_end_mask_0, x = k_cast_fp16)[name = tensor<string, []>("kh_13_cast_fp16")];
241
+ tensor<int32, [3]> vh_13_begin_0 = const()[name = tensor<string, []>("vh_13_begin_0"), val = tensor<int32, [3]>([0, 0, 64])];
242
+ tensor<int32, [3]> vh_13_end_0 = const()[name = tensor<string, []>("vh_13_end_0"), val = tensor<int32, [3]>([1, 64, 96])];
243
+ tensor<bool, [3]> vh_13_end_mask_0 = const()[name = tensor<string, []>("vh_13_end_mask_0"), val = tensor<bool, [3]>([true, true, false])];
244
+ tensor<fp16, [1, 64, 32]> vh_13_cast_fp16 = slice_by_index(begin = vh_13_begin_0, end = vh_13_end_0, end_mask = vh_13_end_mask_0, x = v_cast_fp16)[name = tensor<string, []>("vh_13_cast_fp16")];
245
+ tensor<bool, []> var_229_transpose_x_1 = const()[name = tensor<string, []>("op_229_transpose_x_1"), val = tensor<bool, []>(false)];
246
+ tensor<bool, []> var_229_transpose_y_1 = const()[name = tensor<string, []>("op_229_transpose_y_1"), val = tensor<bool, []>(true)];
247
+ tensor<fp16, [1, 64, 64]> var_229_cast_fp16 = matmul(transpose_x = var_229_transpose_x_1, transpose_y = var_229_transpose_y_1, x = qh_13_cast_fp16, y = kh_13_cast_fp16)[name = tensor<string, []>("op_229_cast_fp16")];
248
+ tensor<fp16, []> var_230_to_fp16 = const()[name = tensor<string, []>("op_230_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
249
+ tensor<fp16, [1, 64, 64]> var_231_cast_fp16 = mul(x = var_229_cast_fp16, y = var_230_to_fp16)[name = tensor<string, []>("op_231_cast_fp16")];
250
+ tensor<fp16, [1, 64, 64]> sc_13_cast_fp16 = add(x = var_231_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_13_cast_fp16")];
251
+ tensor<fp16, [1, 64, 64]> a_13_cast_fp16 = softmax(axis = var_23, x = sc_13_cast_fp16)[name = tensor<string, []>("a_13_cast_fp16")];
252
+ tensor<bool, []> var_234_transpose_x_0 = const()[name = tensor<string, []>("op_234_transpose_x_0"), val = tensor<bool, []>(false)];
253
+ tensor<bool, []> var_234_transpose_y_0 = const()[name = tensor<string, []>("op_234_transpose_y_0"), val = tensor<bool, []>(false)];
254
+ tensor<fp16, [1, 64, 32]> var_234_cast_fp16 = matmul(transpose_x = var_234_transpose_x_0, transpose_y = var_234_transpose_y_0, x = a_13_cast_fp16, y = vh_13_cast_fp16)[name = tensor<string, []>("op_234_cast_fp16")];
255
+ tensor<int32, [3]> qh_begin_0 = const()[name = tensor<string, []>("qh_begin_0"), val = tensor<int32, [3]>([0, 0, 96])];
256
+ tensor<int32, [3]> qh_end_0 = const()[name = tensor<string, []>("qh_end_0"), val = tensor<int32, [3]>([1, 64, 1])];
257
+ tensor<bool, [3]> qh_end_mask_0 = const()[name = tensor<string, []>("qh_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
258
+ tensor<fp16, [1, 64, 32]> qh_cast_fp16 = slice_by_index(begin = qh_begin_0, end = qh_end_0, end_mask = qh_end_mask_0, x = q_3_cast_fp16)[name = tensor<string, []>("qh_cast_fp16")];
259
+ tensor<int32, [3]> kh_begin_0 = const()[name = tensor<string, []>("kh_begin_0"), val = tensor<int32, [3]>([0, 0, 96])];
260
+ tensor<int32, [3]> kh_end_0 = const()[name = tensor<string, []>("kh_end_0"), val = tensor<int32, [3]>([1, 64, 1])];
261
+ tensor<bool, [3]> kh_end_mask_0 = const()[name = tensor<string, []>("kh_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
262
+ tensor<fp16, [1, 64, 32]> kh_cast_fp16 = slice_by_index(begin = kh_begin_0, end = kh_end_0, end_mask = kh_end_mask_0, x = k_cast_fp16)[name = tensor<string, []>("kh_cast_fp16")];
263
+ tensor<int32, [3]> vh_begin_0 = const()[name = tensor<string, []>("vh_begin_0"), val = tensor<int32, [3]>([0, 0, 96])];
264
+ tensor<int32, [3]> vh_end_0 = const()[name = tensor<string, []>("vh_end_0"), val = tensor<int32, [3]>([1, 64, 1])];
265
+ tensor<bool, [3]> vh_end_mask_0 = const()[name = tensor<string, []>("vh_end_mask_0"), val = tensor<bool, [3]>([true, true, true])];
266
+ tensor<fp16, [1, 64, 32]> vh_cast_fp16 = slice_by_index(begin = vh_begin_0, end = vh_end_0, end_mask = vh_end_mask_0, x = v_cast_fp16)[name = tensor<string, []>("vh_cast_fp16")];
267
+ tensor<bool, []> var_239_transpose_x_1 = const()[name = tensor<string, []>("op_239_transpose_x_1"), val = tensor<bool, []>(false)];
268
+ tensor<bool, []> var_239_transpose_y_1 = const()[name = tensor<string, []>("op_239_transpose_y_1"), val = tensor<bool, []>(true)];
269
+ tensor<fp16, [1, 64, 64]> var_239_cast_fp16 = matmul(transpose_x = var_239_transpose_x_1, transpose_y = var_239_transpose_y_1, x = qh_cast_fp16, y = kh_cast_fp16)[name = tensor<string, []>("op_239_cast_fp16")];
270
+ tensor<fp16, []> var_240_to_fp16 = const()[name = tensor<string, []>("op_240_to_fp16"), val = tensor<fp16, []>(0x1.6ap-3)];
271
+ tensor<fp16, [1, 64, 64]> var_241_cast_fp16 = mul(x = var_239_cast_fp16, y = var_240_to_fp16)[name = tensor<string, []>("op_241_cast_fp16")];
272
+ tensor<fp16, [1, 64, 64]> sc_15_cast_fp16 = add(x = var_241_cast_fp16, y = key_bias_to_fp16)[name = tensor<string, []>("sc_15_cast_fp16")];
273
+ tensor<fp16, [1, 64, 64]> a_15_cast_fp16 = softmax(axis = var_23, x = sc_15_cast_fp16)[name = tensor<string, []>("a_15_cast_fp16")];
274
+ tensor<bool, []> var_244_transpose_x_0 = const()[name = tensor<string, []>("op_244_transpose_x_0"), val = tensor<bool, []>(false)];
275
+ tensor<bool, []> var_244_transpose_y_0 = const()[name = tensor<string, []>("op_244_transpose_y_0"), val = tensor<bool, []>(false)];
276
+ tensor<fp16, [1, 64, 32]> var_244_cast_fp16 = matmul(transpose_x = var_244_transpose_x_0, transpose_y = var_244_transpose_y_0, x = a_15_cast_fp16, y = vh_cast_fp16)[name = tensor<string, []>("op_244_cast_fp16")];
277
+ tensor<bool, []> o_interleave_0 = const()[name = tensor<string, []>("o_interleave_0"), val = tensor<bool, []>(false)];
278
+ tensor<fp16, [1, 64, 128]> o_cast_fp16 = concat(axis = var_23, interleave = o_interleave_0, values = (var_214_cast_fp16, var_224_cast_fp16, var_234_cast_fp16, var_244_cast_fp16))[name = tensor<string, []>("o_cast_fp16")];
279
+ tensor<fp16, [128, 128]> op_249_weight_0_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [16384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4340288))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4356736))), name = tensor<string, []>("op_249_weight_0_to_fp16_palettized"), shape = tensor<uint32, [2]>([128, 128])];
280
+ tensor<fp16, [128]> var_249_bias_0_to_fp16 = const()[name = tensor<string, []>("op_249_bias_0_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4357312)))];
281
+ tensor<fp16, [1, 64, 128]> var_249_cast_fp16 = linear(bias = var_249_bias_0_to_fp16, weight = op_249_weight_0_to_fp16_palettized, x = o_cast_fp16)[name = tensor<string, []>("op_249_cast_fp16")];
282
+ tensor<fp16, [1, 64, 128]> input_15_cast_fp16 = add(x = x_cast_fp16, y = var_249_cast_fp16)[name = tensor<string, []>("input_15_cast_fp16")];
283
+ tensor<int32, [1]> input_17_axes_0 = const()[name = tensor<string, []>("input_17_axes_0"), val = tensor<int32, [1]>([-1])];
284
+ tensor<fp16, [128]> w_tr_layers_1_norm1_weight_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_1_norm1_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4357632)))];
285
+ tensor<fp16, [128]> w_tr_layers_1_norm1_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_1_norm1_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4357952)))];
286
+ tensor<fp16, [1, 64, 128]> input_17_cast_fp16 = layer_norm(axes = input_17_axes_0, beta = w_tr_layers_1_norm1_bias_to_fp16, epsilon = var_10_to_fp16, gamma = w_tr_layers_1_norm1_weight_to_fp16, x = input_15_cast_fp16)[name = tensor<string, []>("input_17_cast_fp16")];
287
+ tensor<fp16, [256, 128]> w_tr_layers_1_linear1_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [32768]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4358272))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4391104))), name = tensor<string, []>("w_tr_layers_1_linear1_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([256, 128])];
288
+ tensor<fp16, [256]> w_tr_layers_1_linear1_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_1_linear1_bias_to_fp16"), val = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4391680)))];
289
+ tensor<fp16, [1, 64, 256]> linear_2_cast_fp16 = linear(bias = w_tr_layers_1_linear1_bias_to_fp16, weight = w_tr_layers_1_linear1_weight_to_fp16_palettized, x = input_17_cast_fp16)[name = tensor<string, []>("linear_2_cast_fp16")];
290
+ tensor<string, []> input_19_mode_0 = const()[name = tensor<string, []>("input_19_mode_0"), val = tensor<string, []>("EXACT")];
291
+ tensor<fp16, [1, 64, 256]> input_19_cast_fp16 = gelu(mode = input_19_mode_0, x = linear_2_cast_fp16)[name = tensor<string, []>("input_19_cast_fp16")];
292
+ tensor<fp16, [128, 256]> w_tr_layers_1_linear2_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [32768]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4392256))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4425088))), name = tensor<string, []>("w_tr_layers_1_linear2_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([128, 256])];
293
+ tensor<fp16, [128]> w_tr_layers_1_linear2_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_1_linear2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4425664)))];
294
+ tensor<fp16, [1, 64, 128]> linear_3_cast_fp16 = linear(bias = w_tr_layers_1_linear2_bias_to_fp16, weight = w_tr_layers_1_linear2_weight_to_fp16_palettized, x = input_19_cast_fp16)[name = tensor<string, []>("linear_3_cast_fp16")];
295
+ tensor<fp16, [1, 64, 128]> input_21_cast_fp16 = add(x = input_17_cast_fp16, y = linear_3_cast_fp16)[name = tensor<string, []>("input_21_cast_fp16")];
296
+ tensor<int32, [1]> S_axes_0 = const()[name = tensor<string, []>("S_axes_0"), val = tensor<int32, [1]>([-1])];
297
+ tensor<fp16, [128]> w_tr_layers_1_norm2_weight_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_1_norm2_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4425984)))];
298
+ tensor<fp16, [128]> w_tr_layers_1_norm2_bias_to_fp16 = const()[name = tensor<string, []>("w_tr_layers_1_norm2_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4426304)))];
299
+ tensor<fp16, [1, 64, 128]> S_cast_fp16 = layer_norm(axes = S_axes_0, beta = w_tr_layers_1_norm2_bias_to_fp16, epsilon = var_10_to_fp16, gamma = w_tr_layers_1_norm2_weight_to_fp16, x = input_21_cast_fp16)[name = tensor<string, []>("S_cast_fp16")];
300
+ tensor<fp16, [1, 64, 128]> input_23_cast_fp16 = tanh(x = S_cast_fp16)[name = tensor<string, []>("input_23_cast_fp16")];
301
+ tensor<fp16, [128, 128]> w_aproj_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [16384]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4426624))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4443072))), name = tensor<string, []>("w_aproj_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([128, 128])];
302
+ tensor<fp16, [128]> w_aproj_bias_to_fp16 = const()[name = tensor<string, []>("w_aproj_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4443648)))];
303
+ tensor<fp16, [1, 64, 128]> linear_4_cast_fp16 = linear(bias = w_aproj_bias_to_fp16, weight = w_aproj_weight_to_fp16_palettized, x = input_23_cast_fp16)[name = tensor<string, []>("linear_4_cast_fp16")];
304
+ tensor<fp16, [128]> w_q_to_fp16 = const()[name = tensor<string, []>("w_q_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4443968)))];
305
+ tensor<fp16, [1, 64, 128]> var_271_cast_fp16 = mul(x = linear_4_cast_fp16, y = w_q_to_fp16)[name = tensor<string, []>("op_271_cast_fp16")];
306
+ tensor<int32, [1]> var_273_axes_0 = const()[name = tensor<string, []>("op_273_axes_0"), val = tensor<int32, [1]>([-1])];
307
+ tensor<bool, []> var_273_keep_dims_0 = const()[name = tensor<string, []>("op_273_keep_dims_0"), val = tensor<bool, []>(false)];
308
+ tensor<fp16, [1, 64]> var_273_cast_fp16 = reduce_sum(axes = var_273_axes_0, keep_dims = var_273_keep_dims_0, x = var_271_cast_fp16)[name = tensor<string, []>("op_273_cast_fp16")];
309
+ tensor<fp16, []> _inversed_sc_17_y_0_to_fp16 = const()[name = tensor<string, []>("_inversed_sc_17_y_0_to_fp16"), val = tensor<fp16, []>(0x1.6ap-4)];
310
+ tensor<fp16, [1, 64]> _inversed_sc_17_cast_fp16 = mul(x = var_273_cast_fp16, y = _inversed_sc_17_y_0_to_fp16)[name = tensor<string, []>("_inversed_sc_17_cast_fp16")];
311
+ tensor<fp32, []> var_277 = const()[name = tensor<string, []>("op_277"), val = tensor<fp32, []>(-0x1.dcd65p+29)];
312
+ tensor<fp32, [1, 64]> var_127_cast_fp16_to_fp32 = cast(dtype = var_127_cast_fp16_to_fp32_dtype_0, x = var_127_cast_fp16)[name = tensor<string, []>("cast_1")];
313
+ tensor<fp32, [1, 64]> var_278 = mul(x = var_127_cast_fp16_to_fp32, y = var_277)[name = tensor<string, []>("op_278")];
314
+ tensor<string, []> var_278_to_fp16_dtype_0 = const()[name = tensor<string, []>("op_278_to_fp16_dtype_0"), val = tensor<string, []>("fp16")];
315
+ tensor<fp16, [1, 64]> var_278_to_fp16 = cast(dtype = var_278_to_fp16_dtype_0, x = var_278)[name = tensor<string, []>("cast_0")];
316
+ tensor<fp16, [1, 64]> sc_cast_fp16 = add(x = _inversed_sc_17_cast_fp16, y = var_278_to_fp16)[name = tensor<string, []>("sc_cast_fp16")];
317
+ tensor<fp16, [1, 64]> var_280_cast_fp16 = softmax(axis = var_21, x = sc_cast_fp16)[name = tensor<string, []>("op_280_cast_fp16")];
318
+ tensor<int32, [1]> a_axes_0 = const()[name = tensor<string, []>("a_axes_0"), val = tensor<int32, [1]>([-1])];
319
+ tensor<fp16, [1, 64, 1]> a_cast_fp16 = expand_dims(axes = a_axes_0, x = var_280_cast_fp16)[name = tensor<string, []>("a_cast_fp16")];
320
+ tensor<fp16, [1, 64, 128]> var_282_cast_fp16 = mul(x = a_cast_fp16, y = S_cast_fp16)[name = tensor<string, []>("op_282_cast_fp16")];
321
+ tensor<int32, [1]> input_25_axes_0 = const()[name = tensor<string, []>("input_25_axes_0"), val = tensor<int32, [1]>([1])];
322
+ tensor<bool, []> input_25_keep_dims_0 = const()[name = tensor<string, []>("input_25_keep_dims_0"), val = tensor<bool, []>(false)];
323
+ tensor<fp16, [1, 128]> input_25_cast_fp16 = reduce_sum(axes = input_25_axes_0, keep_dims = input_25_keep_dims_0, x = var_282_cast_fp16)[name = tensor<string, []>("input_25_cast_fp16")];
324
+ tensor<int32, [1]> semv_axes_0 = const()[name = tensor<string, []>("semv_axes_0"), val = tensor<int32, [1]>([-1])];
325
+ tensor<fp16, [128]> w_norm_weight_to_fp16 = const()[name = tensor<string, []>("w_norm_weight_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4444288)))];
326
+ tensor<fp16, [128]> w_norm_bias_to_fp16 = const()[name = tensor<string, []>("w_norm_bias_to_fp16"), val = tensor<fp16, [128]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4444608)))];
327
+ tensor<fp16, [1, 128]> semv_cast_fp16 = layer_norm(axes = semv_axes_0, beta = w_norm_bias_to_fp16, epsilon = var_10_to_fp16, gamma = w_norm_weight_to_fp16, x = input_25_cast_fp16)[name = tensor<string, []>("semv_cast_fp16")];
328
+ tensor<bool, []> input_27_interleave_0 = const()[name = tensor<string, []>("input_27_interleave_0"), val = tensor<bool, []>(false)];
329
+ tensor<fp16, [1, 176]> input_27_cast_fp16 = concat(axis = var_21, interleave = input_27_interleave_0, values = (ng_cast_fp16, semv_cast_fp16))[name = tensor<string, []>("input_27_cast_fp16")];
330
+ tensor<fp16, [256, 176]> w_head_0_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [45056]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4444928))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4490048))), name = tensor<string, []>("w_head_0_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([256, 176])];
331
+ tensor<fp16, [256]> w_head_0_bias_to_fp16 = const()[name = tensor<string, []>("w_head_0_bias_to_fp16"), val = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4490624)))];
332
+ tensor<fp16, [1, 256]> linear_5_cast_fp16 = linear(bias = w_head_0_bias_to_fp16, weight = w_head_0_weight_to_fp16_palettized, x = input_27_cast_fp16)[name = tensor<string, []>("linear_5_cast_fp16")];
333
+ tensor<string, []> input_31_mode_0 = const()[name = tensor<string, []>("input_31_mode_0"), val = tensor<string, []>("EXACT")];
334
+ tensor<fp16, [1, 256]> input_31_cast_fp16 = gelu(mode = input_31_mode_0, x = linear_5_cast_fp16)[name = tensor<string, []>("input_31_cast_fp16")];
335
+ tensor<fp16, [812, 256]> w_head_3_weight_to_fp16_palettized = constexpr_lut_to_dense()[indices = tensor<uint8, [207872]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4491200))), lut = tensor<fp16, [256]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4699136))), name = tensor<string, []>("w_head_3_weight_to_fp16_palettized"), shape = tensor<uint32, [2]>([812, 256])];
336
+ tensor<fp16, [812]> w_head_3_bias_to_fp16 = const()[name = tensor<string, []>("w_head_3_bias_to_fp16"), val = tensor<fp16, [812]>(BLOBFILE(path = tensor<string, []>("@model_path/weights/weight.bin"), offset = tensor<uint64, []>(4699712)))];
337
+ tensor<fp16, [1, 812]> linear_6_cast_fp16 = linear(bias = w_head_3_bias_to_fp16, weight = w_head_3_weight_to_fp16_palettized, x = input_31_cast_fp16)[name = tensor<string, []>("linear_6_cast_fp16")];
338
+ tensor<fp16, [1, 812]> probabilities = softmax(axis = var_21, x = linear_6_cast_fp16)[name = tensor<string, []>("op_301_cast_fp16")];
339
+ } -> (probabilities);
340
+ }
emo.mlmodelc/weights/weight.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eae49cf80a4cb1187ffedf04ebd9bf4b49aa9b99ae2a36a25b1927689c74fa80
3
+ size 4701400
emo.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2c382e8da94bab64172c0694b0350abb96829bf89eb623008ed0085128621de2
3
+ size 10222736
emo_meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"labels":["โ†ฉ๏ธ","โŒš","โŒจ๏ธ","โฐ","โฑ๏ธ","โฒ๏ธ","โณ","โธ๏ธ","โ˜€๏ธ","โ˜‚๏ธ","โ˜Ž๏ธ","โ˜”","โ˜•","โ™Œ","โ™Ÿ๏ธ","โ™ป๏ธ","โš“","โš–๏ธ","โš™๏ธ","โš ๏ธ","โšก","โšฐ๏ธ","โšฝ","โšพ","โ›ˆ๏ธ","โ›ช","โ›ฐ๏ธ","โ›ณ","โ›ต","โ›ธ๏ธ","โ›บ","โ›ฝ","โœ‚๏ธ","โœ…","โœˆ๏ธ","โœ‰๏ธ","โœ๏ธ","โœ๏ธ","โœ๏ธ","โœจ","โ„๏ธ","โŒ","โ“","โค๏ธ","โž•","โญ","๐Ÿ…ฟ๏ธ","๐Ÿ†”","๐Ÿ†•","๐Ÿ†˜","๐Ÿ‡บ๐Ÿ‡ธ","๐ŸŒ€","๐ŸŒƒ","๐ŸŒ…","๐ŸŒˆ","๐ŸŒŠ","๐ŸŒŒ","๐ŸŒ","๐ŸŒ","๐ŸŒ•","๐ŸŒ™","๐ŸŒ ","๐ŸŒก๏ธ","๐ŸŒง๏ธ","๐ŸŒช๏ธ","๐ŸŒฌ๏ธ","๐ŸŒฎ","๐ŸŒฏ","๐ŸŒฐ","๐ŸŒฑ","๐ŸŒณ","๐ŸŒต","๐ŸŒถ๏ธ","๐ŸŒท","๐ŸŒธ","๐ŸŒน","๐ŸŒป","๐ŸŒผ","๐ŸŒฝ","๐ŸŒพ","๐ŸŒฟ","๐Ÿ€","๐Ÿ‚","๐Ÿƒ","๐Ÿ„","๐Ÿ…","๐Ÿ‡","๐Ÿ‰","๐ŸŠ","๐ŸŒ","๐ŸŽ","๐Ÿ“","๐Ÿ”","๐Ÿ•","๐Ÿ–","๐Ÿ—","๐Ÿš","๐Ÿ›","๐Ÿœ","๐Ÿ","๐Ÿž","๐Ÿฃ","๐Ÿค","๐Ÿฆ","๐Ÿฉ","๐Ÿช","๐Ÿซ","๐Ÿฌ","๐Ÿฏ","๐Ÿฐ","๐Ÿฑ","๐Ÿฒ","๐Ÿณ","๐Ÿต","๐Ÿถ","๐Ÿท","๐Ÿผ","๐Ÿฝ๏ธ","๐Ÿพ","๐Ÿฟ","๐ŸŽ€","๐ŸŽ","๐ŸŽ‚","๐ŸŽƒ","๐ŸŽ„","๐ŸŽ†","๐ŸŽˆ","๐ŸŽ‰","๐ŸŽŠ","๐ŸŽ’","๐ŸŽ“","๐ŸŽ™๏ธ","๐ŸŽž๏ธ","๐ŸŽŸ๏ธ","๐ŸŽฃ","๐ŸŽค","๐ŸŽฅ","๐ŸŽง","๐ŸŽจ","๐ŸŽฉ","๐ŸŽช","๐ŸŽฌ","๐ŸŽญ","๐ŸŽฎ","๐ŸŽฏ","๐ŸŽฒ","๐ŸŽณ","๐ŸŽต","๐ŸŽท","๐ŸŽธ","๐ŸŽบ","๐ŸŽพ","๐ŸŽฟ","๐Ÿ€","๐Ÿ","๐Ÿƒ","๐Ÿ†","๐Ÿˆ","๐ŸŠ","๐Ÿ‹๏ธ","๐ŸŒ๏ธ","๐Ÿ","๐Ÿ’","๐Ÿ“","๐Ÿ•๏ธ","๐Ÿ–๏ธ","๐Ÿ˜๏ธ","๐Ÿ™๏ธ","๐Ÿ›๏ธ","๐Ÿœ๏ธ","๐Ÿž๏ธ","๐Ÿ ","๐Ÿข","๐Ÿฅ","๐Ÿฆ","๐Ÿง","๐Ÿจ","๐Ÿช","๐Ÿซ","๐Ÿท๏ธ","๐Ÿบ","๐Ÿ‡","๐Ÿˆ","๐ŸŒ","๐Ÿ","๐Ÿ”","๐Ÿ•","๐Ÿ˜","๐Ÿ™","๐Ÿ›","๐Ÿœ","๐Ÿ","๐Ÿž","๐Ÿ ","๐Ÿข","๐Ÿฆ","๐Ÿง","๐Ÿฉ","๐Ÿฌ","๐Ÿญ","๐Ÿณ","๐Ÿท","๐Ÿธ","๐Ÿป","๐Ÿผ","๐Ÿพ","๐Ÿ‘€","๐Ÿ‘๏ธ","๐Ÿ‘‚","๐Ÿ‘‹","๐Ÿ‘“","๐Ÿ‘”","๐Ÿ‘•","๐Ÿ‘—","๐Ÿ‘œ","๐Ÿ‘Ÿ","๐Ÿ‘ข","๐Ÿ‘ฃ","๐Ÿ‘ฅ","๐Ÿ‘ซ","๐Ÿ‘ฐ","๐Ÿ‘ถ","๐Ÿ‘ป","๐Ÿ‘ฝ","๐Ÿ’€","๐Ÿ’ƒ","๐Ÿ’„","๐Ÿ’…","๐Ÿ’†","๐Ÿ’‡","๐Ÿ’ˆ","๐Ÿ’‰","๐Ÿ’Š","๐Ÿ’Œ","๐Ÿ’","๐Ÿ’Ž","๐Ÿ’","๐Ÿ’‘","๐Ÿ’’","๐Ÿ’ก","๐Ÿ’ฆ","๐Ÿ’ง","๐Ÿ’จ","๐Ÿ’ช","๐Ÿ’ฌ","๐Ÿ’ญ","๐Ÿ’ฐ","๐Ÿ’ณ","๐Ÿ’ป","๐Ÿ’ผ","๐Ÿ’พ","๐Ÿ’ฟ","๐Ÿ“€","๐Ÿ“","๐Ÿ“„","๐Ÿ“…","๐Ÿ“‡","๐Ÿ“ˆ","๐Ÿ“‰","๐Ÿ“Š","๐Ÿ“‹","๐Ÿ“Œ","๐Ÿ“","๐Ÿ“Ž","๐Ÿ“","๐Ÿ“","๐Ÿ“‘","๐Ÿ“’","๐Ÿ““","๐Ÿ“”","๐Ÿ“š","๐Ÿ“œ","๐Ÿ“","๐Ÿ“ž","๐Ÿ“ก","๐Ÿ“ข","๐Ÿ“ฆ","๐Ÿ“ฌ","๐Ÿ“ฎ","๐Ÿ“ฐ","๐Ÿ“ฑ","๐Ÿ“ถ","๐Ÿ“ท","๐Ÿ“ธ","๐Ÿ“น","๐Ÿ“บ","๐Ÿ“ป","๐Ÿ“ฟ","๐Ÿ”","๐Ÿ”„","๐Ÿ”Š","๐Ÿ”‹","๐Ÿ”Œ","๐Ÿ”","๐Ÿ”‘","๐Ÿ”’","๐Ÿ””","๐Ÿ”—","๐Ÿ”ข","๐Ÿ”ฅ","๐Ÿ”ฆ","๐Ÿ”ง","๐Ÿ”จ","๐Ÿ”ฉ","๐Ÿ”ช","๐Ÿ”ฌ","๐Ÿ”ญ","๐Ÿ”ฎ","๐Ÿ•Š๏ธ","๐Ÿ•Œ","๐Ÿ•","๐Ÿ•’","๐Ÿ•ฏ๏ธ","๐Ÿ•ท๏ธ","๐Ÿ•ธ๏ธ","๐Ÿ–‹๏ธ","๐Ÿ–Œ๏ธ","๐Ÿ–ฅ๏ธ","๐Ÿ–จ๏ธ","๐Ÿ–ฑ๏ธ","๐Ÿ—‚๏ธ","๐Ÿ—ƒ๏ธ","๐Ÿ—„๏ธ","๐Ÿ—‘๏ธ","๐Ÿ—๏ธ","๐Ÿ—ฃ๏ธ","๐Ÿ—บ๏ธ","๐Ÿ—ฝ","๐Ÿ˜Š","๐Ÿ˜‹","๐Ÿ˜Œ","๐Ÿ˜”","๐Ÿ˜ ","๐Ÿ˜ข","๐Ÿ˜ค","๐Ÿ˜ซ","๐Ÿ˜ฑ","๐Ÿ˜ด","๐Ÿ˜ท","๐Ÿ™","๐Ÿš€","๐Ÿš‚","๐Ÿš„","๐Ÿš†","๐Ÿš‡","๐Ÿš‰","๐ŸšŒ","๐Ÿš","๐Ÿš•","๐Ÿš—","๐Ÿšš","๐Ÿšœ","๐Ÿšข","๐Ÿšฃ","๐Ÿšค","๐Ÿšฆ","๐Ÿšจ","๐Ÿšช","๐Ÿšซ","๐Ÿšฐ","๐Ÿšฒ","๐Ÿšถ","๐Ÿšฝ","๐Ÿšฟ","๐Ÿ›€","๐Ÿ›","๐Ÿ›‚","๐Ÿ›‹๏ธ","๐Ÿ›๏ธ","๐Ÿ›๏ธ","๐Ÿ›’","๐Ÿ›—","๐Ÿ› ๏ธ","๐Ÿ›ก๏ธ","๐Ÿ›ฃ๏ธ","๐Ÿ›ซ","๐Ÿ›ถ","๐Ÿ›ธ","๐Ÿค’","๐Ÿค”","๐Ÿค•","๐Ÿค–","๐Ÿค","๐Ÿคง","๐Ÿคซ","๐Ÿฅ","๐Ÿฅ‚","๐ŸฅŠ","๐Ÿฅ‹","๐Ÿฅ","๐Ÿฅ‘","๐Ÿฅ’","๐Ÿฅ“","๐Ÿฅ”","๐Ÿฅ•","๐Ÿฅ–","๐Ÿฅ—","๐Ÿฅ˜","๐Ÿฅš","๐Ÿฅ›","๐Ÿฅž","๐Ÿฅก","๐Ÿฅข","๐Ÿฅฃ","๐Ÿฅค","๐Ÿฅฆ","๐Ÿฅง","๐Ÿฅฉ","๐Ÿฅช","๐Ÿฅซ","๐Ÿฅฌ","๐Ÿฅญ","๐Ÿฅถ","๐Ÿฅพ","๐Ÿฆ","๐Ÿฆƒ","๐Ÿฆ„","๐Ÿฆ…","๐Ÿฆˆ","๐Ÿฆ‰","๐ŸฆŠ","๐Ÿฆ‹","๐ŸฆŒ","๐ŸฆŽ","๐Ÿฆ","๐Ÿฆ’","๐Ÿฆœ","๐Ÿฆž","๐Ÿฆ ","๐Ÿฆต","๐Ÿฆถ","๐Ÿฆท","๐Ÿง€","๐Ÿง","๐Ÿง‚","๐Ÿงƒ","๐Ÿง…","๐Ÿงˆ","๐ŸงŠ","๐Ÿง‘","๐Ÿง‘โ€โš•๏ธ","๐Ÿง‘โ€๐Ÿณ","๐Ÿง‘โ€๐Ÿซ","๐Ÿง‘โ€๐Ÿ’ป","๐Ÿง‘โ€๐Ÿ’ผ","๐Ÿง‘โ€๐Ÿ”ง","๐Ÿง‘โ€๐Ÿง‘โ€๐Ÿง’โ€๐Ÿง’","๐Ÿง‘โ€๐Ÿง’","๐Ÿง’","๐Ÿง“","๐Ÿง–","๐Ÿง—","๐Ÿง˜","๐Ÿง™","๐Ÿง ","๐Ÿงข","๐Ÿงฃ","๐Ÿงค","๐Ÿงฅ","๐Ÿงฆ","๐Ÿงฉ","๐Ÿงช","๐Ÿงฌ","๐Ÿงญ","๐Ÿงฎ","๐Ÿงฏ","๐Ÿงฐ","๐Ÿงฑ","๐Ÿงณ","๐Ÿงด","๐Ÿงต","๐Ÿงถ","๐Ÿงธ","๐Ÿงน","๐Ÿงบ","๐Ÿงป","๐Ÿงผ","๐Ÿงฝ","๐Ÿงพ","๐Ÿฉธ","๐Ÿฉน","๐Ÿฉบ","๐Ÿฉป","๐Ÿช","๐Ÿช„","๐Ÿช","๐Ÿช‘","๐Ÿช’","๐Ÿช“","๐ŸชŸ","๐Ÿชก","๐Ÿชฅ","๐Ÿชช","๐Ÿชด","๐Ÿชต","๐Ÿซ„","๐Ÿซ’","๐Ÿซ–","๐Ÿซ˜","๐Ÿซ™","โ˜ƒ๏ธ","โ˜„๏ธ","โ˜˜๏ธ","โ™จ๏ธ","โš”๏ธ","โš—๏ธ","โšฑ๏ธ","โ›๏ธ","โ›‘๏ธ","โ›“๏ธ","โ›“๏ธโ€๐Ÿ’ฅ","โ›ฉ๏ธ","โ›ฒ","โ›ด๏ธ","โœŒ๏ธ","โœ’๏ธ","๐ŸŒ","๐ŸŒ‡","๐ŸŒ‰","๐ŸŒ‹","๐ŸŒฅ๏ธ","๐ŸŒจ๏ธ","๐ŸŒซ๏ธ","๐ŸŒญ","๐ŸŒด","๐ŸŒบ","๐Ÿ","๐Ÿ„โ€๐ŸŸซ","๐Ÿ†","๐Ÿˆ","๐Ÿ‹","๐Ÿ‹โ€๐ŸŸฉ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ˜","๐Ÿ™","๐ŸŸ","๐Ÿ ","๐Ÿก","๐Ÿข","๐Ÿฅ","๐Ÿง","๐Ÿญ","๐Ÿฎ","๐ŸŽ‡","๐ŸŽ","๐ŸŽ–๏ธ","๐ŸŽ ","๐ŸŽก","๐ŸŽข","๐ŸŽฐ","๐ŸŽฑ","๐ŸŽป","๐ŸŽฝ","๐Ÿ…","๐Ÿ‰","๐Ÿ๏ธ","๐ŸŽ๏ธ","๐Ÿ","๐Ÿ‘","๐Ÿ—๏ธ","๐Ÿ๏ธ","๐ŸŸ๏ธ","๐Ÿค","๐Ÿฉ","๐Ÿฌ","๐Ÿญ","๐Ÿฎ","๐Ÿฐ","๐Ÿธ","๐Ÿน","๐Ÿ€","๐Ÿ‚","๐Ÿƒ","๐Ÿ„","๐Ÿ…","๐Ÿ†","๐ŸŠ","๐ŸŽ","๐Ÿ","๐Ÿ","๐Ÿ‘","๐Ÿ’","๐Ÿ“","๐Ÿ—","๐Ÿš","๐Ÿก","๐Ÿฃ","๐Ÿค","๐Ÿจ","๐Ÿช","๐Ÿฒ","๐Ÿบ","๐Ÿฟ๏ธ","๐Ÿ‘ƒ","๐Ÿ‘„","๐Ÿ‘…","๐Ÿ‘‘","๐Ÿ‘’","๐Ÿ‘–","๐Ÿ‘˜","๐Ÿ‘™","๐Ÿ‘","๐Ÿ‘ ","๐Ÿ‘จโ€โœˆ๏ธ","๐Ÿ’‚","๐Ÿ’‹","๐Ÿ’ฃ","๐Ÿ’ค","๐Ÿ’ฅ","๐Ÿ’ฎ","๐Ÿ’ด","๐Ÿ’ถ","๐Ÿ’ท","๐Ÿ’ฝ","๐Ÿ“•","๐Ÿ“—","๐Ÿ“™","๐Ÿ“Ÿ","๐Ÿ“ ","๐Ÿ“ฃ","๐Ÿ“ผ","๐Ÿ“ฝ๏ธ","๐Ÿ”–","๐Ÿ”ซ","๐Ÿ•‹","๐Ÿ•","๐Ÿ•Ž","๐Ÿ•ฐ๏ธ","๐Ÿ•ณ๏ธ","๐Ÿ•ต๏ธ","๐Ÿ•น๏ธ","๐Ÿ–‡๏ธ","๐Ÿ–Š๏ธ","๐Ÿ–๏ธ","๐Ÿ–ฒ๏ธ","๐Ÿ—’๏ธ","๐Ÿ—œ๏ธ","๐Ÿ—ก๏ธ","๐Ÿ—ณ๏ธ","๐Ÿ—ผ","๐Ÿ—ฟ","๐Ÿš","๐Ÿšƒ","๐Ÿšˆ","๐ŸšŠ","๐ŸšŽ","๐Ÿš","๐Ÿš‘","๐Ÿš’","๐Ÿš“","๐Ÿš™","๐Ÿš›","๐Ÿš","๐Ÿšž","๐ŸšŸ","๐Ÿš ","๐Ÿšก","๐Ÿšง","๐Ÿšฌ","๐Ÿ›Ž๏ธ","๐Ÿ›•","๐Ÿ›–","๐Ÿ›","๐Ÿ›ž","๐Ÿ›Ÿ","๐Ÿ›ข๏ธ","๐Ÿ›ค๏ธ","๐Ÿ›ฅ๏ธ","๐Ÿ›ฐ๏ธ","๐Ÿ›ณ๏ธ","๏ฟฝ๏ฟฝ๏ฟฝ","๐Ÿ›ต","๐Ÿ›ท","๐Ÿ›น","๐Ÿ›บ","๐Ÿ›ผ","๐Ÿคต","๐Ÿคฟ","๐Ÿฅ€","๐Ÿฅ„","๐Ÿฅ…","๐ŸฅŒ","๐Ÿฅ","๐ŸฅŽ","๐Ÿฅ","๐Ÿฅ™","๐Ÿฅœ","๐Ÿฅ","๐ŸฅŸ","๐Ÿฅ ","๐Ÿฅฅ","๐Ÿฅจ","๐Ÿฅฎ","๐Ÿฅฏ","๐Ÿฅท","๐Ÿฅป","๐Ÿฅฝ","๐Ÿฆ€","๐Ÿฆ‚","๐Ÿฆ†","๐Ÿฆ‡","๐Ÿฆ","๐Ÿฆ","๐Ÿฆ‘","๐Ÿฆ“","๐Ÿฆ”","๐Ÿฆ—","๐Ÿฆ˜","๐Ÿฆ™","๐Ÿฆš","๐Ÿฆ›","๐Ÿฆ","๐ŸฆŸ","๐Ÿฆก","๐Ÿฆข","๐Ÿฆฅ","๐Ÿฆฆ","๐Ÿฆง","๐Ÿฆจ","๐Ÿฆฉ","๐Ÿฆช","๐Ÿฆซ","๐Ÿฆฌ","๐Ÿฆญ","๐Ÿฆฏ","๐Ÿฆด","๐Ÿฆบ","๐Ÿฆผ","๐Ÿฆพ","๐Ÿฆฟ","๐Ÿง„","๐Ÿง†","๐Ÿง‡","๐Ÿง‰","๐Ÿง‹","๐Ÿง‘โ€๐ŸŽ“","๐Ÿง‘โ€๐ŸŽค","๐Ÿง‘โ€๐ŸŽจ","๐Ÿง‘โ€๐Ÿญ","๐Ÿง‘โ€๐Ÿ”ฌ","๐Ÿง‘โ€๐Ÿš€","๐Ÿง‘โ€๐Ÿš’","๐Ÿง•","๐Ÿงง","๐Ÿงจ","๐Ÿงซ","๐Ÿงฒ","๐Ÿงท","๐Ÿฉฐ","๐Ÿฉฑ","๐Ÿฉฒ","๐Ÿฉณ","๐Ÿฉด","๐Ÿฉผ","๐Ÿช€","๐Ÿช‚","๐Ÿชƒ","๐Ÿช…","๐Ÿช†","๐Ÿช‡","๐Ÿชˆ","๐Ÿช‰","๐ŸชŠ","๐ŸชŽ","๐Ÿช","๐Ÿช”","๐Ÿช•","๐Ÿช—","๐Ÿช™","๐Ÿชš","๐Ÿช›","๐Ÿชœ","๐Ÿช","๐Ÿชž","๐Ÿช ","๐Ÿชข","๐Ÿชฃ","๐Ÿชค","๐Ÿชฆ","๐Ÿชง","๐Ÿชจ","๐Ÿชฉ","๐Ÿชญ","๐Ÿชฎ","๐Ÿชฐ","๐Ÿชฑ","๐Ÿชณ","๐Ÿชถ","๐Ÿชท","๐Ÿชธ","๐Ÿชน","๐Ÿชป","๐Ÿชผ","๐Ÿชฝ","๐Ÿชฟ","๐Ÿซ€","๐Ÿซ","๐Ÿซ","๐ŸซŽ","๐Ÿซ","๐Ÿซ","๐Ÿซ“","๐Ÿซ”","๐Ÿซ•","๐Ÿซš","๐Ÿซ›","๐Ÿซœ","๐Ÿซฆ","๐Ÿซง"],"n_hashes":3,"n_buckets":44000,"n_importance":16000,"sem_dim":128,"sem_pad_index":48000,"arch":"transformer","n_layers":2,"n_heads":4,"fmax":512,"smax":64}
emo_tokenizer.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f54462a7a2344f15c9430ed4e399c49444f890dd6094c745a0c5391690bf019d
3
+ size 733197