Notion is great - the most important thing to my mind is that it's easy to find information later (by navigation, rather than search. The search UX is... not great). I use Notion to record everything that doesn't belong in git, but still needs a canonical place to live.
>- Mobile performance could be better.
This is the reason I still use Evernote on mobile, even though I pay for Notion. Sometimes I'll even bend Trello into a note-taking shape. eugh. The startup time is far too long for the short interactions that you have on mobile.
There's one other shortcoming that drives me back to text files on a regular basis: often after highlighting some text in the desktop app, Ctrl-C doesn't copy. This is absolutely infuriating when using notion's code boxes to write down sequences of terminal commands. There's no way of knowing whether a Ctrl-C succeeded or not until I'm pasting the wrong command in a terminal. Text files, with any editor is a much more pleasant experience.
Even though this sounds like a list of gripes, I've found Notion invaluable as a knowledge base.
I got an XPS 15 at about the same time. I've always had similar issues, especially with heat. Let me add 2 more:
* Upgrading from win 8.1 to win 10 causes frequent bluescreens unless speedstep is disabled, which leads to massive heat issues. There havn't been any driver updates since, so Dell seem to have no interest in fixing this.
* Random electric shocks where my arms touch the front of the unit while typing. Happens whether plugged in or not. Super annoying.
Overall I honestly can't recommend these. Reasonably good specs and sleek design but flaky construction and too many issues to be worth it. I'll probably get an HP next.
This project looks really interesting - it seems to take a lot of the biggest headaches out of training DL models, yet they missed their funding goal by a wide margin. I'm interested whether this shows a product/market mismatch, because it seems like an obvious win to me - bridging the new technology of DL to practical business contexts. What am I missing here?
The 168MB is for storing all of the weights (parameters of the model) and the activations from passing one sample through the network. When you are training, you want to pass a whole minibatch (32 samples in this article) through the network, so the activations (not the weights) are repeated 32 times - that's where the 2GB figure comes from. You need to keep these activations around for backprop to work, so you either store them all, or as the article later suggests, you keep the ones that are expensive to compute and re-calculate the cheap ones. Also note that when training you need to store the gradient of every weight too, so this adds 104mb in this example - almost negligible next to 2GB of activations.
For running a trained model, it depends how it's being used. If you're computing one sample at a time, then the 168MB figure is an upper bound on that (one copy of weights + one set of activations). You could optimize this by only keeping the activations for the current layer because you don't need to save the intermediate activations. If however you're batch processing samples at inference time, that's where you want to make most efficient use of the compute resources, so chances are minibatches are going to be the best route; again the same kind of optimization with not keeping intermediate activations applies here.
As for whether GPUs are useful at inference time, that heavily depends on your model and available deployment hardware. TensorFlow has some support for 8-bit quantized models for targeting mobile/embedded/CPU, so there are ways to optimize for this use case. Even at inference time though, most of your compute work is going to be in matrix multiplies or convolutions so there's plenty of cases where GPUs can help.