def ConfigRunLog(ss, dt): dt.SetMetaData("name", "RunLog") dt.SetMetaData("desc", "Record of performance at end of training") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) dt.SetFromSchema(etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Params", etensor.STRING, go.nil, go.nil)] ), 0)
def ConfigTstEpcLog(ss, dt): dt.SetMetaData("name", "TstEpcLog") dt.SetMetaData("desc", "Summary stats for testing trials") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) dt.SetFromSchema(etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil)] ), 0)
def ConfigPats(ss): dt = ss.Pats dt.SetMetaData("name", "TrainPats") dt.SetMetaData("desc", "Training patterns") sch = etable.Schema([ etable.Column("Name", etensor.STRING, go.nil, go.nil), etable.Column("Input", etensor.FLOAT32, go.Slice_int([10, 10]), go.Slice_string(["Y", "X"])) ]) dt.SetFromSchema(sch, 1) patgen.PermutedBinaryRows(dt.Cols[1], int(ss.InputPct), 1, 0)
def ConfigSpikeVsRateLog(ss, dt): dt.SetMetaData("name", "SpikeVsRateLog") dt.SetMetaData("desc", "Record spiking vs. rate-code activation") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = 24 # typical number sch = etable.Schema([ etable.Column("GBarE", etensor.FLOAT64, go.nil, go.nil), etable.Column("Spike", etensor.FLOAT64, go.nil, go.nil), etable.Column("Rate", etensor.FLOAT64, go.nil, go.nil) ]) dt.SetFromSchema(sch, nt)
def ConfigTrnEpcLog(ss, dt): dt.SetMetaData("name", "TrnEpcLog") dt.SetMetaData("desc", "Record of performance over epochs of training") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) sch = etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("RewPredInputWts", etensor.FLOAT32, go.Slice_int([6, 1, 1, 6]), go.nil)] ) dt.SetFromSchema(sch, 0) ss.ConfigRewPredInput(ss.RewPredInputWts)
def ConfigTstCycLog(ss, dt): dt.SetMetaData("name", "TstCycLog") dt.SetMetaData("desc", "Record of testing per cycle") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) ncy = 200 # max cycles sch = etable.Schema( [etable.Column("Cycle", etensor.INT64, go.nil, go.nil)]) for lnm in ss.TstRecLays: sch.append( etable.Column(lnm + "ActAvg", etensor.FLOAT64, go.nil, go.nil)) dt.SetFromSchema(sch, ncy)
def ConfigTrnEpcLog(ss, dt): dt.SetMetaData("name", "TrnEpcLog") dt.SetMetaData("desc", "Record of performance over epochs of training") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) sch = etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("PerTrlMSec", etensor.FLOAT64, go.nil, go.nil)] ) for lnm in ss.LayStatNms : sch.append( etable.Column(lnm + " ActAvg", etensor.FLOAT64, go.nil, go.nil)) dt.SetFromSchema(sch, 0)
def ConfigPats(ss): dt = ss.Pats sch = etable.Schema( [etable.Column("Name", etensor.STRING, go.nil, go.nil), etable.Column("Input", etensor.FLOAT32, go.Slice_int([4, 5]), go.Slice_string(["Y", "X"])), etable.Column("Output", etensor.FLOAT32, go.Slice_int([4, 5]), go.Slice_string(["Y", "X"]))] ) dt.SetFromSchema(sch, 3) ss.Pats.SetMetaData("name", "Pats") ss.Pats.SetMetaData("desc", "Training patterns") patgen.PermutedBinaryRows(dt.Cols[1], 6, 1, 0) patgen.PermutedBinaryRows(dt.Cols[2], 6, 1, 0) cn = etensor.String(dt.Cols[0]) cn.Values.copy(["any", "baker", "cheese"])
def ConfigTstTrlLog(ss, dt): dt.SetMetaData("name", "TstTrlLog") dt.SetMetaData("desc", "Record of testing per input pattern") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = ss.TestEnv.Table.Len() # number in view sch = etable.Schema( [etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil)] ) for lnm in ss.TstRecLays: ly = leabra.LeabraLayer(ss.Net.LayerByName(lnm)).AsLeabra() sch.append(etable.Column(lnm, etensor.FLOAT32, ly.Shp.Shp, go.nil)) dt.SetFromSchema(sch, nt)
def ConfigTstTrlLog(ss, dt): dt.SetMetaData("name", "TstTrlLog") dt.SetMetaData("desc", "Record of testing per input pattern") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) sch = etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil)] ) for lnm in ss.LayStatNms : ly = leabra.Layer(ss.Net.LayerByName(lnm)) sch.append( etable.Column(lnm, etensor.FLOAT64, ly.Shp.Shp, go.nil)) dt.SetFromSchema(sch, 0)
def ConfigTstCycLog(ss, dt): dt.SetMetaData("name", "TstCycLog") dt.SetMetaData("desc", "Record of testing per cycle") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = 100 sch = etable.Schema( [etable.Column("Cycle", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil), etable.Column("Harmony", etensor.FLOAT64, go.nil, go.nil)] ) for lnm in ss.TstRecLays: ly = leabra.Layer(ss.Net.LayerByName(lnm)) sch.append(etable.Column(lnm, etensor.FLOAT64, ly.Shp.Shp, go.nil)) dt.SetFromSchema(sch, nt)
def ConfigTstTrlLog(ss, dt): dt.SetMetaData("name", "TstTrlLog") dt.SetMetaData("desc", "Record of testing per input pattern") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = ss.TestEnv.Table.Len() # number in view sch = etable.Schema([ etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil) ]) for lnm in ss.LayStatNms: sch.append( etable.Column(lnm + " ActM.Avg", etensor.FLOAT64, go.nil, go.nil)) dt.SetFromSchema(sch, nt)
def ConfigTstTrlLog(ss, dt): inp = leabra.Layer(ss.Net.LayerByName("Input")) recv = leabra.Layer(ss.Net.LayerByName("RecvNeuron")) dt.SetMetaData("name", "TstTrlLog") dt.SetMetaData("desc", "Record of testing per input pattern") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = ss.TestEnv.Table.Len() sch = etable.Schema( [etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil), etable.Column("Input", etensor.FLOAT64, inp.Shp.Shp, go.nil), etable.Column("Ge", etensor.FLOAT64, recv.Shp.Shp, go.nil), etable.Column("Act", etensor.FLOAT64, recv.Shp.Shp, go.nil)] ) dt.SetFromSchema(sch, nt)
def ConfigTstCycLog(ss, dt): dt.SetMetaData("name", "TstCycLog") dt.SetMetaData("desc", "Record of testing per cycle") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = ss.NCycles # max cycles sch = etable.Schema([ etable.Column("Cycle", etensor.INT64, go.nil, go.nil), etable.Column("Ge", etensor.FLOAT64, go.nil, go.nil), etable.Column("Inet", etensor.FLOAT64, go.nil, go.nil), etable.Column("Vm", etensor.FLOAT64, go.nil, go.nil), etable.Column("Act", etensor.FLOAT64, go.nil, go.nil), etable.Column("Spike", etensor.FLOAT64, go.nil, go.nil), etable.Column("Gk", etensor.FLOAT64, go.nil, go.nil), etable.Column("ISI", etensor.FLOAT64, go.nil, go.nil), etable.Column("AvgISI", etensor.FLOAT64, go.nil, go.nil) ]) dt.SetFromSchema(sch, nt)
def ConfigRunLog(ss, dt): dt.SetMetaData("name", "RunLog") dt.SetMetaData("desc", "Record of performance at end of training") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) sch = etable.Schema([ etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Params", etensor.STRING, go.nil, go.nil), etable.Column("FirstZero", etensor.FLOAT64, go.nil, go.nil), etable.Column("SSE", etensor.FLOAT64, go.nil, go.nil), etable.Column("AvgSSE", etensor.FLOAT64, go.nil, go.nil), etable.Column("PctErr", etensor.FLOAT64, go.nil, go.nil), etable.Column("PctCor", etensor.FLOAT64, go.nil, go.nil), etable.Column("CosDiff", etensor.FLOAT64, go.nil, go.nil) ]) dt.SetFromSchema(sch, 0)
def ConfigTstEpcLog(ss, dt): dt.SetMetaData("name", "TstEpcLog") dt.SetMetaData("desc", "Summary stats for testing trials") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) sch = etable.Schema([ etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("SSE", etensor.FLOAT64, go.nil, go.nil), etable.Column("AvgSSE", etensor.FLOAT64, go.nil, go.nil), etable.Column("PctErr", etensor.FLOAT64, go.nil, go.nil), etable.Column("PctCor", etensor.FLOAT64, go.nil, go.nil), etable.Column("CosDiff", etensor.FLOAT64, go.nil, go.nil) ]) dt.SetFromSchema(sch, 0)
def ConfigTstQuizLog(ss, dt): dt.SetMetaData("name", "TstQuizLog") dt.SetMetaData("desc", "Summary stats for testing trials") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) sch = etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("QNo", etensor.INT64, go.nil, go.nil), etable.Column("Resp", etensor.STRING, go.nil, go.nil), etable.Column("Err", etensor.FLOAT64, go.nil, go.nil), etable.Column("Correls", etensor.FLOAT64, go.Slice_int([3]), go.nil)] ) dt.SetFromSchema(sch, 0)
def ConfigTrnTrlLog(ss, dt): dt.SetMetaData("name", "TrnTrlLog") dt.SetMetaData("desc", "Record of training per input event (time step)") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = 0 sch = etable.Schema( [etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("Event", etensor.INT64, go.nil, go.nil), etable.Column("TD", etensor.FLOAT64, go.nil, go.nil), etable.Column("RewPred", etensor.FLOAT64, go.nil, go.nil)] ) for lnm in ss.TstRecLays: ly = leabra.Layer(ss.Net.LayerByName(lnm)) sch.append( etable.Column(lnm, etensor.FLOAT64, ly.Shp.Shp, go.nil)) dt.SetFromSchema(sch, nt)
def ConfigPrjnTable(ss, dt): dt.SetMetaData("name", "PrjnTable") dt.SetMetaData("desc", "projection of data onto dimension") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = ss.TestEnv.Table.Len() # number in view sch = etable.Schema( [etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil), etable.Column("GendPrjn", etensor.FLOAT64, go.nil, go.nil), etable.Column("EmotePrjn", etensor.FLOAT64, go.nil, go.nil), etable.Column("RndPrjn0", etensor.FLOAT64, go.nil, go.nil), etable.Column("RndPrjn1", etensor.FLOAT64, go.nil, go.nil)] ) dt.SetFromSchema(sch, nt)
def ConfigTstTrlLog(ss, dt): inp = leabra.Layer(ss.Net.LayerByName("Input")) out = leabra.Layer(ss.Net.LayerByName("Output")) dt.SetMetaData("name", "TstTrlLog") dt.SetMetaData("desc", "Record of testing per input pattern") dt.SetMetaData("read-only", "true") dt.SetMetaData("precision", str(LogPrec)) nt = ss.TestEnv.Table.Len() # number in view sch = etable.Schema([ etable.Column("Run", etensor.INT64, go.nil, go.nil), etable.Column("Epoch", etensor.INT64, go.nil, go.nil), etable.Column("Trial", etensor.INT64, go.nil, go.nil), etable.Column("TrialName", etensor.STRING, go.nil, go.nil), etable.Column("Err", etensor.FLOAT64, go.nil, go.nil), etable.Column("SSE", etensor.FLOAT64, go.nil, go.nil), etable.Column("AvgSSE", etensor.FLOAT64, go.nil, go.nil), etable.Column("CosDiff", etensor.FLOAT64, go.nil, go.nil) ]) for lnm in ss.LayStatNms: sch.append( etable.Column(lnm + " ActM.Avg", etensor.FLOAT64, go.nil, go.nil)) sch.append(etable.Column("InAct", etensor.FLOAT64, inp.Shp.Shp, go.nil)) sch.append( etable.Column("OutActM", etensor.FLOAT64, out.Shp.Shp, go.nil)) sch.append( etable.Column("OutTarg", etensor.FLOAT64, out.Shp.Shp, go.nil)) dt.SetFromSchema(sch, nt)