File size: 1,270 Bytes
cfdf562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
license: mit
library_name: transformers.js
pipeline_tag: text2text-generation
language:
  - en
tags:
  - emoji
  - t5
  - onnx
datasets:
  - KomeijiForce/Text2Emoji
---

# text2emoji-tiny

A 2.4M-parameter T5 trained from scratch by [runonweb](https://runonweb.ai/models/emoji) to turn an English
sentence into a short emoji sequence. 3.9 MB as q8 ONNX (encoder 1.7 MB + merged decoder 2.1 MB), in the
Transformers.js layout.

| Config | Params | val loss | emoji-set F1 |
|--------|--------|----------|--------------|
| 3+3 layers, d_model 128, d_ff 512, 4 heads, BPE vocab 8192 | 2.43M | 3.72 | 0.38 |

Data: [KomeijiForce/Text2Emoji](https://huggingface.co/datasets/KomeijiForce/Text2Emoji), ~493k
ChatGPT-generated sentence → emoji pairs after cleaning. The dataset card lists no license; the weights are
MIT. Recipe: `training/text2emoji` in the runonweb repo.

## Use

```ts
import { Emojifier } from 'runonweb/emoji'

const emojifier = new Emojifier()
await emojifier.load()
const { text } = await emojifier.emojify('I love pizza and my dog') // "🍕❤️🐶"
```

Or with Transformers.js directly: `pipeline('text2text-generation', 'midudev/text2emoji-tiny', { dtype: 'q8' })`,
decoding with `no_repeat_ngram_size: 1`; emojis come back space-separated.