212 karma · joined April 5, 2021
There are formal partnerships between rail providers and airlines around the world, where your train ride is treated like a leg of your flight. You have a guaranteed connection, and often your bag is transferred from the train to your airplane.
A (uniformly) random point in an n-dimensional cube will have random coordinates from zero to 1, with no other constraint on their size.
Anything south of Oakland/SF is mostly strip mall hell, but parts of Alameda County, Contra Costa County, Marin County and San Francisco might be what you're looking for.
%timeit (x_jax @ y_jax).block_until_ready()
579 µs ± 4.54 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit jnp.einsum('bik,bkj->bij',x_jax,y_jax, optimize=True).block_until_ready()
658 µs ± 1.38 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit jnp.einsum('bik,bkj->bij',x_jax,y_jax).block_until_ready()
660 µs ± 2.82 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)The optimizer clearly tries to improve the performance, but in many cases, it doesn't seem to change anything. Let's simply multiply some matrices:
x, y = np.random.rand(200, 200, 200), np.random.rand(200, 200, 200)
I can do %timeit x@y
40.3 ms ± 2.52 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
or a naive %timeit np.einsum('bik,bkj->bij',x,y)
1.53 s ± 21.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
But even with optimization, I see %timeit np.einsum('bik,bkj->bij',x,y, optimize=True)
1.54 s ± 10.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
I'm not sure if I'm doing something wrong.So usually, I rewrite my formulas into messy combinations of broadcasts, transposes and array multiplications. Is there a package or an algorithm that does this conversion automatically? It seems to be a pretty straightforward problem, at least for most expressions I use.
Nothing on the Best Buy website gives me any indication of this happening. If this is really true, it's deceptive advertisement. I'm not a lawyer, but this looks illegal.
https://news.ycombinator.com/item?id=29514642
https://news.ycombinator.com/item?id=29424749
https://news.ycombinator.com/item?id=29405380
https://news.ycombinator.com/item?id=29208141
Finding mathematical patterns and relations by fitting expressive functions has actually been a common technique in experimental mathematics (https://en.wikipedia.org/wiki/Experimental_mathematics) for a while.
In the last few years, neural networks in particular have been used a lot in areas of math related to string theory, where one tries to find structures on certain topological spaces that preserve or generate symmetries of the resulting physics. Here's a review that might be interesting:
https://arxiv.org/abs/2101.06317
Unfortunately, none of these mathematicians have the marketing prowess of a multi-billion dollar company...
Also, software support for accelerated training on Apple hardware is extremely limited: Out of the main frameworks, only tensorflow seems to target it, and even there, the issues you'll face won't be high on the priority list.
I know that nvidia GPUs are very expensive, but if you're really serious about training a large model, the only alternative would be paying rent to Google.