Spatial Pooler w Topology having weird connecties
marty1885 opened this issue · 3 comments
From #68 . Quote alior.
So, if I understand correctly the kernel size is the potential pool size ?
If so, I think it should indeed follow a topological connection with
input.. For example output cell 0 should have a potential pool of input
cells 0-31 while output cell N (the last one) should have a potential pool
of 95-127 ... Is that the case ? From my little experiment all output cells
are randomly drawn from 0-31 which doesn't make sense biologically since
the SP have a receptive field of input cells that are "below" the layers
topologically ? What do you think?
@alior101 I fixed some problem with SpatialPoolerND. But I can't replicate the issue of cells only connecting to cell 0~31.
int main()
{
SpatialPoolerND sp({128}, 32);
std::cout << sp.connections() << std::endl;
}
prints
{{ 3 , 4 , 5 , 6 , 8 , 10 , 11 , ...., 25 , 26 , 27 , 28 , 29 , 30 , 31 },
{ 1 , 2 , 3 , 4 , 5 , 6 , 9 , ...., 23 , 25 , 26 , 27 , 28 , 29 , 31 },
{ 2 , 4 , 5 , 6 , 7 , 9 , 10 , ...., 23 , 25 , 26 , 27 , 28 , 30 , 32 },
....
{ 94 , 95 , 96 , 97 , 98 , 100, 101, ...., 115, 116, 118, 119, 120, 121, 122},
{ 95 , 96 , 97 , 98 , 100, 103, 104, ...., 118, 119, 120, 122, 123, 124, 125},
{ 96 , 98 , 99 , 100, 102, 103, 104, ...., 119, 120, 121, 122, 123, 125, 126}}
it was with old version.. you probably fixed it already :)
Roger that :)