One of the hardest parts in the migration process is to find incorrect integer divisions in the python 2.7 nupic code. Python 3 behaves differently as nicely described here.
Here are two locations in nupic which I needed to change and let me tell you it takes a long time to find those!
shifted = shifted / dimensions[i]
to
shifted = shifted // dimensions[i]
left = right = start + runLen / 2
to
left = right = start + runLen // 2
Anyone has a good idea how to spot those issue? Right now, I need to step through code in two debugger windows side by side and compare data types and values…