I decided to give the pong game idea [1] on the ideas list a swing. The initial phase is to have a ball moving from left to right, hit the edge, and move from right to left. This works fine.
The coordinates of the ball when it hits an edge is encoded and sent to the temporal pooler to learn. I'm following a more close-to-the-algorithm approach and is not using the OPF. However, even though I'm passing the encoded array to the temporal pooler to learn, tp.printStates() shows all zero in both inference Active state and inference Predicted state. I did everything similar to the hello_tp example. I tried changing the width of the encoder and length of the encoded array, but the problem persisted. I'm NOT using tp.reset() So when can a temporal pooler fail to learn? I inspected the information in tp.printCell() but I couldn't understand it very well. If anyone is interested, I have hosted the entire project here [2]. All the nupic related code is in the file brains.py Also, I'm using a scalar encoder to encode the position. And scalar encoder outputs a sparse array (somewhat) , but not distributed. The hello_tp example does not use a spatial pooler. Neither did I. Will using a spatial pooler to get an SDR and then feeding the SDR to temporal pooler result in any specific advantages? [1] https://github.com/numenta/nupic/wiki/Season-of-NuPIC-2014-Idea-List [2] https://github.com/lonesword/nupicpong/
_______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
