Downloads · 30 days
172
46% of all-time downloads
jkkma/fugumt-ja-en-onnx
fugumt-ja-en-onnx is a translation model from jkkma. Use it when you need text moved from one language to another. The card lists the license as cc-by-sa-4.0.
An ONNX export of staka/fugumt-ja-en at revision f7ce11286e1fb7a8e1f1692ff3ab68c0f9c3aecb, in the merged-decoder layout, float32. Produced for Uindosill and published so that the exact bytes its measurements describe…
Downloads · 30 days
172
46% of all-time downloads
All-time downloads
375
Public
Repo size
377 MB
Likes
0
Public
Click a slice to open those files.
.onnx376 MB · 99%
From the Hugging Face model README
An ONNX export of staka/fugumt-ja-en at revision
f7ce11286e1fb7a8e1f1692ff3ab68c0f9c3aecb, in the merged-decoder layout, float32. Produced for
Uindosill and published so that the exact bytes its
measurements describe can be downloaded and checked, rather than only reproduced.
The original is published under the
Creative Commons Attribution-ShareAlike 4.0 International licence.
Exporting a checkpoint to ONNX is adapting it, so under section 3(b) this export is Adapted
Material and is licensed under the same licence, CC BY-SA 4.0, with no additional terms. The
licence is linked here and from LICENSE beside these files rather than copied, which is what
section 3(a)(1)(C) and 3(b)(2) ask for.
f7ce1128 on
2026-09-04 — its file listing and every text file in it — and it carries no copyright
notice, so none is reproduced here rather than one being invented.scripts/export-translation-onnx.py in the Uindosill repository, which splits it into an encoder
graph and a decoder graph with past key values exposed behind a use_cache_branch switch. The
weights are unchanged and unquantised — float32 in, float32 out. What changed is the container
and the graph split. This repository redistributes the exported graphs; it does not redistribute
the original checkpoint.What the source's own card says about itself, retained: "This is a translation model using
Marian-NMT", source language ja, target language en, with the author's repository at
https://github.com/s-taka/fugumt for details. The card reports a sacreBLEU of 39.1 on 500 randomly
selected Tatoeba sentences; that is the source's figure on the source's corpus and is not repeated
below as this project's.
Nine files, 378,339,764 bytes.
| file | bytes |
|---|---|
decoder_model_merged.onnx | 233,532,372 |
encoder_model.onnx | 142,318,198 |
vocab.json | 893,154 |
source.spm | 796,876 |
target.spm | 796,876 |
config.json | 1,018 |
tokenizer_config.json | 886 |
generation_config.json | 305 |
special_tokens_map.json | 79 |
source.spm and target.spm are the same file: the checkpoint shares one SentencePiece model
between its source and target vocabularies.
>>eng<<, and a source string that begins with one is
tokenised as text and translated. Give it the Japanese sentence and nothing else.pad_token_id,
decoder_start_token_id and the single bad_words_ids entry are all token 32000. At the first
decoder step the checkpoint puts almost all of its mass on that pad token; banning it leaves a
distribution shifted down by a large constant, and beam search's length normalisation dilutes
that constant by generating more tokens. At beam 6 猫はかわいいです。 decodes to "The Cat is
slurpy slurp slurb slur slur sl sl s s". With renormalize_logits=True it decodes to "The cat is
cute." Greedy decoding was never affected. Every figure below was produced with the flag on.generation_config.json says num_beams: 12. Every figure below was produced at beam 6,
passed explicitly, batch 1, max_new_tokens=512, length penalty 1.0, early stopping off.FLEURS ja_jp test, all 321 distinct sentences, beam 6 as above, on one laptop CPU, 2026-09-04.
chrF++ at nrefs:1|case:mixed|eff:yes|nc:6|nw:2|space:no|version:2.6.0, through the harness in
the Uindosill repository (scripts/measure-translation.py).
| chrF++ | source-copy floor | margin | required | ||
|---|---|---|---|---|---|
| ja | 52.53 | 0.63 | +51.90 | +44.37 | pass |
The source-copy floor is what a hypothesis scores by echoing its own untranslated source; on Japanese it is near zero, because kanji and kana share almost no character n-gram with English, so the per-language bar Uindosill uses elsewhere is effectively a flat 45 here and passing it is a weaker statement than it is for a Latin-script source. Zero degenerate collapses and zero trailing-punctuation runs in 321 sentences. The merged layout published here reproduces the split layout's score to the digit. The export was also held to fp32 PyTorch on four Japanese sentences at beam 6 and returned the same string on four of four.
Through speech recognition: the same sentences read aloud (485 FLEURS recordings covering 287 of
the 321), transcribed by parakeet-tdt_ctc-0.6b-ja at q8_0 with a character error rate of 5.54%
(punctuation removed), then translated by this export, scored 48.46 — a cascade penalty of 4.01
chrF++ against a perfect transcript.
Exported with Python 3.14.7, torch 2.13.0+cpu, transformers 4.57.6, optimum 2.1.0, optimum-onnx
0.1.0, onnx 1.22.0, onnxruntime 1.29.0, sentencepiece 0.2.2. Full detail, and everything above with
its caveats, is in
docs/UNPROVEN.md in the
Uindosill repository.