4 ms·
Is it just me or does 1GB of ram seem a little low for a $100+ board? I can't seem to find what speed it is either. I'm not expecting anything crazy like 8gb o
by penagwin 7y ago
Is it just me or does 1GB of ram seem a little low for a $100+ board? I can't seem to find what speed it is either.
I'm not expecting anything crazy like 8gb or anything like that, but given how many boards sell at ~50$ with 4GB of ram this just seems kinda limited.
- TickleSteve 7y agoThe difference is the market size... you're comparing a niche board to a mass-market one. That is never going to be a fair comparison.
- rumanator 7y agoFor future reference, a Raspberry Pi 4 Model B+ with 4GB of RAM is being sold for around 60$.
- penagwin 7y agoThat's fair, I'm just a little confused because the BeagleBone AI board isn't even trying to compete with the <$100 boards. I know it's meant for very specific industrial uses, but depending on your models and how you have it setup, 1GB of ram isn't very much. If these are meant to be nodes in a larger system I guess that makes a little more sense, but if they're meant to be more autonomous that 1GB is going to be a real limitation for certain applications.
- Gibbon1 7y agoWhat I saw when I was looking (a few years ago) is the Beagle bone is oriented towards the industrial market/dev board for TI Industrial processors. Totally different than the hobbyist market.
- mumblemumble 7y agoI think that it probably doesn't make sense to compare this to a general-purpose single board computer. It's apples and oranges. The BeagleBone AI is aimed at prototyping in industrial automation applications. I've never worked in that area, but I wouldn't be at all surprised to see that large amounts of RAM isn't a priority for industrial controllers. Probably the software tends to be frugal with memory, because a bigger heap means more cache misses, and more cache misses mean worse latency. A Raspberry Pi, by contrast, is mostly targeted at running a GUI and memory-hungry user applications up to and including Minecraft. It's meant for teaching kids to program and hobby stuff. It doesn't have built-in DSPs and programmable real-time units, because those are for supporting applications that fall far outside its intended purpose of having fun with Python.
- codesushi42 7y agoThat reasoning is just plain wrong. The memory usage has almost nothing to do with the field where it will be used. It will depend on the size of the model being run on the board. The size of that model will be determined by the number of weights used. Being that industrial automation will likely use CV, that will mean the potential for a lot of weights. Same goes for any other non trivial use case. So yeah, 1GB is paltry.
- mumblemumble 7y agoIt's been a long time since I've done anything in machine vision, but, at least back in the day, what I was seeing was that, compared to other uses for machine vision, industrial applications tended to stay a lot simpler: Lower-resolution images, black-and-white imaging, support vector machines instead of neural nets (let alone deep learning), all that good stuff. They could get away with it because they are able to much more carefully control the input domain - controlled lighting conditions, consistent orientation of the thing being imaged, all that good stuff. So they don't need 10^9 or more weights' worth of ocean-boiling complexity the way you would in something like self-driving cars or impressing your friends with your Imagenet performance. And if you can get away with running an SVM on a 1-megapixel black and white image, then your weights will fit in 1GB with an order of magnitude to spare.
- codesushi42 7y agoOk, what you said about lower res images makes sense. Lower variation of images maybe means you could get away with less weights/more quantization-- you could afford to lose more information in the model. Maybe 1GB can be sufficient then. There's no reason to use an SVM over a (C)NN nowadays though.
- mumblemumble 7y agoSure there is. With an SVM, you can pick different kernels to more carefully engineer specific behaviors, what kinds of errors your model is likely to make, etc. You can get a good, stable model on less training data, which is great when your training data is expensive to produce. (A situation that I'm guessing is not at all uncommon in industrial automation.) You get all that crispy crunchy large margin goodness. Stuff like that. I'd absolutely focus on ANNs if I were an academic researcher, because that's the hot flavor of the month that's going to get your career the attention it needs to bring in funding, jobs, etc. I'd also pick it for Kaggle-type stuff, where there's effectively no real penalty for generalizing poorly. Bonus points if you consume more energy to train your model than Calgary does to stay warm in the winter. In a business setting, though, I would only default to ANNs if it were holistically the best option for the problem domain. By "holistically" I mean, "there's more to it than chasing F1 scores at all costs." The business considerations that caused Netflix to never try productionizing the prize-winning recommendation engine, for example, are always worth thinking about. Personally, I'm disinclined to look past linear models - not even as far as kernel methods - without strong reason to believe that I'm dealing with a curve that can't be straightened with a simple feature transformation. Complexity is expensive, and needless complexity is a form of technical debt.
- DannyB2 7y agoAgree. I expect $100 board to have 2 or 4 GB. Yet once upon a time I thought a 48 K Apple II was a lot.
- bradfa 7y agoI'm speculating but, it's likely due to board size constraints and pricing. AM57xx SoC have 2 different DDR3 memory controllers called the EMIFs. Each one has a 32 bit data width and can support up to 2GB of memory attached. A single x16 (16 bit wide data path) DDR3 chip in 512MB (4Gb) size is reasonably cheap to buy today but doubling that size to 1GB (8Gb) makes the price go up like 4x since there's just not much volume in that size sold. In order to fit onto the BeagleBone board size, only 2 DDR3 chips could fit, so only 1 EMIF is used, and to keep costs reasonable they used 512MB (4Gb) sized chips leading to 1GB of total DDR3. Related, the C66 DSPs and M4 cores inside of AM57xx are only able to access the EMIF interfaces over the L3_MAIN core interconnect within the SoC. L3_MAIN is a 32 bit address bus interconnect, so at most can address only 4GB of memory address space. TI's memory maps for the DSPs and M4 cores both start the EMIF addressing at 0x8000_0000 so at most the DSPs and M4 cores can only access up to 2GB of DDR3. Addresses below 0x8000_0000 are mostly memory mapped peripherals, like the GPIOs and PCIe interfaces and such. The Cortex-A15 cores are able to use an extended addressing mode and can access the EMIFs through a different interface, they don't have to use L3_MAIN (but can, but there's errata), so if you connect more than 2GB of DDR3 to AM57xx then the big Cortex-A15s can access it but no one else can, which makes it less useful/valuable for a lot of designs. If you want a dev board with more DDR3 and AM57xx, the BeagleBoard-x15 is an option although it appears to be hard to buy just the x15 from most distributors right now as they're out of stock. TI still sells the AM572x dev kit with the LCD screen directly (https://www.ti.com/store/ti/en/p/product/?p=TMDSEVM572X https://www.ti.com/store/ti/en/p/product/?p=TMDSEVM572X), albeit for a bit more than just the x15 used to cost and quite a lot more than the new AI costs.