What are the minimum hardware requirements to run NuPIC?
I am working to get it running on these smart eye glasses, which monitor the activity of elderly people. It seems that sending the data out to the cloud would put a heavy load on the battery, so on-device analysis would be ideal. For processing the device (fittingly) has a ARM Cortex-A7 quad core processor, and the amount of RAM that can be dedicated on the device is on the order of several hundred MB (say around 300 MB). Each device is meant to monitor just 1 person, so only a couple models (or even 1) would need to be stored and updated.
Does this seem possible? I’m very curious to know and appreciate any insights! Thanks!
What would be the target input rate? I can do some tests on some of my ARM devices. NuPIC will run on the Pi ZeroW (1GHz BCM2835 single-core, 512 MB RAM), but I didn’t really test to see what input rate it could handle (the application I was running didn’t require it to run very fast). I’m not sure on the RAM requirements.
It may only be a few dozen data points per day or even less. How much do you think it could handle? Thanks so much for offering to run tests!
It will definitely handle slow speeds like that, as long as the RAM isn’t an issue. The first challenge may be getting NuPIC installed, though. What OS are the smart eye glasses running?
Did a little Googling, and I see that a lot of smart glasses are Android-based. In the case of Android, HTM.Java may be the easiest option. However, apps are limited on how much RAM they can consume. You can consume more RAM if you run a native library (though if you slow down the device too much, it can get your app banned). This would require separating the C++ components of NuPIC core and writing JNI bindings.