wisardpkg

Discriminator

constructors:

type 1

from wisardpkg import Discriminator

addressSize = 3
entrySize = 9

d = Discriminator(
   addressSize,            # required
   entrySize,              # required
   ignoreZero=False,       # optional
   completeAddressing=True,# optional
   base=2                  # optional
)

type 2

jsonConfig = d.json()
d2 = Discriminator(jsonConfig)

The Discriminator can be saved with json or jsonConfig methods and reloaded later with this value.

methods:

train

It train with one entry or a list of entries.


X = [
      [1,1,1,0,0,0,0,0],
      [1,1,1,1,0,0,0,0],
      [0,0,0,0,1,1,1,1],
      [0,0,0,0,0,1,1,1]
    ]

# train with one entry
d.train(X[0])

# train with a list of entries
d.train(X)

classify

Return the outputs of each RAM.

x = [1,1,1,0,0,0,0,0]

ramsOutput = d.classify(x)

for ramoutput in ramsOutput:
    print("ram output: ", ramoutput)

json

This return the configuration and ram values as JSON format converted to string.

print("Discriminator: ", d.json())
# or pass true as parameter to save ram data in files (this is useful for huge rams)
print("Discriminator: ", d.json(True,"path/to/save/data"))

jsonConfig

This do the same as json() method, but without ram values.

print("Discriminator: ", d.jsonConfig())