3 ms·
NN-512 was monetized by making its author a Senior Architect at the most important company in the machine learning space, a company whose hardware and software
by 37ef_ced3 4y ago
NN-512 was monetized by making its author a Senior Architect at the most important company in the machine learning space, a company whose hardware and software you almost certainly use. NN-512 was an EXTREMELY profitable project for its author.
Most competent engineers will be able to dump their network weights to a file as described in the headers. Do you understand your network or not? The weights, etc., are literally a C struct in the header file. Use fread() to load the floats. If that's too complicated, NN-512 is not for you.
As clearly stated on its brief webpage (which you might care to read before commenting) NN-512 does every kind of fusion you can imagine, fusing convolutions, fusing elementwise operations, fusing batch normalization, etc. See https://nn-512.com/example/28 https://nn-512.com/example/28 for an example.
If you're using a classical ConvNet (e.g., a DenseNet-121), as many people are, and you want to do inference on AVX-512 CPUs, nothing will outperform NN-512. And your inference code will be completely stand-alone. No dependencies.
- touisteur 4y agoI'm glad the author (you?) was successful and managed to monetize NN512. I seemed to remember reading some rant about it but it seems I was mistaken, sorry. I didn't mean to be disparaging and I guess that's my fault asking questions or stating doubts on HN but last time I tried, with some not off the shelf models, to use it wasn't 'just' loading structs. There were some ops missing and not every one uses mainstream convnets. I guess I was wrong too and couldn't make some lstms work right aways. As for the comments on 'competent', not caring to read, asking if I know my networks (as I talked about using other inference libraries that I seem to be able to make work), etc. I think that was uncalled for, but since I seem to annoy you, I promise not chip in on NN512 anymore. Thanks.
- 37ef_ced3 4y agoI didn't mean to insult you. My apologies. All I meant was: it's not hard to write your weights to a file as floats and fread() them into a struct. I view this as the simplest possible universal interface. And you're right: NN-512 supports only the classical ConvNet operations. It does that one thing, and it does it well. If you need LSTMs or transformers, or training, etc., another tool is needed. Have a nice day.