2,494 karma · joined March 1, 2011
Training involves finding derivatives and requires higher precision calculations which is why they don't train using TPUs.
We're looking for developers to work on our compiler that generates hardware to accelerate convolutional neural networks.
* Experience with functional programming is essential (we use Haskell for everything),
* Familiarity with with hardware design would be beneficial,
Drop us an email at jobs@myrtlesoftware.com if you're interested and there's more information at https://myrtlesoftware.com/vacancies/
I built something once that used intrusive skiplists because it needed to expire elements using one ordering and search them by another. It would have been much less efficient if I'd have broken it up into multiple flat representations.
(Actually, it was flat, but explaining that aspect of it is quite difficult).
Sorry to nitpick, but science isn't verifiable, it's falsifiable. Also, there are religious people who'd agree with your characterisation of faith and there are others who wouldn't.
4.6 Access to Derivative Databases. If You Publicly Use a Derivative
Database or a Produced Work from a Derivative Database, You must also
offer to recipients of the Derivative Database or Produced Work a copy
in a machine readable form of:
a. The entire Derivative Database; or
b. A file containing all of the alterations made to the Database or
the method of making the alterations to the Database (such as an
algorithm), including any additional Contents, that make up all the
differences between the Database and the Derivative Database.
The Derivative Database (under a.) or alteration file (under b.) must be
available at no more than a reasonable production cost for physical
distributions and free of charge if distributed over the internet.That's true, you can certainly just write procedural code in functional languages and there's no benefit. However, you also have the ability to structure code in a way that is testable and is actually more structured than the equivalent OOP style. By which I mean: the operations on the dependencies are more constrained (since they can't be replaced or duplicated, etc).
In order to do a straight-forward conversion to functional programming, I suggest leaving the values as they are and each service becomes a free monad transformer. So, instead of having a logger, you have a logging monad transformer that has a log instruction. Instead of having a database, you have a database monad transformer that has a query instruction, etc.
You are then free (no pun intended) to replace the interpreters of these free monads during testing with whatever mock implementation you please and the result is a more principled dependency injection inspired style.
Actually, I would constrain the monad type via type classes, rather than using free monads, but the approaches are equivalent.
There are models, like the cache oblivious model, where b is assumed to be a variable, so the model matters.
> a binary tree and b-tree stay within a constant factor even as you vary b.
it's not a constant factor if b is a variable. It's a factor of log b.
They don't in the random access machine model, but there are other models where cache misses do factor in.
Not in every abstract model. See other reply.
That doesn't hold. Some instructions take longer than others.
It's not wrong, it doesn't have enough contextual information to be right or wrong.