Instructions to use desert-ant-labs/emo with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- LiteRT
How to use desert-ant-labs/emo with LiteRT:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
Commit ยท
c763267
0
Parent(s):
Update repository
Browse filesCo-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 +35 -0
- README.md +146 -0
- THIRD_PARTY_NOTICES.md +34 -0
- emo.mlmodelc/analytics/coremldata.bin +3 -0
- emo.mlmodelc/coremldata.bin +3 -0
- emo.mlmodelc/metadata.json +128 -0
- emo.mlmodelc/model.mil +340 -0
- emo.mlmodelc/weights/weight.bin +3 -0
- emo.tflite +3 -0
- emo_meta.json +1 -0
- emo_tokenizer.bin +3 -0
.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
|