Downloads · 30 days
0
sirus/planet-namer
planet-namer is a text generation model from sirus. Use it when you need the model to write or continue text. It is set up for onnx. The card lists the license as cc-by-nc-4.0.
Planet Namer is a tiny character-level LSTM that generates science-fiction planet names from seven normalized planet attributes. It was built for on-device use in Stellar Broadcast and exported as a fixed-shape, singl…
Downloads · 30 days
0
Access
Public
Updated Aug 7, 2026
Repo size
2.3 MB
Likes
0
Public
Click a slice to open those files.
.onnx1.4 MB · 59%
From the Hugging Face model README
Planet Namer is a tiny character-level LSTM that generates science-fiction planet names from seven normalized planet attributes. It was built for on-device use in Stellar Broadcast and exported as a fixed-shape, single-token ONNX model.
This repository is licensed for non-commercial use only under
CC BY-NC 4.0. See
LICENSE for the repository-specific notice.
| Property | Value |
|---|---|
| Architecture | Single-layer character LSTM with stat-conditioned initial state, per-step stat concatenation, and FiLM conditioning |
| Parameters | 226,242 |
| Vocabulary | 66 tokens (63 characters plus PAD/SOS/EOS) |
| Maximum output length | 20 characters |
| Hidden / embedding size | 192 / 64 |
| Inputs | Five fixed-shape tensors; see below |
| Outputs | Next-character logits and recurrent hidden/cell states |
The seven input values must be in [0, 1] and in this exact order:
atmospheregravityresourceslifesignstemperaturewaterradiationplanet_namer_fp16.onnx — recommended compact ONNX export (448 KiB)planet_namer.onnx — FP32 ONNX export (888 KiB)planet_namer_checkpoint.pt — PyTorch state dictionaryvocab.json — vocabulary, token IDs, stat order, and dimensionsinference.py — minimal ONNX Runtime command-line exampletrain.py — architecture, training, evaluation, and export codeThe ONNX model is a single-step recurrent model. On the first step, pass the
real stat vector to both stats_init and stats, along with zero h_in and
c_in. On later steps, pass zeros to stats_init, keep passing the real
values to stats, and feed the previous h_out and c_out back into the
model.
Install the lightweight inference dependencies:
python -m pip install -r requirements.txt
Generate a name from the seven stats:
python inference.py \
--stats 0.9 0.8 0.7 0.9 0.6 0.8 0.1 \
--temperature 0.8 \
--seed 42
Use --temperature 0 for greedy decoding. Higher temperatures increase
variation. The helper validates the stat count and range before inference.
The PyTorch checkpoint is a state dictionary, not a serialized executable
model. Instantiate PlanetNameLSTM from train.py with a vocabulary size of
66, then load the state dictionary with weights_only=True.
The model was trained on 1,957 planet and location names collected from these fictional universes: Star Trek, Mass Effect, Warhammer 40,000, Star Wars, Dune, Babylon 5, Halo, Stargate, Firefly, Foundation, and The Expanse. The conditioning values are hand-authored or synthetic metadata. When several names shared the same stat vector, the training pipeline deterministically spread those values using orthographic properties of each name.
The raw name lists are not included in this model repository. Names and marks from the referenced fictional universes may be protected by copyright, trademark, or other rights belonging to their respective owners. This release does not grant rights to any third-party material.
The following results were reproduced from the released checkpoint with seed 42 and the training script's stratified 80/10/10 split (1,564 / 194 / 199):
| Metric | Result |
|---|---|
| Training exact match at temperature 0.1 | 82.35% (1,288 / 1,564) |
| Test exact match at temperature 0.1 | 77.39% |
| Test mean Levenshtein distance | 1.87 |
| Novelty at temperature 1.0 | 88.5% (200 generated samples) |
| Generated-vs-training character-bigram KL | 0.2901 |
These are development diagnostics, not a benchmark. In particular, the name-derived collision spreading leaks orthographic information into the conditioning values, making held-out exact-match results optimistic. The novelty result is a single seeded sampling run and will vary.
Intended uses are non-commercial creative experiments, games, prototypes, research, and procedural-content tooling where a user wants short fictional planet-name suggestions conditioned on normalized attributes.
The model is not intended for factual astronomy, scientific classification, identity-related naming, or commercial products and services. Review generated names before publication.
Users are responsible for reviewing outputs, respecting third-party rights, providing attribution, and complying with the non-commercial license.
The model weights, ONNX exports, vocabulary, and repository-authored code and documentation are released under the Creative Commons Attribution-NonCommercial 4.0 International License. Third-party names and marks are excluded from that grant.