Exemple #1
0
    def ConfigNet(ss, net):
        net.InitName(net, "CatsAndDogs")
        name = net.AddLayer2D("Name", 1, 10, emer.Input)
        iden = net.AddLayer2D("Identity", 1, 10, emer.Input)
        color = net.AddLayer2D("Color", 1, 4, emer.Input)
        food = net.AddLayer2D("FavoriteFood", 1, 4, emer.Input)
        size = net.AddLayer2D("Size", 1, 3, emer.Input)
        spec = net.AddLayer2D("Species", 1, 2, emer.Input)
        toy = net.AddLayer2D("FavoriteToy", 1, 4, emer.Input)

        name.SetClass("Id")
        iden.SetClass("Id")

        one2one = prjn.NewOneToOne()
        full = prjn.NewFull()

        net.BidirConnectLayersPy(name, iden, one2one)
        net.BidirConnectLayersPy(color, iden, full)
        net.BidirConnectLayersPy(food, iden, full)
        net.BidirConnectLayersPy(size, iden, full)
        net.BidirConnectLayersPy(spec, iden, full)
        net.BidirConnectLayersPy(toy, iden, full)

        iden.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Name", YAlign= relpos.Front, XAlign= relpos.Left, YOffset= 1))
        color.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Identity", YAlign= relpos.Front, XAlign= relpos.Left, YOffset= 1))
        food.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Identity", YAlign= relpos.Front, XAlign= relpos.Right, YOffset= 1))
        size.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Color", YAlign= relpos.Front, XAlign= relpos.Left))
        spec.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Color", YAlign= relpos.Front, XAlign= relpos.Right, XOffset= 2))
        toy.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "FavoriteFood", YAlign= relpos.Front, XAlign= relpos.Right, XOffset= 1))

        net.Defaults()
        ss.SetParams("Network", False)
        net.Build()
        ss.InitWts(net)
Exemple #2
0
    def ConfigNetFF(ss, net):
        net.InitName(net, "InhibFF")
        inp = net.AddLayer2D("Input", 10, 10, emer.Input)
        hid = net.AddLayer2D("Hidden", 10, 10, emer.Hidden)
        inh = net.AddLayer2D("Inhib", 10, 2, emer.Hidden)
        inh.SetClass("InhibLay")

        full = prjn.NewFull()

        pj = net.ConnectLayers(inp, hid, full, emer.Forward)
        pj.SetClass("Excite")
        net.ConnectLayers(hid, inh, full, emer.Back)
        net.ConnectLayers(inp, inh, full, emer.Forward)
        net.ConnectLayers(inh, hid, full, emer.Inhib)
        net.ConnectLayers(inh, inh, full, emer.Inhib)

        inh.SetRelPos(
            relpos.Rel(Rel=relpos.RightOf,
                       Other="Hidden",
                       YAlign=relpos.Front,
                       Space=1))

        net.Defaults()
        ss.SetParams("Network", False)
        net.Build()
        ss.InitWts(net)
Exemple #3
0
    def ConfigNet(ss, net):
        net.InitName(net, "AnotB")
        loc = net.AddLayer2D("Location", 1, 3, emer.Input)
        cvr = net.AddLayer2D("Cover", 1, 2, emer.Input)
        toy = net.AddLayer2D("Toy", 1, 2, emer.Input)
        hid = net.AddLayer2D("Hidden", 1, 3, emer.Hidden)
        gze = net.AddLayer2D("GazeExpect", 1, 3, emer.Compare)
        rch = net.AddLayer2D("Reach", 1, 3, emer.Compare)

        full = prjn.NewFull()
        self = prjn.NewOneToOne()
        net.ConnectLayers(loc, hid, full, emer.Forward)
        net.ConnectLayers(cvr, hid, full, emer.Forward)
        net.ConnectLayers(toy, hid, full, emer.Forward)
        net.ConnectLayers(hid, hid, self, emer.Lateral)
        net.ConnectLayers(hid, gze, full, emer.Forward)
        net.ConnectLayers(hid, rch, full, emer.Forward)
        net.ConnectLayers(gze, gze, self, emer.Lateral)

        cvr.SetRelPos(relpos.Rel(Rel= relpos.RightOf, Other= "Location", YAlign= relpos.Front, Space= 1))
        toy.SetRelPos(relpos.Rel(Rel= relpos.RightOf, Other= "Cover", YAlign= relpos.Front, Space= 1))
        hid.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Cover", YAlign= relpos.Front, XAlign= relpos.Left, YOffset= 1, XOffset= -1))
        gze.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Hidden", YAlign= relpos.Front, XAlign= relpos.Left, XOffset= -4))
        rch.SetRelPos(relpos.Rel(Rel= relpos.RightOf, Other= "GazeExpect", YAlign= relpos.Front, Space= 4))

        net.Defaults()
        ss.SetParams("Network", False) # only set Network params
        net.Build()
        ss.InitWts(ss.Net)
Exemple #4
0
    def ConfigNet(ss, net):
        net.InitName(net, "NeckerCube")
        nc = net.AddLayer4D("NeckerCube", 1, 2, 4, 2, emer.Input)

        net.ConnectLayers(nc, nc, prjn.NewFull(), emer.Lateral)

        net.Defaults()
        ss.SetParams("Network", False)
        net.Build()
        ss.InitWts(net)
Exemple #5
0
    def ConfigNet(ss, net):
        net.InitName(net, "PatAssoc")
        inp = net.AddLayer2D("Input", 1, 4, emer.Input)
        out = net.AddLayer2D("Output", 1, 2, emer.Target)

        net.ConnectLayers(inp, out, prjn.NewFull(), emer.Forward)

        net.Defaults()
        ss.SetParams("Network", False)  # only set Network params
        net.Build()
        net.InitWts()
Exemple #6
0
    def ConfigNet(ss, net):
        net.InitName(net, "Detector")
        inp = net.AddLayer2D("Input", 7, 5, emer.Input)
        recv = net.AddLayer2D("RecvNeuron", 1, 1, emer.Hidden)

        net.ConnectLayers(inp, recv, prjn.NewFull(), emer.Forward)

        net.Defaults()
        ss.SetParams("Network", False)
        net.Build()
        ss.InitWts(net)
Exemple #7
0
    def ConfigNet(ss, net):
        net.InitName(net, "SelfOrg")
        inp = net.AddLayer2D("Input", 5, 5, emer.Input)
        hid = net.AddLayer2D("Hidden", 4, 5, emer.Hidden)

        net.ConnectLayers(inp, hid, prjn.NewFull(), emer.Forward)

        net.Defaults()
        ss.SetParams("Network", False) # only set Network params
        net.Build()
        net.InitWts()
Exemple #8
0
    def ConfigNet(ss, net):
        net.InitName(net, "PatAssoc")
        inp = net.AddLayer2D("Input", 1, 4, emer.Input)
        hid = net.AddLayer2D("Hidden", 1, 4, emer.Hidden)
        out = net.AddLayer2D("Output", 1, 2, emer.Target)

        full = prjn.NewFull()
        net.ConnectLayers(inp, hid, full, emer.Forward)
        net.BidirConnectLayersPy(hid, out, full)

        hid.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Input", YAlign= relpos.Front, XAlign= relpos.Left, YOffset= 1))

        net.Defaults()
        ss.SetParams("Network", False) # only set Network params
        net.Build()
        net.InitWts()
Exemple #9
0
    def ConfigNet(ss, net):
        net.InitName(net, "RLCond")

        lays = rl.AddTDLayersPy(net, "", relpos.RightOf, 4) # order: rew, rp, ri, td
        rp = lays[1]
        td = lays[3]
        inp = net.AddLayer2D("Input", 3, 20, emer.Input)
        inp.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Rew", YAlign= relpos.Front, XAlign= relpos.Left))

        net.ConnectLayersPrjn(inp, rp, prjn.NewFull(), emer.Forward, rl.TDRewPredPrjn())

        rl.TDDaLayer(td).SendDA.AddAllBut(net, go.nil) # send dopamine to all layers..

        net.Defaults()
        ss.SetParams("Network", False) # only set Network params
        net.Build()
        net.InitWts()
Exemple #10
0
    def ConfigNet(ss, net):
        net.InitName(net, "FaceCateg")
        inp = net.AddLayer2D("Input", 16, 16, emer.Input)
        emo = net.AddLayer2D("Emotion", 1, 2, emer.Compare)
        gend = net.AddLayer2D("Gender", 1, 2, emer.Compare)
        iden = net.AddLayer2D("Identity", 1, 10, emer.Compare)

        full = prjn.NewFull()
    
        net.BidirConnectLayersPy(inp, emo, full)
        net.BidirConnectLayersPy(inp, gend, full)
        net.BidirConnectLayersPy(inp, iden, full)

        emo.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Input", YAlign= relpos.Front, XAlign= relpos.Left, Space= 2))
        gend.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Input", YAlign= relpos.Front, XAlign= relpos.Right, Space= 2))
        iden.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Input", YAlign= relpos.Center, XAlign= relpos.Left, Space= 2))

        net.Defaults()
        ss.SetParams("Network", False)
        net.Build()
        ss.InitWts(net)
Exemple #11
0
    def ConfigNet(ss, net):
        net.InitName(net, "V1Rf")
        lgnOn = net.AddLayer2D("LGNon", 12, 12, emer.Input)
        lgnOff = net.AddLayer2D("LGNoff", 12, 12, emer.Input)
        v1 = net.AddLayer2D("V1", 14, 14, emer.Hidden)

        full = prjn.NewFull()
        net.ConnectLayers(lgnOn, v1, full, emer.Forward)
        net.ConnectLayers(lgnOff, v1, full, emer.Forward)

        circ = prjn.NewCircle()
        circ.TopoWts = True
        circ.Radius = 4
        circ.Sigma = .75

        rec = net.ConnectLayers(v1, v1, circ, emer.Lateral)
        rec.SetClass("ExciteLateral")

        inh = net.ConnectLayers(v1, v1, full, emer.Inhib)
        inh.SetClass("InhibLateral")

        lgnOff.SetRelPos(
            relpos.Rel(Rel=relpos.RightOf,
                       Other="LGNon",
                       YAlign=relpos.Front,
                       Space=2))
        v1.SetRelPos(
            relpos.Rel(Rel=relpos.Above,
                       Other="LGNon",
                       XAlign=relpos.Left,
                       YAlign=relpos.Front,
                       XOffset=5,
                       Space=2))

        net.Defaults()
        ss.SetParams("Network", False)  # only set Network params
        net.Build()
        ss.InitWts(net)
Exemple #12
0
    def ConfigNet(ss, net):
        net.InitName(net, "Sem")
        inl = net.AddLayer2D("Input", 43, 45, emer.Input)
        hid = net.AddLayer2D("Hidden", 20, 20, emer.Hidden)

        full = prjn.NewFull()
        net.ConnectLayers(inl, hid, full, emer.Forward)

        circ = prjn.NewCircle()
        circ.TopoWts = True
        circ.Radius = 4
        circ.Sigma = .75

        rec = net.ConnectLayers(hid, hid, circ, emer.Lateral)
        rec.SetClass("ExciteLateral")

        inh = net.ConnectLayers(hid, hid, full, emer.Inhib)
        inh.SetClass("InhibLateral")

        net.Defaults()
        ss.SetParams("Network", False) # only set Network params
        net.Build()
        ss.InitWts(net)
Exemple #13
0
    def ConfigNet(ss, net):
        net.InitName(net, "AttnNet")
        inp = net.AddLayer4D("Input", 1, 7, 2, 1, emer.Input)
        v1 = net.AddLayer4D("V1", 1, 7, 2, 1, emer.Hidden)
        sp1 = net.AddLayer4D("Spat1", 1, 5, 2, 1, emer.Hidden)
        sp2 = net.AddLayer4D("Spat2", 1, 3, 2, 1, emer.Hidden)
        ob1 = net.AddLayer4D("Obj1", 1, 5, 2, 1, emer.Hidden)
        out = net.AddLayer2D("Output", 2, 1, emer.Compare)
        ob2 = net.AddLayer4D("Obj2", 1, 3, 2, 1, emer.Hidden)

        ob1.SetClass("Object")
        ob2.SetClass("Object")
        sp1.SetClass("Spatial")
        sp2.SetClass("Spatial")

        full = prjn.NewFull()
        net.ConnectLayers(inp, v1, prjn.NewOneToOne(), emer.Forward)

        rec3sp = prjn.NewRect()
        rec3sp.Size.Set(3, 2)
        rec3sp.Scale.Set(1, 0)
        rec3sp.Start.Set(0, 0)

        rec3sptd = prjn.NewRect()
        rec3sptd.Size.Set(3, 2)
        rec3sptd.Scale.Set(1, 0)
        rec3sptd.Start.Set(-2, 0)
        rec3sptd.Wrap = False

        net.BidirConnectLayersPy(v1, sp1, full)
        v1sp1 = v1.SendPrjns().RecvName(sp1.Name())
        sp1v1 = v1.RecvPrjns().SendName(sp1.Name())
        v1sp1.SetPattern(rec3sp)
        sp1v1.SetPattern(rec3sptd)

        net.BidirConnectLayersPy(sp1, sp2, full)
        sp1sp2 = sp1.SendPrjns().RecvName(sp2.Name())
        sp2sp1 = sp1.RecvPrjns().SendName(sp2.Name())
        sp1sp2.SetPattern(rec3sp)
        sp2sp1.SetPattern(rec3sptd)

        rec3ob = prjn.NewRect()
        rec3ob.Size.Set(3, 1)
        rec3ob.Scale.Set(1, 1)
        rec3ob.Start.Set(0, 0)

        rec3obtd = prjn.NewRect()
        rec3obtd.Size.Set(3, 1)
        rec3obtd.Scale.Set(1, 1)
        rec3obtd.Start.Set(-2, 0)
        rec3obtd.Wrap = False

        net.BidirConnectLayersPy(v1, ob1, full)
        v1ob1 = v1.SendPrjns().RecvName(ob1.Name())
        ob1v1 = v1.RecvPrjns().SendName(ob1.Name())
        v1ob1.SetPattern(rec3ob)
        ob1v1.SetPattern(rec3obtd)

        net.BidirConnectLayersPy(ob1, ob2, full)
        ob1ob2 = ob1.SendPrjns().RecvName(ob2.Name())
        ob2ob1 = ob1.RecvPrjns().SendName(ob2.Name())
        ob1ob2.SetPattern(rec3ob)
        ob2ob1.SetPattern(rec3obtd)

        recout = prjn.NewRect()
        recout.Size.Set(1, 1)
        recout.Scale.Set(0, 1)
        recout.Start.Set(0, 0)

        net.BidirConnectLayersPy(ob2, out, full)
        ob2out = ob2.SendPrjns().RecvName(out.Name())
        outob2 = ob2.RecvPrjns().SendName(out.Name())
        ob2out.SetPattern(rec3ob)
        outob2.SetPattern(recout)

        p1to1 = prjn.NewPoolOneToOne()
        net.BidirConnectLayersPy(sp1, ob1, p1to1)
        spob1 = sp1.SendPrjns().RecvName(ob1.Name())
        obsp1 = sp1.RecvPrjns().SendName(ob1.Name())
        net.BidirConnectLayersPy(sp2, ob2, p1to1)
        spob2 = sp2.SendPrjns().RecvName(ob2.Name())
        obsp2 = sp2.RecvPrjns().SendName(ob2.Name())

        spob1.SetClass("SpatToObj")
        spob2.SetClass("SpatToObj")
        obsp1.SetClass("ObjToSpat")
        obsp2.SetClass("ObjToSpat")

        rec1slf = prjn.NewRect()
        rec1slf.Size.Set(1, 2)
        rec1slf.Scale.Set(1, 0)
        rec1slf.Start.Set(0, 0)
        rec1slf.SelfCon = False
        net.ConnectLayers(sp1, sp1, rec1slf, emer.Lateral)
        net.ConnectLayers(sp2, sp2, rec1slf, emer.Lateral)

        sp1.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "V1", YAlign= relpos.Front, XAlign= relpos.Left, YOffset= 1))
        sp2.SetRelPos(relpos.Rel(Rel= relpos.Above, Other= "Spat1", YAlign= relpos.Front, XAlign= relpos.Left, Space= 1))
        ob1.SetRelPos(relpos.Rel(Rel= relpos.RightOf, Other= "Spat1", YAlign= relpos.Front, Space= 1))
        out.SetRelPos(relpos.Rel(Rel= relpos.RightOf, Other= "Spat2", YAlign= relpos.Front, Space= 1))
        ob2.SetRelPos(relpos.Rel(Rel= relpos.RightOf, Other= "Output", YAlign= relpos.Front, Space= 1))

        net.Defaults()
        ss.SetParams("Network", False) # only set Network params
        net.Build()
        ss.InitWts(net)