|
@ericjang11 | |||||
|
Anything that can be implemented in JAX *will* be implemented in JAX. Here's a differentiable path tracer (and a tutorial!)
Blog Post: blog.evjang.com/2019/11/jaxpt.…
Code: github.com/ericjang/pt-jax pic.twitter.com/KBHnCqka2e
|
||||||
|
||||||
|
Eric Jang 🇺🇸🇹🇼
@ericjang11
|
29. stu |
|
|
||
|
Eric Jang 🇺🇸🇹🇼
@ericjang11
|
29. stu |
|
Edit: Thanks to Stephan Hoyer, who pointed out that my benchmark only ran on 1 TPU core, whereas a Cloud TPU has 8 available. Updated post, chart and code to reflect that using the whole TPU does speed things up. My implementation could do a better job of parallelizing though. pic.twitter.com/7OZPfA4cSe
|
||
|
|
||
|
Akihiro Matsukawa
@amatsukawa
|
6. pro |
|
So say I don’t care about running on TPUs (I know the pains of TF + TPUs all to well) what are some “killer features” of JAX over PyTorch?
|
||
|
|
||
|
Eric Jang 🇺🇸🇹🇼
@ericjang11
|
6. pro |
|
Vmap and pmap are the biggest ones that come to mind. I’ve heard anecdotally that JAX can be much faster on some workloads (don’t quote me). I expect pytorch devs to catch up eventually though.
|
||
|
|
||
|
Alex Mordvintsev
@zzznah
|
29. stu |
|
Wdyt about taichi.graphics ?
|
||
|
|
||
|
Eric Jang 🇺🇸🇹🇼
@ericjang11
|
29. stu |
|
Taichi is amazing. It is a few years ahead of existing DL frameworks in understanding that optimizing data structures is 90% of the battle. I’m playing with it on the side.
|
||
|
|
||
|
mat kelcey
@mat_kelcey
|
29. stu |
|
( Jax gotchas link is a 404 )
|
||
|
|
||
|
𝔊𝔴𝔢𝔯𝔫
@gwern
|
30. stu |
|
(And typo in title.)
|
||
|
|
||
|
Ian Williamson
@ianadwilliamson
|
29. stu |
|
Looking at flow control with JAX, do you know if there's eventually going to be support for native Python flow control? Or will it always be necessary to do things like np.where(condition, a, b)?
|
||
|
|
||
|
Stephan Hoyer
@shoyer
|
30. stu |
|
You can use Python's native control flow (if you don't jit), lax.cond for control flow within jit, and also see jax.experimental.loops: jax.readthedocs.io/en/latest/jax.…
As for auto-magically compiling Python control flow like Numba, I'm not sure that's really a good idea.
|
||
|
|
||