@@ -1188,6 +1188,31 @@ ngc-learn operates and care should be taken to check that your system is evolvin
11881188in the way that you expect (working with the online functionality of an NGC
11891189system will be the subject of a future advanced lesson).
11901190
1191+ ### Setting the Order of Synaptic Adjustments
1192+
1193+ Normally, when you set update rules for cables that you would like to evolve
1194+ with time, your ` NGCGraph ` will determine its own order in which the calculated
1195+ adjustments appear in the ` delta ` object (returned from ` .settle() ` ) as well as
1196+ the order in which learnable parameters appear in the ` .theta ` data member.
1197+ If you wanted the order of the cables to appear in a certain way in ` .theta `
1198+ (which would affect the order of ` delta ` ), you can use the ` .set_learning_order() `
1199+ function before you call the ` .compile() ` routine for your ` NGCGraph ` .
1200+
1201+ This was actually done earlier in the last section, where you set the order
1202+ of the cable parameters in ` .theta ` to be cable ` b_bmu ` followed by cable ` a_amu `
1203+ as in the code snippet reproduced from earlier:
1204+
1205+ ``` python
1206+ circuit.set_learning_order([b_bmu, a_amu]) # enforces order - b_bmu then a_amu
1207+ ```
1208+
1209+ Setting the order of learnable cables directly affects what is returned by
1210+ functions such as ` .settle() ` and ` .step() ` since, internally, the ` NGCGraph ` will
1211+ organize itself to ensure that the order of updates in ` delta ` exactly match
1212+ the order of learnable parameters stored in ` .theta ` . (Note: if a cable has a
1213+ synaptic matrix ` A ` and bias ` b ` , then always the order will be that cable's
1214+ ` A ` followed by ` b ` in ` .theta ` .)
1215+
11911216### Extracting Signals and Properties: Getter Functions
11921217
11931218Two of the most important "getter" functions you will want to be familiar with
0 commit comments