You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jul 10, 2025. It is now read-only.
Copy file name to clipboardExpand all lines: rfcs/20210119-determinism.md
-23Lines changed: 0 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -111,26 +111,3 @@ We don’t want TensorFlow developers to have to worry about breaking determinis
111
111
* Perhaps `enable_deterministic_execution` should take no arguments, and instead a `disable_deterministic_execution` function should be added. Should be consistent with other functions which we can also change, such as `enable_tensor_float_32_execution`.
112
112
* Sessions are nondeterminism and making them determinism requires having the executor run ops in a consistent order. It is probably not worth making sessions deterministic.
113
113
* If performant, we could potentially have determinism be enabled by default, but not raising an error for nondeterministic ops.
114
-
115
-
## Apendix
116
-
117
-
### Existing environmental variables
118
-
119
-
There are currently two environment variables in TensorFlow to enable deterministic op functionality.
120
-
121
-
The first environment variable is `TF_CUDNN_DETERMINISTIC`. When set to `'true'` or `'1'`, this,
122
-
123
-
* makes the selection of cuDNN convolution algorithms deterministic,
124
-
* selects deterministic gradient algorithms for `tf.nn.conv*d` and `tf.keras.layers.Conv*D`,
125
-
* selects deterministic gradient algorithms for `tf.nn.max_pool*d` and `tf.keras.layers.MaxPool*D`, and
126
-
* selects a deterministic gradient algorithm for `tf.nn.ctc_loss`.
127
-
128
-
The second environment variable is `TF_DETERMINISTIC_OPS`. This supercedes and replaces `TF_CUDNN_DETERMINISTIC` by first implementing the same functionality, but then it also (when set to `'true'` or `'1'`),
129
-
130
-
* selects deterministic gradient kernels for `tf.nn.bias_add` and the many Keras layers that apply a bias,
131
-
* selects a deterministic algorithm for XLA reductions on GPU, and
132
-
* selects a deterministic gradient algorithm for `tf.image.resize` with `method=ResizeMethod.BILINEAR` and `tf.keras.layers.UpSampling2D` with `interpolation='bilinear'`
133
-
134
-
Calling `tf.config.enable_deterministic_execution(True)` will be equivalent to setting `TF_DETERMINISTIC_OPS` to `'true'` or `'1'` plus the additional functionality described in this RFC.
135
-
136
-
The two environment variables will be first deprecated and then removed.
0 commit comments