Contents

We train an LSTM with gumbel-sigmoid gates on a toy language modelling problem. Such LSTM can than be binarized to reach signifficantly greater speed.


In [1]:
%env THEANO_FLAGS="device=gpu2"


env: THEANO_FLAGS="device=gpu2"

In [2]:
import numpy as np
import theano
import theano.tensor as T
import lasagne
import os


Using gpu device 2: GeForce GTX 1080 (CNMeM is enabled with initial size: 95.0% of memory, cuDNN 5105)

Generate mtg cards

  • Regular RNN language modelling done by LSTM with "binary" gates

In [3]:
start_token = " "

with open("mtg_card_names.txt") as f:
    names = f.read()[:-1].split('\n')
    names = [start_token+name for name in names]

In [4]:
print 'n samples = ',len(names)
for x in names[::1000]:
    print x


n samples =  16714
 [1G] Instant: Moonmist
 [None] Land: Crystal Quarry
 [3GW] Legendary Enchantment Creature, God: Karametra, God of Harvests
 [2R] Creature, Human Rogue: Spireside Infiltrator
 [3R] Creature, Human Archer: Mardu Heart-Piercer
 [UB] Creature, Spirit: Dimir Infiltrator
 [2UU] Creature, Human Wizard: Lunar Mystic
 [3R] Creature, Goblin Artificer: Krark-Clan Engineers
 [4GG] Creature, Elemental Warrior: Root-Kin Ally
 [None] Land: Ancient Tomb
 [None] Plane, Ulgrotha: The Dark Barony
 [3U] Creature, Bird Wizard: Aven Fogbringer
 [5R] Creature, Djinn: Halam Djinn
 [3WW] Creature, Human: Veteran Bodyguard
 [2RRR] Creature, Human Berserker: Aerathi Berserker
 [None] Legendary Creature, Eldrazi Angel: Brisela, Voice of Nightmares
 [2U] Creature, Human Wizard: Apprentice Sorcerer

Text processing


In [5]:
#all unique characters go here
token_set = set()
for name in names:
    for letter in name:
        token_set.add(letter)

tokens = list(token_set)

print 'n_tokens = ',len(tokens)


n_tokens =  78

In [6]:
#!token_to_id = <dictionary of symbol -> its identifier (index in tokens list)>
token_to_id = {t:i for i,t in enumerate(tokens) }

#!id_to_token = < dictionary of symbol identifier -> symbol itself>
id_to_token = {i:t for i,t in enumerate(tokens)}

In [7]:
import matplotlib.pyplot as plt
%matplotlib inline
plt.hist(map(len,names),bins=25);

# truncate names longer than MAX_LEN characters. 
MAX_LEN = min([60,max(list(map(len,names)))])
#ADJUST IF YOU ARE UP TO SOMETHING SERIOUS


Cast everything from symbols into identifiers


In [8]:
names_ix = list(map(lambda name: list(map(token_to_id.get,name)),names))


#crop long names and pad short ones
for i in range(len(names_ix)):
    names_ix[i] = names_ix[i][:MAX_LEN] #crop too long
    
    if len(names_ix[i]) < MAX_LEN:
        names_ix[i] += [token_to_id[" "]]*(MAX_LEN - len(names_ix[i])) #pad too short
        
assert len(set(map(len,names_ix)))==1

names_ix = np.array(names_ix)

Input variables


In [9]:
from agentnet import Recurrence
from lasagne.layers import *
from agentnet.memory import *
from agentnet.resolver import ProbabilisticResolver
from gumbel_sigmoid import GumbelSigmoid

In [10]:
sequence = T.matrix('token sequence','int64')

inputs = sequence[:,:-1]
targets = sequence[:,1:]


l_input_sequence = InputLayer(shape=(None, None),input_var=inputs)

Build NN

You'll be building a model that takes token sequence and predicts next tokens at each tick

This is basically equivalent to how rnn step was described in the lecture


In [11]:
###One step of rnn

class rnn:
    n_hid = 100
    temp = theano.shared(np.float32(1.0))
    
    #inputs
    inp = InputLayer((None,),name='current character')
    prev_cell = InputLayer((None,n_hid),name='previous lstm cell')
    prev_hid = InputLayer((None,n_hid),name='previous ltsm output')
    
    #recurrent part
    emb = EmbeddingLayer(inp, len(tokens), 30,name='emb')
    
    new_cell,new_hid = LSTMCell(prev_cell,prev_hid,emb,
                                inputgate_nonlinearity=GumbelSigmoid(temp),
                                forgetgate_nonlinearity=GumbelSigmoid(temp),
                                #outputgate_nonlinearity=GumbelSigmoid(temp),
                                name="rnn") 
    
    next_token_probas = DenseLayer(new_hid,len(tokens),nonlinearity=T.nnet.softmax)
    
    #pick next token from predicted probas
    next_token = ProbabilisticResolver(next_token_probas)

Loss && Training


In [12]:
training_loop = Recurrence(
    state_variables={rnn.new_hid:rnn.prev_hid,
                     rnn.new_cell:rnn.prev_cell},
    input_sequences={rnn.inp:l_input_sequence},
    tracked_outputs=[rnn.next_token_probas,],
    unroll_scan=False,
)


/anaconda3/envs/py27/lib/python2.7/site-packages/agentnet/agent/recurrence.py:188: UserWarning: State_variables recommended type is OrderedDict.
                Otherwise, order of agent state outputs from get_sessions and get_agent_reaction methods
                may depend on python configuration.

                Current order is: [<lasagne.layers.merge.ElemwiseMergeLayer object at 0x7f22d4264790>, <lasagne.layers.merge.ElemwiseMergeLayer object at 0x7f22d4264ad0>]
                You may find OrderedDict in standard collections module: from collections import OrderedDict
                
  """.format(state_variables=list(self.state_variables.keys())))
/anaconda3/envs/py27/lib/python2.7/site-packages/agentnet/agent/recurrence.py:300: UserWarning: You are giving Recurrence an input sequence of undefined length (None).
Make sure it is always above <unspecified>(n_steps) you specified for recurrence
  "Make sure it is always above {}(n_steps) you specified for recurrence".format(n_steps or "<unspecified>"))

In [13]:
# Model weights
weights = lasagne.layers.get_all_params(training_loop,trainable=True)
print weights


[emb.W, rnn.b_to_ingate, rnn.W_previous ltsm output_to_ingate, rnn.W_emb_to_ingate, rnn.b_to_forgetgate, rnn.W_previous ltsm output_to_forgetgate, rnn.W_emb_to_forgetgate, rnn.b_to_cell, rnn.W_previous ltsm output_to_cell, rnn.W_emb_to_cell, rnn.b_to_outgate, rnn.W_previous ltsm output_to_outgate, rnn.W_emb_to_outgate, rnn.W_cell_to_ingate_peephole.scales, rnn.W_cell_to_forgetgate_peephole.scales, rnn.W_cell_to_outgate_peephole.scales, W, b]

In [14]:
predicted_probabilities = lasagne.layers.get_output(training_loop[rnn.next_token_probas])
#If you use dropout do not forget to create deterministic version for evaluation

loss = lasagne.objectives.categorical_crossentropy(predicted_probabilities.reshape((-1,len(tokens))),
                                                   targets.reshape((-1,))).mean()
#<Loss function - a simple categorical crossentropy will do, maybe add some regularizer>

updates = lasagne.updates.adam(loss,weights)


/anaconda3/envs/py27/lib/python2.7/site-packages/agentnet/agent/recurrence.py:592: UserWarning: Warning: recurrent loop without unroll_scan got nonempty random state updates list. That happened because there is some source of randomness (e.g. dropout) inside recurrent step graph. To compile such graph, one must either call .get_automatic_updates() right after .get_output and pass these updates to a function, or use no_defalt_updates=True when compiling theano.function.
  warn("Warning: recurrent loop without unroll_scan got nonempty random state updates list. That happened"

In [15]:
#training
train_step = theano.function([sequence], loss,
                             updates=training_loop.get_automatic_updates()+updates)

generation

here we re-wire the recurrent network so that it's output is fed back to it's input


In [16]:
n_steps = T.scalar(dtype='int32')
feedback_loop = Recurrence(
    state_variables={rnn.new_cell:rnn.prev_cell,
                     rnn.new_hid:rnn.prev_hid,
                     rnn.next_token:rnn.inp},
    tracked_outputs=[rnn.next_token_probas,],
    batch_size=1,
    n_steps=n_steps,
    unroll_scan=False,
)
generated_tokens = get_output(feedback_loop[rnn.next_token])
generate_sample = theano.function([n_steps],generated_tokens,updates=feedback_loop.get_automatic_updates())


/anaconda3/envs/py27/lib/python2.7/site-packages/agentnet/agent/recurrence.py:188: UserWarning: State_variables recommended type is OrderedDict.
                Otherwise, order of agent state outputs from get_sessions and get_agent_reaction methods
                may depend on python configuration.

                Current order is: [<lasagne.layers.merge.ElemwiseMergeLayer object at 0x7f22d4264790>, <lasagne.layers.merge.ElemwiseMergeLayer object at 0x7f22d4264ad0>, <agentnet.resolver.probabilistic.ProbabilisticResolver object at 0x7f22d427a0d0>]
                You may find OrderedDict in standard collections module: from collections import OrderedDict
                
  """.format(state_variables=list(self.state_variables.keys())))

In [17]:
def generate_string(length=MAX_LEN):
    output_indices = generate_sample(length)[0]
    
    return ''.join(tokens[i] for i in output_indices)

In [18]:
generate_string()


Out[18]:
'i,!pC6WgxJ,eGR)hJ\'myK6qttUZe2!wzLOu!uUEh[? "),8dYy,rN56Lb/]d'

Model training

Here you can tweak parameters or insert your generation function

Once something word-like starts generating, try increasing seq_length


In [19]:
def sample_batch(data, batch_size):
    
    rows = data[np.random.randint(0,len(data),size=batch_size)]
    
    return rows

In [ ]:


In [20]:
print("Training ...")


#total N iterations
n_epochs=100

# how many minibatches are there in the epoch 
batches_per_epoch = 500

#how many training sequences are processed in a single function call
batch_size=32

loss_history = []

for epoch,t in enumerate(np.logspace(0,-2,n_epochs)):
    rnn.temp.set_value(np.float32(t))
    avg_cost = 0;
    for _ in range(batches_per_epoch):
        
        avg_cost += train_step(sample_batch(names_ix,batch_size))
    
    loss_history.append(avg_cost)
    print("\n\nEpoch {} average loss = {}".format(epoch, avg_cost / batches_per_epoch))

    print "Generated names"
    for i in range(10):
        print generate_string(),


Training ...


Epoch 0 average loss = 2.20818606353
Generated names
O..Qx-[GRe]EnfcInep  Semafka: F                              112]4o]Irnhteter,Sshepanrlunitt  Sofdeaal                    _gUAsenvRocgconnor                                           /ogzRonPum:Antarturweyw:ghurgid  Sib                         G3[ L]Crgrearaft Pet:Ah:Cktitar:  Fhgeeo olakgetpder         Hf[Cr2 R]    Cnsn Cccarum,      W    Cr hrustsurth           63BW] Creetcutu, En VmmendTd Lv Aulkd: Perh                  ][R]G]Er  Creurti:tf, Em                                     v723S] Rorer,  Cct'ensafthagt Diut CmsAtat  ebh:insoner      Eul:[Erp  L                                                  

Epoch 1 average loss = 1.3415068295
Generated names
3X7/B] Creatureu: SonYeant Santaner Moys Netaranrreg         [XBB] Insstant: Sotp Imerann Mgeatt                          R7U] Creadure, Awidand Mowler Rore                            [3W]W Crtinfant: HGoteitiss                                 2/W] Creature,  Hul                                          B [4Gare] Enhnhlen Qctidiree                                 C,BK] Creature, Byomdan:Veroks Difhhood                      4Wote]tins: Satig Brkege                                     4i] Woreature, Supd:Rioriel: Faaral: Arnl Miwety             62W] Areatu  Wlancr  Tirr                                    

Epoch 2 average loss = 1.08917816281
Generated names
NenwMaft: Sngobnonstyf                                       [1BG] Creature, Speke Wicgis: Dripiap of Irutfeivurs         7 [BR] Creature, Hume, Hunf Pogengalc Awatpirlsa             [3BG] Sorcery: Dias Opotimaln                                 [2WB] Sorcant: Deasd ofta Fu Dolciesstm Ph                  [N  Ens Sont: Pandiun Lalile Dinsienman                      T] Arefact, Piot Wuzal Afani: Dingh                          RP] Sigcend: Ecuman Xove Hon                                 WD] Creature, Ward: Wonfalr Lamuim                           LUU] Creature, Wum Soapur: Zpawike Shasalorer                

Epoch 3 average loss = 0.994552285552
Generated names
[1] Artifact: Ephsimgex Zoull                                BW] Creature, Rabpury: Vereasicvar Wepsir                    [Nrere] Clusman WifUockor: Ayssarrent Angarc                 [W] Instant: Tar Wickum theist                               [3Uon] Creature, Varlord: Deitl's Jigo Bat                   [[5G] Instant Crene: Imbafecke                               35G] Creature, Wox Sirrie Bamas: Spitosiurchol               [4U] Creature, Warfory: Relte Wancer  Onigiur                PbnU] Creature, Sumnantee: Jeandena Nrager                   [[GW/WRW] Creature, Zomela: Onghawg Insertert                

Epoch 4 average loss = 0.939696151853
Generated names
[3W] Creature, Bogke Crithet: Cotapem Sce of                 [UU] Creatube, Elkel: Scrager's Zapape                       [GBW] Creature, Debace: Lol-Gofghy                           [G] Creature, Zomeg Mingine: Inf Depthewakarxath             [1RG] Instant: Rerl                                          [W] Artifact Crantere: Scipolk'sisas Olther                  [1BB] Sorcery, Areract: Worsplap                             [WW] Creature, Human: Grate thestliigs                       [11R] Instant: Togest Rargar                                 [2W] Sorcere, Cratmen: Slzeass                               

Epoch 5 average loss = 0.903185678601
Generated names
[4RG] Sorcery: Waltuat Therifan Raoll                        [3B] Creature, Human Wirgury: Mattibor Gilbigond             [4RRB] Creature, Harin Asifer: Arid Incourkeza               [GG] Sorcery: Sibentensar                                    [2GG] Enchantment, Aura: Gigying Waunta                      [5B] Creature, Klako: Clamestodit                            [WUU] Legendary Creature, Erdiardol: Rebenic Hlalle Winif    [1U] Creature, Huar: Dadurix Goedht                          [4U] Enchantment: Namlatlcoricy                              [1BB] Creature, Beast: Sallesstes thant                      

Epoch 6 average loss = 0.871410488486
Generated names
[3GW] Shicentarr, Elurin Ancini: Cabago                      [2GG] Creature, Ghirit: Ciscam's Hach                        [ 2GG] Creature, Drans: Caricaw Sener                        [1W] Creature, Orm Wirarior: Will-Seftheate Ish              [U] Instant: Rolvacd Intalstles                              1R] Enchantment: Diest Ess Reakcion                          [4R] Enchantment: Myre Sca                                   [4U] Enchantment: Quwoki, Jlutnit                            [None] Land: Stard Bear Way                                  [3W] Instant: Watatu                                         

Epoch 7 average loss = 0.854737664104
Generated names
[3WW] Enchantment: Ird Spera                                 15UB] Creature, Elemental: Fiphmatt Clore                    [Nogen Alamen Warririd: Flaralest Surt                       [2U/WW/W] Legendary Creature, Elemental  Cruant: Ilval Laugt [3] Artifact: Patie Sirige's                                 [4] Artifact: Wurvenok Cheantas                              [1W] Sorcery: Rern Lane                                      [4GG] Sorcery, Aquepfint: Phacen of Evant                    [W] Sorcery: Lazadneas Andel                                 [2U] Creature, Sppirer: Snedea Fataur                        

Epoch 8 average loss = 0.834244617343
Generated names
[4R] Enchantment, Aare Shisroy: Melling Orb                  [2W] Enchantment, Aiphere: Reffbonl-Continl                  [2U] Instant: Fampity                                        [R] Sorcery: Breefocken                                      [WXB] Enchantment: Gob                                       [3WW] Creature, Human Wizard: Equipheraming                  [4] Artifact: Megallersaa                                    [2BB] Scone, Creature, Firdor: Namustradicl Cose             [4U] Creature, Spirit: Shetturing                            [2U] Sory, Creature, Acper: Thorve Salvip Bepkeresy Elemeati 

Epoch 9 average loss = 0.823598993897
Generated names
[2U/R] Sorcery: Elivico Cam                                  [9G] Sorcery: Cascan the                                     [1WW] Creature, Spirion: Mapkrid Ca                          [XRW] Sorcery: Liversave                                     [1G] Creature, Beast: Hord Terct                             [1RR] Instant: Drothe the Drone                              [None] Legend, Alace: Tatow Dechener                         [2W] Creature, Human Wizard: Morwig Sharken                  [4UB] Instant: Conevy Daguar                                 [2R] Enchantment: Sumy the Magus                             

Epoch 10 average loss = 0.809431548238
Generated names
[2U] Planure, Galvin Snake: Emenoy Ha of                     [4] Artifact: Dightard Thion                                 [4R] Creature, Miuton: Che Spraud Ledech                     [None] Enchant: Beapling Faar                                [5WR] Legendary Creatur, Merfala  Solkould: Mantle  Sewurmbr [1Rone]hand, Savicos Solt: Jokaling Aebinat Splinger         [Nonchank: Cender Agruge                                     [1GGR] Creature, Elf: Djilfmala                              [1G] Sorcery: Brird Spro of the Oation                       [W] Creature, Goblin Warrior: Nattought Corvonis             

Epoch 11 average loss = 0.797671760917
Generated names
[1W] Enchantment, Aura: Phaxtt of Blide                      [2U] Creature, Aperit: Ait Ya Amphert                        [3W] Creature, Avatal: Clianama Evestic                      [1U] Enchantment: Tressiat                                   [3B] Creature, Beapt: Consezain                              [2G] Creature, Goblen Soldier: Intalio, Zote Teneler         [UU] Instant: Veptie Stader                                  [3W] Instant: Frimpler                                       [3G] Enchantment, Aura: Mandyyre Depowors                    [None] Legendarme, Pomant: Esparcuin Gatelliber              

Epoch 12 average loss = 0.793885144711
Generated names
[1U] Creature, Sphinx: Frider Wizar                          [7] Artifact: Spamonn Reblam                                 [3G] Instant: Scourtes Crope                                 [GW] Legendary Creature, Spark Blordwilv: Sist Mastlowe      [2W] Creature, Human Rogue: Fobambolks                       [1U] Instant: Saliod Tland                                   [7] Artifact Creature, Beast: Sermage Sabaleraged            [5GG] Wogen Enchantment, Aura: Toll Hemealm                  [None] Land: Denosi Hatsoder                                 [4U] Instant: Undmagern                                      

Epoch 13 average loss = 0.784042196989
Generated names
[4G] Creature, Elemental: Nemort Broate                      [GG] Enchantment: Asyrdil Raiter                             [4U] Enchantment: Live olbaang                               [3GG] Sorchary: Hage of Stitf                                [None] Plane, Spine oficesar: Stoullain Conasfon             [1UU] Instant: Lagritatif                                    [None] Creature, Imp: Scargon Spe                            [3RR] Creature, Griff Waigura: Eningol Inferiy Wally         [2B] Creature, Pellazin: Satcomante thergate                 [2UU] Instant: Sabe of the Wane                              

Epoch 14 average loss = 0.777199135303
Generated names
[1R] Enchantment: Drione                                     [9] Artifact, Equipment: Konven Holl tuallvine               [2WU] Creature, Human Arsulacuur: Darowt Goblin              [BB] Enchantment, Samor: Illayakik Beluriagn                 [B] Creature, Golem Shaman Warrior: Lazodani Seeti           [2WW] Enchantment: Hhrmin Ulons                              [BBB] Legendary Creature, Bat Scout: Unisid's Beedeote       [2R] Creature, Human Soldier: Tw Shirric Frudhly             [1U] Sorcery: Selian Scoung                                  [3W] Creature, Gonk: Vasts Her Goblinteomat                  

Epoch 15 average loss = 0.770101761103
Generated names
[4WU] Sorcery: Bithe of Gines                                [G] Enchantment, Aura: Thymule of Dray                       [3BW] Creature, Ell Shutizy: Borrauber's Fobthers            [3UU] Instant: Halume Sanveny                                [None] Plane, Myskest Romke Rithesor: Earbuambaber           [1W] Enchantment: Unostoul Binslobon                         [2R] Instant, Plyse: Stor-Madar                              [1U] Creature, Human Wizard: Naken Aburekgages               [BBB] Creature, Anverror: Incit Merumance                    [WW] Creature, Elelenkan Warrira: Drowf Skellwinds           

Epoch 16 average loss = 0.765238632798
Generated names
[1GG] Creature, Aut Spirit: Cibhtshole                       [4B] Instant: Rite of Portheem                               Nenesena: Physten                                            [5BB] Creature, Dostaze Druid: Elionaning                    [1R/P] Instant: Yocty Gale                                   [RW] Instant: Paning of Fyeratic                             [2GG] Legendary Creature, Human Shaman: Mancase, Mirow       [GG] Creature, Human Greetelt Bivenor: Topk, Raltlila        [U] Sorcery: Demenda May                                     [None] Legent: Dwelt the Burar                               

Epoch 17 average loss = 0.764660778522
Generated names
[3B/RB/R] Creature, Horee: Blown Trane                       [None] Land: Merfose Sane                                    [2B/GR//W] Creature, Golem: Prush Knige                      [G] Enchantment, Aura: Issning Encel Indeath                 [G] Creature, Sceeta: Lanb of Aversion                       [None] Land: Stummokmait                                     [2W] Creature, Vambie: hada of the Rete Sorch                [3G] Creature, Goblin Warrior: Sparst Shambla                [B] Instant: Bunts Specephins                                [3WW] Legendary Enchantment, Aura: Odurmoy Oyer              

Epoch 18 average loss = 0.756351899147
Generated names
[2G] Onchant: Croeming Tury                                  [1G] Instant: Quion Kelfs                                    [2U/B] Creature, Eldrazi: Conebutlow Stilfs                  [2] Sngondayr: Ancentian Folk                                [GG] Creature, Wurm: Blagge Gamnigr                          [1GU] Artifact Creature, Cataman: Preminswiad Detmor         [4W] Creature, Wurm: Arcorn Pistarer                         [5G/WWWW] Legendary Artifact, Equipmer: Glands Conse of Lelo [U] Creature, Huurd: Cuge of Bruptasa's Rast                 [None] Land: Staugod Gorsent                                 

Epoch 19 average loss = 0.751240651608
Generated names
[1WB] Creature, Human Druid: Crideratify                     [RW] Instant: Raunacout                                      [0] Artifact: Spelled todlimation                            [R] Enchantment: Mes Migle                                   [3GG] Creature, Bird: Kniuman                                [1UU] Instant: Purs Atiansa                                  [3R] Sorcery: Bend Rark                                      [3G] Planeswalker, Foles Soldier: Mullboviel Gorodaw         [2W] Enchantment, Aura: Lorderian                            [2G] Creature, Insect: Ack-Shiber Of Dight                   

Epoch 20 average loss = 0.746139118195
Generated names
[5W] Legendary Creature, Elf Bary Wizazdior: Blaekwud Grappe [3W] Instant: Snoble Vestlicter                              [4U/U] Enchantment: Pyctuzor Holl                            [4] Artifact, Eqeipment: Korreling: Coll of Loot             [[W] Creature, Pirio Capich: Ackuns to Warns                 41R] Creature, Beesa: Phesporn's Nary     errals             [6] Artifact Creature, Golem: Thouls's Egnem                 None] Samper: Elledentpick Merel                             [2R] Creature, Human Soldier: Wakhthinasy Gamese Anal        [3UU] Enchantment, Aura: Knight Reefortien                   

Epoch 21 average loss = 0.742860641122
Generated names
[4GG] Enchantment, Aura: Hork of Spricite                    [2WWR] Creature, Elepentslith: Sprittectolfilt               [B] Creature, Human Soldier: Skults of Ansyrulk              [4W] Enchantment, Aura: Scanitattave                         [3GWW] Legendary Creature, Horbio Barbor: Elemoning Gorke    [4BB] Enchantment, Aura: Prathuming                          [None] Land: Sumbitia                                        [2G] Sorcery: Gnatk's Warewerd                               [2] Artifact: Naran-Hadr of Kood                             [G] Enchantment: Ele Spide Readcams                          

Epoch 22 average loss = 0.740624370813
Generated names
[2G] Enchantment, Aura: Nishing Clowl                        [1W] Enchantment: Ghorerad Kase                               [2R] Creature, Spirit: Tema Inquather                       [5W] Creature, Reast: Kererrife                              [3WWW] Legendary Enchantment, Wierd Knight: Awne of Shipon   [W] Instant: Lilk's Mogator                                  [2G] Creature, Elephast: Vacant Clater                       [4R] Creature, Mronlrake: Nashmaul's Veminy                  [3G] Instant: Revebosk                                       [1W/U] Instant: Hapning Sphecthic                            

Epoch 23 average loss = 0.739616329789
Generated names
[5] Artifact Creature, Sperves: Empraters                    [W] Creature, Kituor: Sublid Lose Rees                       [W] Instant: Imacgu of the Ink Ele                           [4] Artifact: Nellowace                                      [5G] Creature, Dragon: Greflsonger                           [W] Legendary Creature, Goblin Scorpherai Monkon: Oulcanper  [None] Creatuer, Suveror: Tend the Hest                      [GW] Creature, Laguea: Taided Collule                        [U] Creature, Human Werewolf: Mustiant-Ravie Hunges          [5B] Instant: Swinnsky                                       

Epoch 24 average loss = 0.732167349219
Generated names
[2W] Enchantment: Forty Renel                                [1G] Instant: Ronety Charsu                                  [3W] Sorcery: Ridecrou                                       [2W] Creature, Elemental: Breaden Mosm                       [4BB] Creature, Vampire Furgus: New Daunder                  [1R/WW/WW/W] Creature, Elf: Wakel Shivin                     [1W] Creature, Spirit: Knarpsment                            [2BB] Creature, Zourari Creshanion: Ukwitates                [1B] Sorcery: Jeprex Droskers                                [4GG] Creature, Goblin Warrior Scraid: Troker of the Chammat 

Epoch 25 average loss = 0.729476690531
Generated names
[6] Artifact Creature, Certhanid: Weepher Kither             [2B] Creature, Bird: Rymense Clake                           [2W] Enchantment, Aurat Assersscery: Chrouncle the Rama's Em [2G] Enchantment, Auraur Knight: Evur-Sudne Hummon           [1G/UU/SU/SR/RoneswBaw Rawheale: Scagok's Woodgere Clague    [5W] Creature, Plon Insest: Imukin Pathing                   [5R] Creature, Horrion: Gialds Ajanse                        [2BB] Creature, Night Shamper: Dacds Koish                   [B] Cruature, Human Soldier: Kalder Dragon                   [None] Shamur : Krissing Rattclawt                           

Epoch 26 average loss = 0.72690885973
Generated names
[2R] Creature, Spirit: Sana's Tistager                       [None] Land: Wles of the                                     [UU] Creature, Eldrazi: Orchenstolm                          [2U] Sorcery, Arcane: Myntlend Mestor                        [3WW] Creature, Fox Confork: Whyrning Cruestoner             [4GG] Creature, Eldman: Chssaftlelath                        [3U] Creature, Irleric: Answrommoss                          [7] Artifact: Ooth of Deem                                   [GG] Creature, Eldrazi Beme: Singacten Innalar               Lene]wand, Ader: Indemala Trichone                           

Epoch 27 average loss = 0.725887301683
Generated names
[1B] Creature, Sliver: Condonebric Inomant                   [4B/GBG] Creature, Boar: Beman                               [BU] Enchantment, Aura: Dourakdres's Cibblite                [3GU] Creature, Vampire Warrior: Rander Omb                  [1G] Sorcery: Dredall Hedle                                  [3G] Creature, Irlusi Spellssrif: Tarkaled Batters           [1G] Enchantment, Aura: Gor Nemost                           [WBBR] Enchantment: Block to Dneiber                         [R] Instant: Floam Worver                                    [1B] Creature, Zompion Warrior: Skiest of Orchostord         

Epoch 28 average loss = 0.722453190088
Generated names
[3B] Enchantment: Clinival Enfest                            [1R] Artifact: Galding Liant                                 [2B] Creaturen Elkert Dreefolk: Clenderwat                   [1W/U] Creature, Zompion: Fowelath                           [2] Artifact, Equipment: Atentlomevear                       [W] Sorcery: Storasion Gianvine                              [3G] Creature, Bird Achory: Vage Creath                      [3] Artifact, Equipment: Spirectle Gomestile                 [None] Land: Herecro's Props                                 [2WW] Legendary Creature, Human Soldier: Wund, Breefledhad-C 

Epoch 29 average loss = 0.720494839668
Generated names
[2U] Creature, Goblin Anserle: Antding Shreider              [5W] Creature, Dragon: Brogending Wurr                       [1W] Creature, Human Soldier: Ojutany Leshable               [2W] Enchantment: Delal Ingelt                               [None] Land, Arcuer: Mernya, Goal                            [None] Tragd: Guard Cegespes                                 [WW] Creature, Vampire Wizard: Merdrone, Hoid Immers         [1R] Instant, Arcane: Drowel Skelipem                        [5G/W] Instant: Lither                                       [RG] Instant: Herower Sazal                                  

Epoch 30 average loss = 0.71630422318
Generated names
[1WW] Creature, Human Shaman: Harrwing Cyme                  [2GG] Creature, Zombie: Faltock Bay                          [3GGG] Creature, Spirit: Nityr Pra the Escaler               [None] Land: Esse's Holfing Scoyre                           [None] Bashery: Elf Shwelverrezy                             [2G] Creature, Kamperk fourtor: Reshape Actrotine            [2UU] Instant: Elama                                         [1U] Creature, Human Knight: Adrater ox Oon Pastors          [4G] Creature, Human Cleric: Kanber's Swallows               [2W] Instant: Willspulg                                      

Epoch 31 average loss = 0.71744926393
Generated names
[3UU] Creature, Spirit: Asacenians wathmene                  [2W] Enchantment: Groblokens Cinx                            [1B] Creature, Insect: Asmow, Tawnade                        [3WW] Instant: Untengsthy                                    [W] Instant: Qubal Catmest                                   [GG] Instant: Sam Ungrain                                    [32GWW] Creature, Falemon Archer: Detroporaro Dragon         [2W] Creature, Elemental Scout: Nasterie Denomator           [U] Creature, Elf Irlusish: Choudor Preet                    [1R] Sorcery: Glind of Sliffin                               

Epoch 32 average loss = 0.711343565941
Generated names
[2U] Creature, Imp: Garutal Retrix                           [4] Artifact: Revilfer Slaster                               [2WWUW] Sorcery: Mombergy of the Herter                      [1RR] Creature, Beast: Floammati                             [3U] Sorcery: Geath of Anchollous                            [3W] Instant, Arcant: Dimight                                [3U] Enchantment: Feed of Joffinitinc                        [W] Enchantment, Aura: Dust of Rallet Dempure                [R] Creature, Beast: Topperpy Recehen                        [2W] Creature, Ratu: How Sernevers                           

Epoch 33 average loss = 0.709978935242
Generated names
[2B] Creature, Wall: Mangionter Harshace                     [W] Creature, Baskin Wizard: Rictioth of Sander              [2W] Sorcery: Averboot's Wattlest                            [2G] Sorcery: Dranala's Thran                                [5G] Instant: Boil of Dewelly                                [2B] Enchantment: Nearrier Exicion                           [2U] Creature, Merfolk Knight: Gatsar Rora                   [3B] Creature, Cat: Sembride the Feart                       [5RR] Enchantment: Selta Blagnaling                          [G] Creature, Elf Guan: Fartor's Mattermayle                 

Epoch 34 average loss = 0.711765457749
Generated names
[W] Creature, Human Soldier: Vessend Skiodeater              [2U] Instant: Purglin Real                                   [R/G] Creature, Mount: Skil-Headegttl                        [3] Artifact: Mins, Redrotion                                [2U] Creature, Org: Spridgh Huil                             [1R/GR/C] Sorcery: Pear Hige                                 [2B] Creature, Beght: Hakctfiers                             [2G/Creab] Consperbant: Elvens's Cameratide                  [B] Creature, Human Geller Warrdira Cleri: Tawner Cither     [0] Artifact: Grunter Warr                                   

Epoch 35 average loss = 0.709046616316
Generated names
[3RR] Creature, Griffin: Fatpseed Lings                      [1W] Instant: Kavor Broph Rat                                [1G] Creature, Insect: Burnine Revilis                       [1U] Enchantment: Wood Consy                                 [W] Enchantment, Aura: Elvazan Arrike                        [None] Land: Starc Slamers                                   [3] Artifact: Flifery Tune                                   [4GG] Sorcery: Sack of Stenast                               [1GG] Enchantment: Apsent Tragons                            [1B] Creature, Avatar: Sarggle Cave                          

Epoch 36 average loss = 0.705560182095
Generated names
[U] Creature, Human Wizard: Whichort Gatror                  [2B] Creature, Human: Spion-Dwet Havissish                   [2R] Creature, Deblin: Graelheed Dreede                      [1] Artifact Creature, Spirit: Night of Dame                 [2G] Creature, Human Spellshraker: Chompper Scato            [1R] Instant, Arcase: Bush's Crake                           [G] Enchantment, Aura: Aurain Blornbair                      [2G] Creature, Chint: Frephar Wing                           [B] Creature, Merfolk Warrior: Blood Brain                   [3W] Creature, Thaen Assass: Kathoss Invitald                

Epoch 37 average loss = 0.704713006258
Generated names
[4U] Creature, Wurm: Souls of the Goels Chalarder            [None] Creature, Elf Warrior: Glaven Momager                 [2B] Sorcery: Sour's Torm                                    [W] Enchantment: Tratry of Need Vra                          [None] Conspiracy: Mancer Dismus                             [3R] Creature, Fierd: Seved Gike                             [B] Instant: Drachuls                                        [2] Artifact Creature, Goblin Warrior: Wakerite Zombal       [InBe] Land: Sunf anemesher                                  [3R/GR/C] Instant, Treskit: Juttan Flaf                      

Epoch 38 average loss = 0.704091921687
Generated names
[2U] Creature, Insect: Chaptisceringer                       [1GG] Enchantment, Aura: Deliler of Chire                    [3] Artifact Equiptert, Arrifoldie: Cloir Cuncet of the Heve [2] Artifact: Togo Dronger                                   [4GG] Sorcery: Qu Slice                                      [5U/P] Instant: Gravy Shridgh                                [None] Plane, Grast: Rormer of the Mydenge                   [None] Land: Barguan Hormantstaar                            [2] Artifact: Vation Snaceration                             [2RRR] Creature, Dragke: Dru-Hetret Patoller                 

Epoch 39 average loss = 0.702721931934
Generated names
[W] Instant: Datte Imperation                                [None] Legendary Creature, Wall: Dapeonged Wast              [4B] Creature, Goblin Cleric: Assedrani, Anger Helke         [1R] Enchantment, Araworf Warrior: Sighbrizhishen Retrocy    [None] Land: Venduer     Sears                               [1W] Instant: Boil Dwar                                      [ None] Planeswalker, Farriniad: Monati, Cour fannerleald    [WR] Instant: Flack I                                        [W] Creature, Angel: Lissas Shamageent                       [2G] Enchantment: Mattici Nelly                              

Epoch 40 average loss = 0.699081655741
Generated names
[1R] Creature, Zombie Warrior: Aricyry Scaegar               [2BB] Enchantment: Hele-Corost                               [W] Creature, Humin Horror: Veckaratian                      [1G/W] Creature, Sliver: Rateriil Walvash                    [3R] Creature, Goblin Wizard: Hugger Pdand Gaistor           [3W] Instant: Dactice of Phoote                              [4RR] Creature, Human Archer: Throul Traffert                [2WW] Legendary Creature, Human Soldier: Treil Ggire         [3] Artifact Creature, Golem: Woodread Sirestor              [1U/RU/UW/P/B] Legendary Creature, Goblin Horron: Auradoakin 

Epoch 41 average loss = 0.699373464942
Generated names
[U] Enchantment: Aliar Oup                                   [2] Artifact: Redrite Ship                                   [2RB] Enchantment: Glystalbs                                 [4U] Sorcery: Consest                                        [2G] Creature, Imp Warrior: Himingel Beaser                  [WUB] Enchantment, Aura: Lechinatic of Lecanter              [3W] Creature, Orzi Rogue: Regoth Fase                       [4RR] Creature, Elemental: Livishston                        [] We/ Artifact Creature, Vampire Sliver: Opered Vinecraus S [2G] Enchantment, Aura: Blectix                              

Epoch 42 average loss = 0.698825009465
Generated names
[GG] Sorcery: Confupire Flide                                [U] Enchantment: Vetourwas Aust                              Oght Prinessent Seab                                         [1W] Enchantment, Aura: Lalt Treys                           [3W] Creature, Bad: Eionfinds Weate                          [3] Artifact Creature, Cat Rogue: Fires Evilian              [3GG] Creature, Elf Archer: Anger Nids                       [2R] Creature, Elemental: Watered Father                     [2B] Creature, Goblan Slid Knight: Zhain Match the Meed      [2WW] Enchantment: Auzan, Misedeis                           

Epoch 43 average loss = 0.697388934374
Generated names
U] Legendary Creature, Beast: Solictian Treed                [UUU] Sorcery: Bombsiguar's Breeps                           [1B] Sorcery: Mind of Thrave                                 [52] Sorcery: Destebushi                                     [1B] Planeswalker, Meast: Reeprayasy                         [B] Creature, Acor: Weirscrote Ranamar                       Troature, Elf Warr: Catebederent                             [1B] Creature, Horror: Arrugle Obrive                        [4] Instant: Ar-of Puscatar                                  [1R/WW] Enchantment: Gai of Reineath                         

Epoch 44 average loss = 0.696193481565
Generated names
[2R] Instant: Ulfromula Essamon                              [1U] Creature, Elemental: Sulvviftion                        [R] Creature, Goblin Warrior: Koldsisk of Lectair            [1U] Creature, Elf Ally: Pherzorgeran Dragons                [8] Creature, Trycus: Angic Erguel                           [3WB] Creature, Bird: Ancy Oughent                           [1UB] Instant: Pshrusmitator                                 [1RR] Creature, Insect: Chep of the Icrotyra                 [3B] Creature, Human Monk: Soull                             [3W] Creature, WWizidrer: Melataus Minnuly                   

Epoch 45 average loss = 0.696006732702
Generated names
[None] Legendary Leatury: Overing Lormined Ralk              [1U] Instant: Pir Tda, the Rocue                             [1UU] Instant: Primin And                                    [5R] Creature, Last: Angel the Antialy                       [4] Artifact Creature, Orut: Seara of Prepoll                [WW] Enchantment: Flindtrifter                               [3W] Creature, Human Beast: Munarik Bepsatter                [XXRRW] Sorcery: Purefth Citthes                             [R] Creature, Beast: Borarn Strolz                           [3RR] Creature, Werewolf: Alencel of Wildines                

Epoch 46 average loss = 0.694396986485
Generated names
[1Ine] Land: Whiming Bandmegoc                               [2G] Creature, Elf: Roken Allowhart                           [2W] Enchantment: Nanamoc Rife                              [U] Instant: Stund of Fuide                                  [2WW] Enchantment Creature, Human Wizard: Glou               [2] Artifact: Alabadate                                      [2R] Instant: Consudus Retror                                [5R] Creature, Human Cleric: Seepe-Whiev Rells               [2] Artifact: Witvexial Harr                                 [3G] Creature, Human Wizard: Daunter's Inkem                 

Epoch 47 average loss = 0.692624762416
Generated names
[2U] Creature, Beast: Wunger Mage                            [4RR] Creature, Dwarf Drugen: Anorer Dret                    [2U] Creature, Sliver: Guirtle Elener                        [1U] Creature, Fasscent Aurur: Istabel Efferstoug            [1R] Sorcery: Qfetylexors Ouplage                            [2RR] Enchantment, Aura: Cragg Asselk                        [4] Artifact: Giant Shied                                    [U] Creature, Huvan Artrect: Berous Twerper                  [BBB] Creature, Zombie: Embra Commoos                        [R/G] Sorcery: Undrimation                                   

Epoch 48 average loss = 0.689700692892
Generated names
[4] Artifact: Iscerning Captide                              [4WW] Creature, Human Knight: Netless Spell                  [2B] Sorcery: Oblen's Sunticaine                             [1] Artifact: Bushery Wat                                    [4UU] Instant: Vedim Assa                                    [3] Artifact, Equipment: Storn Tat Mand                      [None] Land: Hath Barous                                     [6U] Creature, Human Scout: Peaskil Devoce                   [3R] Instant: Deampire                                       [1] Artifact, Arcane: Arza of Brood                          

Epoch 49 average loss = 0.691166070223
Generated names
[2R] Creature, Rhont Monk: Worfborneer Gomil                 [2R] Creature, Sliver: Thiving Cha Elementaut                [1G] Creature, Elf: Knight Goblin                            [1GW] Enchantment, Aura: Ponfissa Groun                      [1R] Creature, Zombie Wild: Gollim Abornopher                [2] Artifact: Unim's Skill                                   [5RR] Creature, Faerie Spirit: Sanctic Dyptrity              [2] Artifact: Solcling Blyring                               [G] Creature, Human Shaman: Jothesson Simimer                [2] Artifact: Trount Tones                                   

Epoch 50 average loss = 0.68834342134
Generated names
[3R] Sorcery: Sade of Errage                                 [3G] Enchantment, Aura Arterer: Palixa's Piral               [1GR] Creature, Griffin: Impion Roovers                      [2U] Enchantment, Aura: Lavid Essen                          [GU] Creature, Human Wizard: Geared Insoon                   17] Artifact: Blissm Rate                                    [B] Creature, Efrert: Soul Essight                           [1R] Creature, Beast: Dunoos of the and With                 [1R] Creature, Elemental Scout: Goblin Ghage                 [2R] Creature, Human Wizard: Nishrave Thommos                

Epoch 51 average loss = 0.689046909571
Generated names
[2GG] Enchantment: Tayar of Illusioner                       [2W] Enchantment, Aurif: Mover Halvalble                     [1R/WB/W] Creature, Slata: Calsude Nighstoug                 [3R] Creature, Elemental: Thecter's Ghoeter                  [RB] Sorcery: Sand Ledoning                                  [ XR] Sorcery: Detu-Dack Seact                               [2R] Creature, Vampire Ratary Shaman: Rasththemer            [5UU] Creature, Djinn: Rain Spider                           [1U] Enchantment, Aura: Courrafice                           [5G/W] Creature, Spirit: Roscra Archeribur                   

Epoch 52 average loss = 0.701497841835
Generated names
[3] Creature, Dryag: Livin Will's Avatuem                    [None] Land: Ravisoven Coar                                  [5BR] Creature, Shaplors Wizmerd: Wintersai Javergarn        [0] Artifact Creature, Eldrazi Drone: Grisher of Yesutess    [2B] Legendary Creature, Avatar: Ozzad Squader               [1U] Instant: Sealic Recorn                                  25B] Creature, Bird: Phyry Collusion                         [None] Land, Lake Alkels: Buth of Reeptal                    [2U] Instant: Azzot of Dusp                                  [1U] Instant: Emesa Bests                                    

Epoch 53 average loss = 0.691482343554
Generated names
[2B] Enchantment: Swandring Avalatcude                       [3GG] Creature, Sliak Wizard: Corpprandse Raggion            [W] Enchantment: Contact                                     [None] Land: Masaling Rake                                   [1BB] Enchantment: Lanssuntyre                               [3U] Creature, Eldrazi Warrion: Assing Flape                 [4RR] Creature, Avatar: Nybrade Covencorm                    [3R] Sorcery: Order Ovense                                   [None, Creamentartera: Tawactertunal                         1B] Creature, Kor Soldier: Cale Verson                       

Epoch 54 average loss = 0.688349842548
Generated names
[1UU] Sorcery: Devilen Feartlest Forge                       [5] Artifact Creature, Construct: Provivalian                [1R] Creature, Human Shaman: Ichos the Opperer               [B] Creature, Goblin Rogue: Bankwnist Rootic                 2Noge] Land: Sathroble Slust                                 [1UU] Enchantment: Martia                                    [4U] Creature, Human Shaman: Nute Engil                      [1W] Creature, Insect: Tection Wambier                       [2BB] Creature, Human Wizard: Dectal's Sombrus               [5GGG] Legendary Creature, Ogre: Twing Heul-Sagen            

Epoch 55 average loss = 0.683362756014
Generated names
[R] Creature, Shatinx: Sun Selven Gorge                      [1G] Enchantment: Misechonl of Uvazications                  [B] Creature, Thrull: Allet, Knike                           [2U] Creature, Wurm: Sphrite Zempire                         [2B] Creature, Hearle: Arcka, Seablers                       [UU] Creature, Elemental: Thillblly Chilt                    [None] Inst: Sphring Brob                                    [1B] Sorcery: Timmiva Enetian                                [W] Enchantment: Mirioning Gouler                            [2R] Sorcery: Burture Shamise                                

Epoch 56 average loss = 0.684946721673
Generated names
)U] Legendary Instant: Brow                                  [4] Artifact Creature, Beast: Mino Toperetrater              [2G/WW/B] Legendary Creature, Human Cleric: Mintaug Goblybla Crutizaz)  Artif Creature, Drake: Souls Heens                [1BR] Instant: Folestinatary                                 [1] Artifact: Ponfece Bavestanter                            [UUU] Creature, Elemental: Procine Seerners                  [W] Creature, Spirit: Medil's Plum Angeace                   [3] Artifact, Equipment: Nutuon agestricarn                  [UU] Instant: Trange Sterret                                 

Epoch 57 average loss = 0.684115430355
Generated names
3B/Ronchant: Rivingle Nagmerce                               [UU] Intant: Myclossmute                                     [1U] Creature, Lizard Dwar: Goblin Horves                    [None] Land: Scrana Defint                                   [1U] Instant: Goryching Wave                                 [WW] Creature, Centaur: Zepliftwaster                        [W] Enchantment, Aura: Kdrave Constior                       [X] Artifact: Firin'b Tream                                  [3R] Creature, Clozer: Shippe Withs                          [5] Artifact: Avat the Captous Wizand                        

Epoch 58 average loss = 0.684249726415
Generated names
[3] Legendary Artifact, Equipment: Clone of Grindwooder      BG] Creature, Ment Bage: Mirking Sauntuit                    [1W] Instant: Daring Beal                                    NomenthReishapisis: Speidbren Ripake                         WW] Enchantment: Scour Rain                                  [3B] Creature, Shapect Shaskin: Fasid Horder                 [6RG] Creature, Elf Archer: Frocr, Krawworded                [3R] Creature, Human Soldier: Armilar                        [5] Planeswalker, Light: Shatture Jabittheen                 1U] Instant: Tempneleritace                                  

Epoch 59 average loss = 0.680671445012
Generated names
[42G] Creature, Chout: Cambira Fieft                         [3UU] Creature, Human Cleric: On Doorin                      [1GW] Creature, Human Aution: Sildrewess                     2B] Creature, Human Knight: Akkin Druins                     [2R] Instant: Dearchor                                       [3] Artifact: Deaking Diskerge                               [2] Artifact: Cward of Inshraft                              [3] Artifact: Captrustel 'pwand                              [2UBW] Legendary Creature, Human Shaman: Jokbake Sirens      [1U] Enchantment, Aura: Flines Porver                        

Epoch 60 average loss = 0.681426283121
Generated names
 [6] Artifact Creature, Drake: Stock Hodrer                  [1R] Creature, Human Wizard: Vutaur Voduso                   [15B] Instant: Mark of the Par                               WW] Enchantment, Aura Druid Shaman: Puleurge Kwalleanze      [2U] Creature, Elf Orvidary: Mistution Seves                 [4U] Sorcery: Instieltiom                                    [1] Artifact: Hlail of Kitrecwal                             [2U] Enchantment, Aura: Shatch Bosectiete                    Nonsicidi Robt                                               [2R] Creature, Fid: Odoken Strimbt                           

Epoch 61 average loss = 0.681777889609
Generated names
[2B] Creature, Human Knight: Mabnek Erbir                    [3GG] Enchantment, Aura: Skyen Dragon                        [2WU] Creature, Human Mercenassin: Velup Sky Qurets          [3GG] Creature, Beart: Mountworkets T Tall                   [1U] Enchantment, Aura: Rackling Watcher's Ove               [None] Enchantment, Uninx: Omn Cruc Sateat                   3W] Creature, Shapeshion: Neculitar                          [1U] Instant: Turn of Trost                                  Nonchand: Swarl Reg                                          ZTG] Creature, Dragon Warrior: Rittugring Benemerer          

Epoch 62 average loss = 0.679933712125
Generated names
[None] Vanguard: Ataterhed Thraid                            13] Artifact: Dree Colemine                                  [1R] Enchantment: Sacher of Unibation                        [1R] Creature, Marrotog: Howt Jimilic                        [3U] Enchantment, Aura: Samic Crain                          [3] Artifact: Tree Borren                                    [1U] Enchantment, Aura: Marr Boptor                          [1B] Creature, Horuncurdion: Alatad Modg                     [1B] Instant: Muse's Brinder                                 [2R] Enchantment: Hatchal of the Stone                       

Epoch 63 average loss = 0.680225119352
Generated names
[W] Instant: Azorents Halkivus                               [B] Instant: Sarekstarl                                      [3U] Sorcery: Ezour Lamon                                    [4R] Creature, Goblin Goblin: Gobe Holesery Griscerkerazur   [W] Creature, Ogre Cleric: Battluse Sonettel                 [3RRR] Creature, Vaerper: Lab Rover Wiom                     [R] Creature, Horror: Urmnable Master                        [2B] Creature, Serpent: Goishom Himder                       [UU] Creature, Merfolk Speeter: Street Dephation Panty       UUU?g [B] Instant: Thramgif Arency                           

Epoch 64 average loss = 0.675875888824
Generated names
[5U] Instant: Wind Titacest Esseng                           [2] Artifact: Highter of Ringing                             2W] Creature, Human Soldier: Desoll Satoly                   [2G] Instant: Blast                                          [2GG] Creature, Dmagon: Murealize                            [TG] Creature, Human Wizard: Dipp-One Darkin                 [2] Artifact, Equipment: Chrouel Shalky                      [3] Artifact, Equipment: Hakeler's Searce                    [4R] Instant: Crid Orm the Choul                              [1R] Sorcery: Promistle Dound                               

Epoch 65 average loss = 0.680497586727
Generated names
[None] Land: Exoldy of Lostssight                            [URR] Instant: Formary Heite                                 /Non Be] Land: Soul Seef and                                 )3W/B] Legendary Creature, Hirrion: Baterrap, Len            [1UB] Enchantment Creature, Lizard Wizard: Reto-Seal Crimi   [3U] Creature, Elemental: Nime Spirin                        1WW] Creature, Human Soldier: Guard Sighters                 [ 1W] Creature, Grois Borbs Soldier: Blood-Tider of the Slie [WUB] Sorcery: Darksmort Starest                             [2R] Creature, Meentar: Sleath Tajare                        

Epoch 66 average loss = 0.678680092812
Generated names
4Re] Sorcery: Grave Rains                                    [WU] Enchantment: Gbind Leace                                [U] SArcery Creature, Faterish: Iithemking Gnightbake        [32B] Sorcery: Tempesing Etivate                             2UGG] Creature, Dragon: Vardy-Colvokun Igentrat              2R] Instant: Kingst                                          [None] Land: Meptalb Ortiends                                [None] Land: Sheethph Asherion                                [2] Creature, Snake Horror: Mar-Gushinat Miclshyshort        [None] Baswind: Sae Baugh Colesferge                        

Epoch 67 average loss = 0.676275095105
Generated names
[5BBB] Enchantment: Phincinger                               Fre] Enchant: Volling Bat                                    [None] Land: Stownghang                                      [G] Creature, Encart Werewolf: Cryamonker                    [3RR] Creature, Rat: Goblin Drash Torma                      [G] Creature, Centaur Warrior Alle: Talmage Doitator         6WU] Instant: Nodth Randuite                                 ?4R] Instant: Ram's Ret                                      [W] Enchantment, Aura: Wolf torch                            [3RR] Sorcery: Spargenath                                    

Epoch 68 average loss = 0.674797868252
Generated names
)2R] Enchantment, Aura: Ula Forter Acars                     [1U/BG] Creature, Ahrion: Vihence Shaman                     )UR/Ul] Creature, Elemental Shaman: Mondra Gobluzza          [2] Creature, Human Nemash: Warkenic Real                    [None] Vanguar: Fillu Clompoon                               [R] Creature, Rat Berserkion: Kanter Catm                    5e] Instant: Sunecrain                                       [3U] Instant: Vojurep Porb                                   [4] LegenAnt Artifact: Lande of Destafle                     [R] Creature, Human Clery: Rind Scare Rajary                 

Epoch 69 average loss = 0.674284662604
Generated names
[RG] Instant: Hordon                                         [3B] Sorcery: Prighblighey                                   [1W] Instant: Deefact                                        [1B] Instant: Forty Iffialsers                               [5U] Instant: Braid Block                                    [3] Trogure, Equipment: Heallar Advocatar                    [31W] Creature, Efttert Warrior Archer: Denolu the Liendizha )2/WW] Creature, Efreera: Pothing Ertor                      [2G] Enchantment: Dive of Cersatation                        [3G] Instant: Call of Emure                                  

Epoch 70 average loss = 0.673810699701
Generated names
[None] Creature, Mentolk: Paustleconder                      [3] Artifact: Secrop Glars                                   4U] Creature, Plant: Grime Witcher                           [1B] Creature, Incalation: Vestlinger                        [3] Instant: Moos of Assaus                                  [R] Instant, Arcane: Stolkenspun Sterent                     )UU] Creature, Wurm: Miriace Dreaver                         )W] Creature, Croicole: Healh's Pissuncelisy                 [2] Artifact Creature, Construct: Firefight Bellore          )R] Creature, Spiver: Loug Supisy                            

Epoch 71 average loss = 0.674153455257
Generated names
[1RR] Creature, Eldrazi Wnorker: Warmsmotio                  [W] Creature, Zombil: Veinstoad Turge                        [1RR] Sorcery: Eyinger                                       [1RRe] Sorcery: Wand Degale                                  5XW] Instant: Seacour Eldy                                   [1W] Enchantment, Auist: Thiling Wail                        [Nones Fisker: Insupiri, Dassiel                             [2W] Creature, Human Cleric: Loundart Winder                 )G/ Creat  Legendary Creature, Liandien: Stronglogmand       [None] Land: Flaid                                           

Epoch 72 average loss = 0.67383656168
Generated names
[3BB] Instant: Raziaker Ealt                                 [W] Enchant: Cray Staptic                                    [1G] Creature, Sliver: Sun Cirsan Shaller                    [1W] Creature, Human Cleric: Best of Guist                   [3] Artifact: Parbead                                        [2U] Instant: Gelree Crayalty                                [None] Consereat: Jasacris                                   17] Creature, Dragon: Cyster Menton                          [None] Land, Merchist: Volial Sparkmrear                     [None] Land: Ponrchapation Juest                             

Epoch 73 average loss = 0.674721673369
Generated names
[3U] Instant: Efrumadi                                       [2U] Creature, Seree: Reveled Elite                          [4GG] Creature, Elemental: Guinder Supper Spell              [3G] Enchantment: Didianun                                   [U/B] Instant: Yeton Will                                    [7] Artifact Creature, Soldier: Stalling Decoemespist        [2U] Creature, Bat Beast: Brynibel, Marplapers               [5UR] Sorcery: The Baje                                      [3U] Creature, Bat Spirit: Lamb: Phostless, Kazar            [2U] Creature, Eldrazi Drone: Spite-Dress Dragnaster         

Epoch 74 average loss = 0.671146870494
Generated names
[1UU] Creature, Beast: Runt Arrofochyry                      [WW/GU/P2/W] Enchantment: Selazion                           [3R] Creature, Vambre Soldier: Livin, Wilders                [1WW] Creature, Human Monk: Worches Bantict                  [2RR] Creature, Zombie Horror: Trifor's Forcers              [2U] Creature, Human Knight: Signer of Reguld                [2RRW] Sorcery: Sinefilecutiling                             Hee] Snowchary: Vetevash Watchggt                            [B] Instant: Secrolly of Choi                                [2G] Instant: Stinding Mastering                             

Epoch 75 average loss = 0.672304023623
Generated names
[1GG] Creature, Elephaus Artificer: Archine, Nubhant of the  [WB] Creature, Human Kniger: Kinevatakirn in Oosse           [None] Land: Reward Ela Tjinx                                )41G] Creature, Spirit: Avenguliy Skulkun                    [UR] Instant: Eide Ruse                                      [11BBB] Creature, Spirit: Lodber of therath                  [1UU] Enchantment, Aura: Mindstoyer                          )G] Creature, Elemental: Furrepismonaral                     [1RR] Creature, Djanfolk: Rag Souross Shados                 [3] Artifact: Devoladirian Winding                           

Epoch 76 average loss = 0.675507477403
Generated names
[2W] Creature, Human Artificer: Siggape Coldy                20] Creature, Beast: Drestoi Sliver                          [1G] Enchantment, Aura: Fole's Culser                        [2RR] Legendary Creature, Spirit: Ravaacran Cantion          [5U] Enchantment, Aura: Sand Sanewernerred                   [12R] Enchantment, Aura: Cithlisscihing Monatce              1W] Enchantment, Aura: Mirmic Tousting                       13U] Instant: Underouth                                      [X2/WW/BW/B] Creature, Insect: Lalkinx                       )2GG] Creature, Elemental: Heloter Par Seralder              

Epoch 77 average loss = 0.676964203596
Generated names
[2U] Enchantment: Fate of Dution                             [WWW] Creature, Elemental: Dound Wander                      [2G] Sorcery: Storm Archent                                  [1RR] Creature, Vedapher: Seebel of Stromeer                 [3U] Sorcery: Withe Artholingate                             3B] Instant: Pson Mulleral                                   [U] Enchantment, Aura: Dra Beid                              [1R] Enchantment: Dismoha's Discinters                       [R] Enchantment, Aura: Carnic Revelders                      [1GW] Creature, Kor Mol: Gal of Realed                       

Epoch 78 average loss = 0.681893267155
Generated names
[1U] Instant: Frockshole                                     [W] Creature, Drake: Kciri of Own Dragon                     [3] Artif Eld Enthant: Kire of Aeging Golums                 [R] Sorcery: Onera's Metelous                                [2RR] Enchantment: Mirnotic Cenling-Tippating Destool        [1G/GW/WR/BR/U] Creature, Illman Shamen: Shate Corgedan, Sad W] Instant: Wilthance Vowsw                                  [4] WU/  WR/Iret, Enchantment Createf Minia: Sheel Decilimry [B] Creature, Feerh Shamen Clenin: Woondasper Ratedous       [4R] Instant: Mystict of the                                 

Epoch 79 average loss = 0.677330568433
Generated names
[2R] Enchantment: Purmle the Elanger                         [3G] Creature, Elf Scout: Migofliter Drake                   21R] Intant: Ecettois Und Rigituse                           [Nones, Land: Mu-Intifion Aurstility                         [4G] Creature, Spirit: Banecrif Worder                       [None] Land, Ingnashiph: Camporge's Jaw                      [4W] Creature, Bird: Oopretle Spider                         [G] Creature, Crect: Krophanord Cava                         [1B] Enchantment, Aura: Tya Stalf                            [W] Creature, Kithk Rebeld: Sychron Hinder                   

Epoch 80 average loss = 0.674005138278
Generated names
[3U] Sorcery: Cith Resple the Probler                        [1W] Creature, Elk Screer: Digons alking Clourder            [1BR] Creature, Vampire Rebben: Sebal of Witcher             [3U] Creature, Cat: Naquille Decidic                         [None] Pleat, Uldift: Ghanderal Scakeved                     [None] Land: Captadlone and                                  [U] Instant: Piftionchy                                      [1U] Creature, Elf: Spiritace Witch                          [2R] Instant: Kyroal Runemancle                              [2W] Instant: Bulloden Dindcheling                           

Epoch 81 average loss = 0.673159343958
Generated names
[3R] Creature, Scarpeshifter: Rifeta, Crawlree Phyre         [3R] Creature, Beast: Dragoka of Slocknar                    [6GG] Creature, Bastish: Ghoulstalc                          [1U] Creature, Snake: Cohutor Claw                           [2R] Instant: Dismer Feyptal                                 [3U] Creature, Elf Scopus Shaman: Murning Mage               [2] Artifact Creature, Skeletant: Thout Bat Temperbunger     [5G] Creature, Elemental: Scorm Monggreald                   [1B] Enchantment: Daunted Greasel                            [4R] Creature, Snake: Altrath Spadgowers                     

Epoch 82 average loss = 0.669534605384
Generated names
[3B] Creature, Elemental: Fora Caverane Ance                 [WW] Enchantment, Aura: Loonify                              22] Artifact: Embing Tream                                   [2WU] Instant: Disiterge Reslrand                            [1U] Creature, Cat Shaman: Earth Dragier                     [3U] Creature, Beast: Waelly Haed                            [5] Artifact: Mine of int                                    [1U] Creature, Human Roguee: Baribes Raider                  SUUUBUhthindamin)Cre!I [:  Enchatify                         [3R] Enchantment, Aura: Kaerol                               

Epoch 83 average loss = 0.671668976903
Generated names
[2R] Creature, Boar: Dark of inspangs                        [5GG] Creature, Elprand: Downatched Mone)                    [None] Vanguard: Storm Hard                                  [R] Instant: Bateling Disship                                2UBB] Creature, Human Wizard: Unzarous Belect                [UU] Enchantment, Aura: Psokon Fet                           [3RR] Sorcery: Patterpe's Prive                              [3R] Creature, Elemental  Soldier: Puladoty Elementail       [B] Enchantment, Aura: Wing Aspa                             [None] Schemen: Voed Rever Dragion                           

Epoch 84 average loss = 0.676260888934
Generated names
[1] Artifact Creature, Merfolk: Dramoners Slommast           [1] Artifact: Seantshies                                     Noy, WU/ Creature, Merfolk Rogue: Jazzid's Asseod             [2] Artifact, Equipment: Definithoos                        [1U] Sorcery: Life Compantce                                 [2U] Enchantment, Aura: Vampire's Pary                       [1W] Instant: Bogger Birchanic                               [3B] Sorcery: Haichbling Witray                              [W] Enchantment, Aura: Kozal of the Naklish                  [3U] Creature, Elemental: Embermage Agravaina                

Epoch 85 average loss = 0.681699378252
Generated names
2U] Instant: Healf's Tunne                                   [2U] Instant: Thiri's Hermist                                [W] Creature, Forfolk Shaman: Roochi Earden                  [4U] Instant: Drass Asce                                     [2B] Sorcery: Sall Cyspolhselincher                          )None] Land: Inferi the Tattonk                              8WUBBB] Creature, Cat: Pricaur                               [3R] Sorcery: Tetropori                                      [1U] Creature, Beast: Far Mintort of Wander                  [3U] Instant, Arcane: Drake                                  

Epoch 86 average loss = 0.673881172419
Generated names
[1R] Creature, Human Rogue: Odding Windan                    [3RR] Sorcery: Bayfding Spirit                               [1W] Creature, Nightmant: Rhightnine                         [1B] Creature, Human Rebal Rogue: Horchovered River          WR] Creature, Kavu: Graveng Gustice                          [2U] Sorcery: Dirzidy                                        CAnitficWeit  Creature, Human Kniger: Archindity Arcanx      [1U] Instant: Stresilbleast                                  [1GG] Creature, Snake: String Honvel                         : Artifact Scout: One Snake Compall                          

Epoch 87 average loss = 0.677137479782
Generated names
[1W] Enchantment, Aura: Thang                                [UU] Enchantment, Aura: Ember's Himm                         [3W] Creature, Human Soldier: Mage of the Auc                4UUBUU] Creature, Insect: Thannother Exhantain               [1G] Sorcery: Chosthled Stalkeus                             [3R] Instant: Crainour Swidgent                              [1G] Creature, Elf Rogue: Mossjus Dacecosk                   Nensfost: Infcrull to Fus                                    [3UU] Creature, Human Rogue: Valnow Wux                      [R] Sorcery: Dannel Depuarent                                

Epoch 88 average loss = 0.671447474957
Generated names
13G] Creature, Beast: Gorimame Missure                       [2U] Enchantment, Aura: Avorker of Wormhin                   [1U] Sorcery: Cout: Pents of the Giant                       Nunisss"Wilm"                                                [3W] Creature, Elf Artificer: Norke of the Gile's Houndrake  [3U] Enchantment, Aura: Spectric Story                       23U] Creature, Wurm: Waretaletis                             [1U] Instant: Spectity                                       [1G] Creature, Fom: Volusion Yunix                           [Done] Vanguard: Bloodsight Tatord                           

Epoch 89 average loss = 0.671293070197
Generated names
[3UU] Enchantment: Thouly Patterscue                         [5] Artifact Creature, Trooder Soldier: Angel's Cated Toryre [1U] Enchantment, Aura: Mital's Pride Entantcrany            [11W] Instant: Min-Brume of Days                             [3G] Creature, Treefolk: Eldpanter Consacent                 [5] Artifact Creature, Eldrazi Drone: Nordu Droud Ergossal   [3] Artifact: Shonewood Deepion                              [5U] Legendary Creture, Hummary: Nighthing Strou             [1U] Enchantment, Aura: Namic Geral                          [3R] Creature, Elemental: Gobllshasher                       

Epoch 90 average loss = 0.674235855341
Generated names
[4W] Sorcery: Eritter of the Nifysu                          [2R] Creature, Cat Ogrura: Padal Hervantcemigonin            [1G] Creature, Beast: Thuker Rasser                          [3BB] Creature, Human Archer: Barkhric Sardamen              [U] Enchantment, Aura: Lightwing Avage                       [None] Scheme, Angen: Shund Cloll                            [3G] Enchantment: Elthence                                   [7WUB] Legendary Creature, Dwarin: Rooning Glirk             [3U] Sorcery: Emberdure                                      [4U] Instant: Phyrus of Wind                                 

Epoch 91 average loss = 0.676531649232
Generated names
[1URW] Enchantment: Elvind Hooter                            [1U] Instant: Suctial Scourn                                 [1B/RB/GB/GB/G] Sorcery, Hemen: Chackstoug Prieker           [0GW] Instant: Sugmoss Ef Errim                              [W] Creature, Human Rogue: Concetaur Solver                  [2G] Creature, Slider: Raukordean Wyrkith                    [3U] Creature, Spirit: Instication Spictustwedbase           [GW] Creature, Human Rogue: Wraver's Cunger                  [1U] Creature, Vedalken Soldier: Bloodwand Cavarier          [Cre] Creaturer: Prowence Memserge                           

Epoch 92 average loss = 0.672486045718
Generated names
[5UB] Creature, Sphere: Rith Imp                             [3U] Instant: Kellen Not                                     [4W] Creature, Trule: Dange Dra the Giant                    [1U] Creature, Goblin Warrior: Undancaler                    [1GWU] Creature, Beast: Batist Chain                         [3RR] Creature, Giant Soldier: Goblin Belly Spick            [2R] Enchantment: Marksillekeatle the Fire                   000G/  Lege] Creature, Eldrazur: Elvishis an Wind            [None] Land: Flasagrune Deferm                               [5UU] Artifact: Proshen                                      

Epoch 93 average loss = 0.674820959449
Generated names
[5] Artifact: Sting Asheronder                               [1BB] Creature, Zanken: Gilt of Pachitus                      [3G] Enchantment: Secrour Extinx                            [2GG] Creature, Beast: Raune Awald                           [W] Enchantment, Aura: Flictle the Pozil's Cound             [12] Antifact: Hyferon Zurration                             CT& [2GGG] Instant: Conterlowl                               CApicelet Doyf: Sightnift Seeping                            [1GW] Enchantment: Chirphess                                 [5U] Creature, Skelute: Frestline af Sulfing                 

Epoch 94 average loss = 0.679719195962
Generated names
[WW] Summon, Freeter: Clamerati's Und                        [None] Land: Ezord Reganey                                   [1WW] Enchantment: Resoir Tringstoke                         [3G] Enchantment: Po Capander                                [None] Land: Untance of Thipters                             [1W] Creature, Human Soldyreer: Skywhexfalker                 [4UU] Instant, Arrane, Burakengit: Kital Excions            [W] Instant: Thundit of the                                  [Noneswalker, Rarri, Same: Kav Spark Spitter                 14W] Enchantment: Temerching Chronment                       

Epoch 95 average loss = 0.691690275908
Generated names
[1G] Sorcery: Sunaded Spittie                                [1W] Creature, Vampis Cleric: Blastscaler                    [1RB] Instant: Way Murstrowm                                 5None] Solmer: Memorator's Grarzeble                         [W] Legendary Creature, Elemental: Minder                    )1W] Enchantment, Aura: Realstone                            [WW] Sorcery: Lectw                                          [2UBR] Creature, Illusief Ally: Lodde-Maghing Godym          [1U] Creature, Beabm Wizard: Speetrope Skyrical              [3UU] Sorcery: Craptice Phiquire                             

Epoch 96 average loss = 0.683277366519
Generated names
[1R] Creature, Snage: Phoctic Strampal                       [W] Creature, Merfolk: Sputtenatan Corpilem                  [2R] Sorcery: Toric Draw                                     W] Instant: Imortiond                                        [2U] Creature, Merfolk Wizard: Deaw Trarlbrider              [12U] Creature, Elf Rogue: Nights of Ass                     [1U] Creature, Elf: Avatary Obles                            [1UR] Creature, Beast: Dirar Endron                          [5GG] Creature, Elf Rogue: Scatasuul Lider                   [1RG] Creature, Cat Asstresion: Ally Gnindswabe              

Epoch 97 average loss = 0.684599575639
Generated names
[[U] Sorcery: Lane One                                       [1R] Creature, Devil: Maki Deverous                          [2R] Creature, Mari: Phyrand Hatchinate                       [1U] Enchantment: Puntatorn flydr                           [UUU] Creature, Human Warrior: Ruga Blood Hars               [1] Artifact: Banion Psostrax                                [1] Artifact: Saneling Lamburm                               [WW] Creature, Elemental: Miriled Cyrie                      [/R] Instant: Weiti Grinds                                   [1U] Creature, Elemental Berash: Thrime Slayter              

Epoch 98 average loss = 0.678647442222
Generated names
44GG] Creature, Merfolk Warrior: Ora Sparker                 [3W] Sorcery: Blave Withn                                    [1U] Instant: Fort Pawging                                   [1RWW] Creature, Human Soldier: Navellerath Innopation       )2WW] Creature, Human Wizard: Walfle, Tramen Hereth          [B] Instant: Mitai Inse                                      [4R] Sorcery: Garreslic Brise                                [2B] Enchantment, Aura: Colentsing Mines                     [None] Consparver, Zombie: Graves, Roushia Thous             [3GW] Instant: Sunture Berse                                 

Epoch 99 average loss = 0.685024125814
Generated names
[/R] Enchantment: Soulthbrase                                [1U] Creature, Yenit Warrior: Ignotissail Wunbreeter         [UB] Creature, Merfolk Scout: Ashens Disinser                [3BG] Legendary Creature, Sdagoldat: Drago, Thrave Esperd Hu [1R] Enchantment: Vireboun                                   [3B] Instant: Leetosysk                                      [4] Artifact, Equipment: Erowertol                           [W] Creature, Human Cleric: Arca'sair                        [3G] Creature, Human: Defiavoli                               [3U] Enfhentment, Warrior: Ged-Knook Lacklisk              

In [21]:
plt.plot(loss_history)


Out[21]:
[<matplotlib.lines.Line2D at 0x7f22af9f2390>]

And now,

  • try lstm/gru
  • try several layers
  • try mtg cards
  • try your own dataset of any kind

In [ ]: