|
|
|
|
|
by aga_ml
1973 days ago
|
|
Thanks for your comments. Regarding determinism, potentially a fair point. Here are a few comments:
(1) A driver which randomly produces different output when running the network would be valid according to these restrictions.
(2) It is conceivable that a driver would produce non-deterministic input with the same hardware. One commonly known example is that tensorflow will run multiple different convolution kernels and then choose the fastest one. In that case, you can run the same network on the same hardware and get slightly different results. Its not that hard to imagine that a mobile driver could do something similar.
(3) It's not true that specific hardware will produce consistent results on the same input. You can run a model today, the driver gets updated, and tomorrow you get different output. This happens frequently. |
|
I am a strong believer in always using a seed for random number generation for exactly these sorts of reasons. (Side note: deterministic RNGs is one of my favorite features about JAX.)