- Go 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| cmd | ||
| synth | ||
| train | ||
| .gitignore | ||
| README.md | ||
intel-lab
Local tools for the intel classifier. Not part of EveSynapse: this
folder sits inside an EveSynapse checkout (so it can use the
reader's internal packages) and is ignored there by
.git/info/exclude. Only the trained model goes live, inside
internal/inteltag.
Everything here uses public data only: the SDE's map and ships (the fuzzwork dump the site imports), made-up pilot names, and known intel phrasing. No player's report is read.
Run every command from this folder.
1. Get the SDE (once)
go run ./cmd/intel-synth -sde sde -fetch
Downloads six CSV files (about 23 MB) into sde/ and prints ten
sample reports.
2. Make training and test data
Use different seeds so the test lines are never trained on.
go run ./cmd/intel-synth -sde sde -n 100000 -seed 1 -out data/train.jsonl
go run ./cmd/intel-synth -sde sde -n 20000 -seed 2 -out data/test.jsonl
3. Score the deterministic reader (optional)
go run ./cmd/intel-synth -sde sde -n 20000 -seed 2 -eval
go run ./cmd/intel-synth -sde sde -n 20000 -seed 2 -eval -worst -misses 50
-worst makes every string some character, as EVE's name lookup
nearly does.
4. Train the tagger
go run ./cmd/intel-train -sde sde -train data/train.jsonl -test data/test.jsonl -out data/tagger.gob.gz
Takes a few minutes. Prints each epoch, the model's size, and its
precision and recall per kind on the test set. -known 0.6 is the
share of pilot names the site's name cache is taken to know;
-epochs sets the passes (default 5).
5. Check it with the reader
go run ./cmd/intel-synth -sde sde -n 20000 -seed 2 -eval -worst
go run ./cmd/intel-synth -sde sde -n 20000 -seed 2 -eval -worst -tagger data/tagger.gob.gz
The second run reads as the site does with the classifier wired in. Ship only if pilots improve and nothing else gets worse.
6. Ship it
The site reads with the model embedded at
internal/inteltag/tagger.gob.gz in the EveSynapse repo.
- To try a model on a server first, without a release: copy it to
the server and set
INTEL_TAGGER_WEIGHTS=/path/to/tagger.gob.gz, then restart. Unset it to go back. - To ship it: copy
data/tagger.gob.gzoverinternal/inteltag/tagger.gob.gz, commit, open a PR, and release as usual. INTEL_TAGGER=offreads intel without the classifier.
Layout
| Path | What |
|---|---|
synth/ |
the generator: universe from the SDE, report frames, phrasings, scoring of the deterministic reader |
train/ |
training and scoring of the tagger |
cmd/intel-synth |
make examples, score the reader |
cmd/intel-train |
train and score the tagger |
sde/, data/ |
downloads and generated files; not tracked |