A Python 3 script to train a recurrent neural network on a corpus of fantasy creature names and generate new names from that corpus. It uses textgenrnn and is heavily inspired by Max Woolf's pokemon-ai repo. The dataset comes from the pathfinder SRD.
The name of this repo is technically a misnomer. You can use any dataset you want, so really this could be a name generator for anything!
Just have a csv with a Name column in the data folder, set the parameters (mainly model name and paths) in the ..._config.py files at the top of the directory, and run fantasycreature_training.py and fantasycreature_generate.py. The former will create the model and output the weights, vocab, and model parameters and store them in the config folder, and the latter will generate 100 names from the model outputted into a text file at the top of the directory.
I wrote this code in windows, and was running into some bugs when trying to run the code in the git bash terminal, but when running through a python interpreter it works fine.
This repo requires the pandas and textgenrnn packages to be installed in python 3. Textgenrnn also has requirements that must be met.
- Use the provided dataset or place your own .csv file with a Name column in the data folder.
- Change the parameters in fantasycreature_pretrain_config.py and fantasycreature_generate_config.py.
- Run the fantasycreature_training.py script from the main directory in a python interpreter to train the model.
- Run the fantasycreature_generate.py script from the main directory in a python interpretor to generate 500 names.
At least on my windows machine, the code does not seem to run properly when called in a git bash terminal.
Besides changing the dataset and path information in the configurations script, all other changes, such as parameter changes to the model, must be made in the training script.
Here are 500 creatures produced from a training of the model with 200 epochs:
Old green dragon
Sealer
Migricine
Parga
Banner
Octoc
Shakoif
Great swarm
Aspi
Very old dragon
Death' azecad
Grayter swarm
Adult golem
Bores
Tendam
Very old quued beetle flob
Addus
Deep hunter elementalche dragon
Ancush
Ingy elemental
Adult shackling bourd
Young roncer popita
Giant positive energy elementaugher beetle
Cilatr swarm
Shira wolk of torm green dragon
Fire worman
Giant lightning sea snakker
Giant black dragon
Spath
Sangus mast
Greater elemental
Hawler
Taspling oaze
Part
Warer
Ancient squais wyrm black mast
Margita
Ghowlew
Young creep mantom
Giant elemental
Cran at
Marrasu
Giant blood manged emetat
Irclew
Shadow hunder
Mahure
Batste dragon
Theller devil
Large negative sephall elemental
Ice swarm
Timmon cuat
Stoimotan
Juvenile colota
Polsae
Mammoth
Kort
Dragon
Lilgungus
Shadow wolf
Alding marma
Lerger golem
Elder swarm
Warer
Shagari
Cise gray dragon
Vercap
Greater elemental
Shind brass dragon
Giant sea serpent
Acorpiker
Oct
Slaug
Keranggaller
Sark
Deliolequ
Thing winp
Cerstom
Mythic elemental
Adult red dragon
Nechwang bronze
Clood ooze
Very old creeper
Torvering blue dragon
Stole
Elcer
Giant mud elemental
Young elemental
Ock dragon
Thring crab, spider
Aldino
Urder
Adult sea sea serpling golem
Banthy
Stopositive spider whetle
Draconadaemon
Dire gylulus
Giant swarm
Kales
Tirder serpent
Juvine
Tant spider
Mythic mernon
Souandasu
Lesser dragon
Storm dragon
Raven spike red dragon
Deve
Juvenile copcangient
Giant bladodaemon
Seaher giant sea scorpion solak
Frork
Huge steerapeir
Trona
Shadow worm
Tightning elemental
Margu
Clockwork spawnes
Conar dragon
Death shask
Young olb dragon
Blood urch
Fire gargoyle
Frost dragon
Greater swarm
Mythic watergaanter barra
Ord
Giant amble
Very ooze
Lythic crab
Flases
Korps
Star crobon
Sea serpent
Adult golem
Undead
Greater horring
Raval
Phasous
Shipper dragon
Giant wight swarm
Shadown
Oross swarm
Great cyyppolid
Wilvone okas
Oll green dragon
Borelach dragon
Elder night
Giant ant sea serphe troll
Captintanf
Crimm
Hellow bese
Hengea
Greinger swarm
Marlor
Kunl
Silvere
Fire golem
Slarle
Carly blue dragon
The swarm
Thite swarm
Darcershaen
Sea sea swarm
Old blue light
Dreg warr
Lurar
Mond dant
Hangorm
Adult bragmy elemental
Adult golem
Manire elemental
Ancient molouc banromon
Large leegar
Vog
Belaem stor
Lerantud
Cave minotair elemental
Albing dragon
Adult green giant scabo
Rava
Medium spawner
Fudan
Devil
Phalider
Karabar ooze
Cuvemilictecitin
Jinx
Monstral dragon
Charing cattan
Young vyry brask dragon
Skig
Spider
Danwialterphinx
Small obri
Ancient hond
Juvenile sea serpel dragon
Henss
Wyrklider
Cloddeman
Wyrmligan
Dire stomairth noma
Young copper
Shadow wraitan beedle
Moner
Demon
Large leeph
Carniae quasi
Fasma
Medium oaze
Lick dragon
Barch
Kalto sard
Frost dragon
Stone budder arzosid bear
Small obazor dragon
Natiuer armon
Hunger crow
Blood mud elemental
Mah-thal
Parrack
Ircrant witchar
Conne golem
Zombar stor
Imprey
Slamprall
Lehantom armosiyn warpectre pat
Small spider
Stone skakaim
Dermagher giant oms
Witcer
Dowing
Giant swarm
Adult white swarm
Theling of titan
Small giant
Bog stuned
Mongosaurus
Nightning energy elemental
Young adult creep mumble
Greater elemental
Great wyrm bones
Chire lizard
Adult devil
Janing elemental
Ligir
Stakon
Flest dragon
Funguspider
Chore
Larre drake
Monset
Young bris
Ancient brass dragon
Shikon
Spider
Phrelisl
Juyn arch
Ligit cuser
Train ooze
Rablis
Strightning elemental
Clockwork span
Kerbank
Medium babe troll
Abers
Carele
Spinten spider
Cave moont
Nerra
Giant crawler
Dire elemental
Mythic fring bronz
Pherchon
Devil
Idule
Tixe
Stral candalion
Fere
Greater borg
Ancient bone of spider
Nald
Kalester
Adult white whate thollo
Pleel golem
Shaghael
Huge gray dragon
Wareripore gravity elemental
Wargoyle riget culas
Ancient soldier
Istardaanterdiend sea
The yra worm
Clobeatt
Beland
Elder ant swarm
Elder rora
Giant flen
Borest dragon
Juvenile elemental
Giant viper
Iran pudding
Hell magmit
Mamic cand
Thrram
Wyrmling righting seat wyrm black dragon
Hagant
Fanthon
Warewon
Ancient swarm
Urdralk
Sheant
Lorge
Ancient centto dragon
Chang
Huge dragon
Thengiter crowle dog
Adult stor
Hatut swarm
Deagh
Torting devil
Thone
Timming of spider
Phoran
Undead swarm
Kille drakei
Lergite
Ware
Than
Cathic faaceleswork dragon
Wyrmling hound gray dragon
Mythic hunter earth devil
Shard
Valpaen
Giant sea serpent
Manur
Formilacras
Witer
Lesser walr aroch swarm
Bater corbian quasi
Anose swarm
Shark
Kalus
fagwh
Creveer
Large gravity elemental
Carpiang monterl
Halk elemental
Greated frog
Old bree elemental
fire hag
Mosse
Young black dragon
Juvenile of therium
Shackain
Telran
Raval
Loran
Piter
Ooze
Small condation
Warer dragon
Phoar
Boue ountju skell
Graven spawn skoleftite dragon
Certous
Bagrind
Young olbera
Young brine old dragon
Young skur
Bernon
Cama demon
Large wasp
Adum
Shadow rone golem
Brass dragon
Trebinterous giant spider
Farphet spider
Aphierfal-nakd
Funche
Chole
Blood dragon
Adult whis
Eddler
Giant flecher
Craych dragon
Hanuner
Barponati
Young hart devil
Thetil
Huge mastrakk snake
Marden head skole
River dragon
Rake
Pant
Urder ight
Small obsidian
Nightning crow
Mythic miphie
Carsian dragon
Domonstronge
Plast man
Formion
Archer
Young dunger beetle
Young greater swarm
Verblosk
Giant pend
Phoric faling elemental
Funid
Giant sea dragon
Night
Reddemla
Great horsinkin cist
Trigan
Garda
Dracodaemon
Min sea sea treantl
Corre
Navous
Mardian dragon
Mythic fia
Winsllaus sea wasp
Train arch
Witch
Leant
Gray devil
Foras devil
Sea servadle dragon
Deant
Bone of scel gaant adult blie
Old grim
Phawl
Trenzioner
Giant creater slarge meer
Fire spider
Giant marma
Clockwork spirian
Medium bangover
Hell black dragon
Dark stee
Haven lat
Ravone golem
Juvenile lign dragon
Juvantling
Spice elemental
Jolin
Borble swarm
Nenision cyplotz carosh dragon
Clockwork dragon
Plastoden
Raven hostidar
Giant sea serpent
Ancient beetle
Adult suln
Medium mastiggai
Great dragon ooze
Charan
Grey snille stag beetle
Hanged gasp
Night
Manid
Kerm
Bloib gargoygeres
Staggath
Very of snake
Planter
Luster
Clow white dragon
Morkernite
Ice golem
Spire
Plicer bebal
Seaner
Nigat
Hound swarm
Giant bones
Giant rotan
Shadow white
Satal sea serpent
Tir gurcubius dag
Marto dragon
Cargoyle guard
Skential scair
Ancel pravant
Bleater borg of sky swarm
Spind anter linnorium
Very ypin
Omated erem
Dark dragon
Pathan
Scorbsning earth gylasin queentie
Devourforne devil
Giant crow
Monstoak
Chore coly ctil
Night
Borbery
Livith man
Magmot
Worm oca