Merge pull request #40033 from AbdulBaseerMohammedKhan:master
PiperOrigin-RevId: 314862281 Change-Id: I051ff4960bb743e9ac302f5c53499adab2bd4649
This commit is contained in:
commit
9244dd50fc
|
@ -1,7 +1,11 @@
|
||||||
# TensorFlow Code of Conduct
|
# TensorFlow Code of Conduct
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
In the interest of fostering an open and welcoming environment, we as
|
||||||
|
contributors and maintainers pledge to make participation in our project and our
|
||||||
|
community a harassment-free experience for everyone, regardless of age, body
|
||||||
|
size, disability, ethnicity, gender identity and expression, level of
|
||||||
|
experience, nationality, personal appearance, race, religion, or sexual identity
|
||||||
|
and orientation.
|
||||||
|
|
||||||
## Our Standards
|
## Our Standards
|
||||||
|
|
||||||
|
|
|
@ -4,26 +4,31 @@ https://stackoverflow.com/questions/tagged/tensorflow
|
||||||
|
|
||||||
If you open a GitHub issue, here is our policy:
|
If you open a GitHub issue, here is our policy:
|
||||||
|
|
||||||
1. It must be a bug, a feature request, or a significant problem with documentation (for small docs fixes please send a PR instead).
|
1. It must be a bug, a feature request, or a significant problem with the
|
||||||
2. The form below must be filled out.
|
documentation (for small docs fixes please send a PR instead).
|
||||||
3. It shouldn't be a TensorBoard issue. Those go [here](https://github.com/tensorflow/tensorboard/issues).
|
2. The form below must be filled out.
|
||||||
|
3. It shouldn't be a TensorBoard issue. Those go
|
||||||
|
[here](https://github.com/tensorflow/tensorboard/issues).
|
||||||
|
|
||||||
**Here's why we have that policy**: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.
|
**Here's why we have that policy**: TensorFlow developers respond to issues. We want to focus on work that benefits the whole community, e.g., fixing bugs and adding features. Support only helps individuals. GitHub also notifies thousands of people when issues are filed. We want them to see you communicating an interesting problem, rather than being redirected to Stack Overflow.
|
||||||
|
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
### System information
|
### System information
|
||||||
- **Have I written custom code (as opposed to using a stock example script provided in TensorFlow)**:
|
|
||||||
- **OS Platform and Distribution (e.g., Linux Ubuntu 16.04)**:
|
- **Have I written custom code (as opposed to using a stock example script
|
||||||
- **Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device**:
|
provided in TensorFlow)**:
|
||||||
- **TensorFlow installed from (source or binary)**:
|
- **OS Platform and Distribution (e.g., Linux Ubuntu 16.04)**:
|
||||||
- **TensorFlow version (use command below)**:
|
- **Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue
|
||||||
- **Python version**:
|
happens on a mobile device**:
|
||||||
- **Bazel version (if compiling from source)**:
|
- **TensorFlow installed from (source or binary)**:
|
||||||
- **GCC/Compiler version (if compiling from source)**:
|
- **TensorFlow version (use command below)**:
|
||||||
- **CUDA/cuDNN version**:
|
- **Python version**:
|
||||||
- **GPU model and memory**:
|
- **Bazel version (if compiling from source)**:
|
||||||
- **Exact command to reproduce**:
|
- **GCC/Compiler version (if compiling from source)**:
|
||||||
|
- **CUDA/cuDNN version**:
|
||||||
|
- **GPU model and memory**:
|
||||||
|
- **Exact command to reproduce**:
|
||||||
|
|
||||||
You can collect some of this information using our environment capture script:
|
You can collect some of this information using our environment capture script:
|
||||||
|
|
||||||
|
|
227
RELEASE.md
227
RELEASE.md
|
@ -90,89 +90,150 @@ Coinciding with this change, new releases of [TensorFlow's Docker images](https:
|
||||||
* The current TensorFlow release now **requires** [gast](https://pypi.org/project/gast/) version 0.3.3.
|
* The current TensorFlow release now **requires** [gast](https://pypi.org/project/gast/) version 0.3.3.
|
||||||
|
|
||||||
## Bug Fixes and Other Changes
|
## Bug Fixes and Other Changes
|
||||||
* `tf.data`:
|
|
||||||
* Removed `autotune_algorithm` from experimental optimization options.
|
* `tf.data`:
|
||||||
* TF Core:
|
* Removed `autotune_algorithm` from experimental optimization options.
|
||||||
* `tf.constant` always creates CPU tensors irrespective of the current device context.
|
* TF Core:
|
||||||
* Eager `TensorHandles` maintain a list of mirrors for any copies to local or remote devices. This avoids any redundant copies due to op execution.
|
* `tf.constant` always creates CPU tensors irrespective of the current
|
||||||
* For `tf.Tensor` & `tf.Variable`, `.experimental_ref()` is no longer experimental and is available as simply `.ref()`.
|
device context.
|
||||||
* `pfor/vectorized_map`: Added support for vectorizing 56 more ops. Vectorizing `tf.cond` is also supported now.
|
* Eager `TensorHandles` maintain a list of mirrors for any copies to local
|
||||||
* Set as much partial shape as we can infer statically within the gradient impl of the gather op.
|
or remote devices. This avoids any redundant copies due to op execution.
|
||||||
* Gradient of `tf.while_loop` emits `StatelessWhile` op if `cond` and body functions are stateless. This allows multiple gradients while ops to run in parallel under distribution strategy.
|
* For `tf.Tensor` & `tf.Variable`, `.experimental_ref()` is no longer
|
||||||
* Speed up `GradientTape` in eager mode by auto-generating list of op inputs/outputs which are unused and hence not cached for gradient functions.
|
experimental and is available as simply `.ref()`.
|
||||||
* Support `back_prop=False` in `while_v2` but mark it as deprecated.
|
* `pfor/vectorized_map`: Added support for vectorizing 56 more ops.
|
||||||
* Improve error message when attempting to use `None` in data-dependent control flow.
|
Vectorizing `tf.cond` is also supported now.
|
||||||
* Add `RaggedTensor.numpy()`.
|
* Set as much partial shape as we can infer statically within the gradient
|
||||||
* Update `RaggedTensor.__getitem__` to preserve uniform dimensions & allow indexing into uniform dimensions.
|
impl of the gather op.
|
||||||
* Update `tf.expand_dims` to always insert the new dimension as a non-ragged dimension.
|
* Gradient of `tf.while_loop` emits `StatelessWhile` op if `cond` and body
|
||||||
* Update `tf.embedding_lookup` to use `partition_strategy` and `max_norm` when `ids` is ragged.
|
functions are stateless. This allows multiple gradients while ops to run
|
||||||
* Allow `batch_dims==rank(indices)` in `tf.gather`.
|
in parallel under distribution strategy.
|
||||||
* Add support for bfloat16 in `tf.print`.
|
* Speed up `GradientTape` in eager mode by auto-generating list of op
|
||||||
* `tf.distribute`:
|
inputs/outputs which are unused and hence not cached for gradient
|
||||||
* Support `embedding_column` with variable-length input features for `MultiWorkerMirroredStrategy`.
|
functions.
|
||||||
* `tf.keras`:
|
* Support `back_prop=False` in `while_v2` but mark it as deprecated.
|
||||||
* Added `experimental_aggregate_gradients` argument to `tf.keras.optimizer.Optimizer.apply_gradients`. This allows custom gradient aggregation and processing aggregated gradients in custom training loop.
|
* Improve error message when attempting to use `None` in data-dependent
|
||||||
* Allow `pathlib.Path` paths for loading models via Keras API.
|
control flow.
|
||||||
* `tf.function`/AutoGraph:
|
* Add `RaggedTensor.numpy()`.
|
||||||
* AutoGraph is now available in `ReplicaContext.merge_call`, `Strategy.extended.update` and `Strategy.extended.update_non_slot`.
|
* Update `RaggedTensor.__getitem__` to preserve uniform dimensions & allow
|
||||||
* Experimental support for shape invariants has been enabled in `tf.function`. See the API docs for `tf.autograph.experimental.set_loop_options` for additonal info.
|
indexing into uniform dimensions.
|
||||||
* AutoGraph error messages now exclude frames corresponding to APIs internal to AutoGraph.
|
* Update `tf.expand_dims` to always insert the new dimension as a
|
||||||
* Improve shape inference for `tf.function` input arguments to unlock more Grappler optimizations in TensorFlow 2.x.
|
non-ragged dimension.
|
||||||
* Improve automatic control dependency management of resources by allowing resource reads to occur in parallel and synchronizing only on writes.
|
* Update `tf.embedding_lookup` to use `partition_strategy` and `max_norm`
|
||||||
* Fix execution order of multiple stateful calls to `experimental_run_v2` in `tf.function`.
|
when `ids` is ragged.
|
||||||
* You can now iterate over `RaggedTensors` using a for loop inside `tf.function`.
|
* Allow `batch_dims==rank(indices)` in `tf.gather`.
|
||||||
* `tf.lite`:
|
* Add support for bfloat16 in `tf.print`.
|
||||||
* Migrated the `tf.lite` C inference API out of experimental into lite/c.
|
* `tf.distribute`:
|
||||||
* Add an option to disallow `NNAPI` CPU / partial acceleration on Android 10
|
* Support `embedding_column` with variable-length input features for
|
||||||
* TFLite Android AARs now include the C headers and APIs are required to use TFLite from native code.
|
`MultiWorkerMirroredStrategy`.
|
||||||
* Refactors the delegate and delegate kernel sources to allow usage in the linter.
|
* `tf.keras`:
|
||||||
* Limit delegated ops to actually supported ones if a device name is specified or `NNAPI` CPU Fallback is disabled.
|
* Added `experimental_aggregate_gradients` argument to
|
||||||
* TFLite now supports `tf.math.reciprocal1` op by lowering to `tf.div op`.
|
`tf.keras.optimizer.Optimizer.apply_gradients`. This allows custom
|
||||||
* TFLite's unpack op now supports boolean tensor inputs.
|
gradient aggregation and processing aggregated gradients in custom
|
||||||
* Microcontroller and embedded code moved from experimental to main TensorFlow Lite folder
|
training loop.
|
||||||
* Check for large TFLite tensors.
|
* Allow `pathlib.Path` paths for loading models via Keras API.
|
||||||
* Fix GPU delegate crash with C++17.
|
* `tf.function`/AutoGraph:
|
||||||
* Add 5D support to TFLite `strided_slice`.
|
* AutoGraph is now available in `ReplicaContext.merge_call`,
|
||||||
* Fix error in delegation of `DEPTH_TO_SPACE` to `NNAPI` causing op not to be accelerated.
|
`Strategy.extended.update` and `Strategy.extended.update_non_slot`.
|
||||||
* Fix segmentation fault when running a model with LSTM nodes using `NNAPI` Delegate
|
* Experimental support for shape invariants has been enabled in
|
||||||
* Fix `NNAPI` delegate failure when an operand for Maximum/Minimum operation is a scalar.
|
`tf.function`. See the API docs for
|
||||||
* Fix `NNAPI` delegate failure when Axis input for reduce operation is a scalar.
|
`tf.autograph.experimental.set_loop_options` for additonal info.
|
||||||
* Expose option to limit the number of partitions that will be delegated to `NNAPI`.
|
* AutoGraph error messages now exclude frames corresponding to APIs
|
||||||
* If a target accelerator is specified, use its feature level to determine operations to delegate instead of SDK version.
|
internal to AutoGraph.
|
||||||
* `tf.random`:
|
* Improve shape inference for `tf.function` input arguments to unlock more
|
||||||
* Various random number generation improvements:
|
Grappler optimizations in TensorFlow 2.x.
|
||||||
* Add a fast path for default `random_uniform`
|
* Improve automatic control dependency management of resources by allowing
|
||||||
* `random_seed` documentation improvement.
|
resource reads to occur in parallel and synchronizing only on writes.
|
||||||
* `RandomBinomial` broadcasts and appends the sample shape to the left rather than the right.
|
* Fix execution order of multiple stateful calls to `experimental_run_v2`
|
||||||
* Added `tf.random.stateless_binomial`, `tf.random.stateless_gamma`, `tf.random.stateless_poisson`
|
in `tf.function`.
|
||||||
* `tf.random.stateless_uniform` now supports unbounded sampling of `int` types.
|
* You can now iterate over `RaggedTensors` using a for loop inside
|
||||||
* Math and Linear Algebra:
|
`tf.function`.
|
||||||
* Add `tf.linalg.LinearOperatorTridiag`.
|
* `tf.lite`:
|
||||||
* Add `LinearOperatorBlockLowerTriangular`
|
* Migrated the `tf.lite` C inference API out of experimental into lite/c.
|
||||||
* Add broadcasting support to tf.linalg.triangular_solve[#26204](https://github.com/tensorflow/tensorflow/issues/26204), tf.math.invert_permutation.
|
* Add an option to disallow `NNAPI` CPU / partial acceleration on Android
|
||||||
* Add `tf.math.sobol_sample` op.
|
10
|
||||||
* Add `tf.math.xlog1py`.
|
* TFLite Android AARs now include the C headers and APIs are required to
|
||||||
* Add `tf.math.special.{dawsn,expi,fresnel_cos,fresnel_sin,spence}`.
|
use TFLite from native code.
|
||||||
* Add a Modified Discrete Cosine Transform (MDCT) and its inverse to `tf.signal`.
|
* Refactors the delegate and delegate kernel sources to allow usage in the
|
||||||
* TPU Enhancements:
|
linter.
|
||||||
* Refactor `TpuClusterResolver` to move shared logic to a separate pip package.
|
* Limit delegated ops to actually supported ones if a device name is
|
||||||
* Support configuring TPU software version from cloud tpu client.
|
specified or `NNAPI` CPU Fallback is disabled.
|
||||||
* Allowed TPU embedding weight decay factor to be multiplied by learning rate.
|
* TFLite now supports `tf.math.reciprocal1` op by lowering to `tf.div op`.
|
||||||
* XLA Support:
|
* TFLite's unpack op now supports boolean tensor inputs.
|
||||||
* Add standalone XLA AOT runtime target + relevant .cc sources to pip package.
|
* Microcontroller and embedded code moved from experimental to main
|
||||||
* Add check for memory alignment to MemoryAllocation::MemoryAllocation() on 32-bit ARM. This ensures a deterministic early exit instead of a hard to debug bus error later.
|
TensorFlow Lite folder
|
||||||
* `saved_model_cli aot_compile_cpu` allows you to compile saved models to XLA header+object files and include them in your C++ programs.
|
* Check for large TFLite tensors.
|
||||||
* Enable `Igamma`, `Igammac` for XLA.
|
* Fix GPU delegate crash with C++17.
|
||||||
* Deterministic Op Functionality:
|
* Add 5D support to TFLite `strided_slice`.
|
||||||
* XLA reduction emitter is deterministic when the environment variable `TF_DETERMINISTIC_OPS` is set to "true" or "1". This extends deterministic `tf.nn.bias_add` back-prop functionality (and therefore also deterministic back-prop of bias-addition in Keras layers) to include when XLA JIT complilation is enabled.
|
* Fix error in delegation of `DEPTH_TO_SPACE` to `NNAPI` causing op not to
|
||||||
* Fix problem, when running on a CUDA GPU and when either environment variable `TF_DETERMINSTIC_OPS` or environment variable `TF_CUDNN_DETERMINISTIC` is set to "true" or "1", in which some layer configurations led to an exception with the message "No algorithm worked!"
|
be accelerated.
|
||||||
* Tracing and Debugging:
|
* Fix segmentation fault when running a model with LSTM nodes using
|
||||||
* Add source, destination name to `_send` traceme to allow easier debugging.
|
`NNAPI` Delegate
|
||||||
* Add traceme event to `fastpathexecute`.
|
* Fix `NNAPI` delegate failure when an operand for Maximum/Minimum
|
||||||
* Other:
|
operation is a scalar.
|
||||||
* Fix an issue with AUC.reset_states for multi-label AUC [#35852](https://github.com/tensorflow/tensorflow/issues/35852)
|
* Fix `NNAPI` delegate failure when Axis input for reduce operation is a
|
||||||
* Fix the TF upgrade script to not delete files when there is a parsing error and the output mode is `in-place`.
|
scalar.
|
||||||
* Move `tensorflow/core:framework/*_pyclif` rules to `tensorflow/core/framework:*_pyclif`.
|
* Expose option to limit the number of partitions that will be delegated
|
||||||
|
to `NNAPI`.
|
||||||
|
* If a target accelerator is specified, use its feature level to determine
|
||||||
|
operations to delegate instead of SDK version.
|
||||||
|
* `tf.random`:
|
||||||
|
* Various random number generation improvements:
|
||||||
|
* Add a fast path for default `random_uniform`
|
||||||
|
* `random_seed` documentation improvement.
|
||||||
|
* `RandomBinomial` broadcasts and appends the sample shape to the left
|
||||||
|
rather than the right.
|
||||||
|
* Added `tf.random.stateless_binomial`, `tf.random.stateless_gamma`,
|
||||||
|
`tf.random.stateless_poisson`
|
||||||
|
* `tf.random.stateless_uniform` now supports unbounded sampling of `int`
|
||||||
|
types.
|
||||||
|
* Math and Linear Algebra:
|
||||||
|
* Add `tf.linalg.LinearOperatorTridiag`.
|
||||||
|
* Add `LinearOperatorBlockLowerTriangular`
|
||||||
|
* Add broadcasting support to
|
||||||
|
tf.linalg.triangular_solve[#26204](https://github.com/tensorflow/tensorflow/issues/26204),
|
||||||
|
tf.math.invert_permutation.
|
||||||
|
* Add `tf.math.sobol_sample` op.
|
||||||
|
* Add `tf.math.xlog1py`.
|
||||||
|
* Add `tf.math.special.{dawsn,expi,fresnel_cos,fresnel_sin,spence}`.
|
||||||
|
* Add a Modified Discrete Cosine Transform (MDCT) and its inverse to
|
||||||
|
`tf.signal`.
|
||||||
|
* TPU Enhancements:
|
||||||
|
* Refactor `TpuClusterResolver` to move shared logic to a separate pip
|
||||||
|
package.
|
||||||
|
* Support configuring TPU software version from cloud tpu client.
|
||||||
|
* Allowed TPU embedding weight decay factor to be multiplied by learning
|
||||||
|
rate.
|
||||||
|
* XLA Support:
|
||||||
|
* Add standalone XLA AOT runtime target + relevant .cc sources to pip
|
||||||
|
package.
|
||||||
|
* Add check for memory alignment to MemoryAllocation::MemoryAllocation()
|
||||||
|
on 32-bit ARM. This ensures a deterministic early exit instead of a hard
|
||||||
|
to debug bus error later.
|
||||||
|
* `saved_model_cli aot_compile_cpu` allows you to compile saved models to
|
||||||
|
XLA header+object files and include them in your C++ programs.
|
||||||
|
* Enable `Igamma`, `Igammac` for XLA.
|
||||||
|
* Deterministic Op Functionality:
|
||||||
|
* XLA reduction emitter is deterministic when the environment variable
|
||||||
|
`TF_DETERMINISTIC_OPS` is set to "true" or "1". This extends
|
||||||
|
deterministic `tf.nn.bias_add` back-prop functionality (and therefore
|
||||||
|
also deterministic back-prop of bias-addition in Keras layers) to
|
||||||
|
include when XLA JIT compilation is enabled.
|
||||||
|
* Fix problem, when running on a CUDA GPU and when either environment
|
||||||
|
variable `TF_DETERMINSTIC_OPS` or environment variable
|
||||||
|
`TF_CUDNN_DETERMINISTIC` is set to "true" or "1", in which some layer
|
||||||
|
configurations led to an exception with the message "No algorithm
|
||||||
|
worked!"
|
||||||
|
* Tracing and Debugging:
|
||||||
|
* Add source, destination name to `_send` traceme to allow easier
|
||||||
|
debugging.
|
||||||
|
* Add traceme event to `fastpathexecute`.
|
||||||
|
* Other:
|
||||||
|
* Fix an issue with AUC.reset_states for multi-label AUC
|
||||||
|
[#35852](https://github.com/tensorflow/tensorflow/issues/35852)
|
||||||
|
* Fix the TF upgrade script to not delete files when there is a parsing
|
||||||
|
error and the output mode is `in-place`.
|
||||||
|
* Move `tensorflow/core:framework/*_pyclif` rules to
|
||||||
|
`tensorflow/core/framework:*_pyclif`.
|
||||||
|
|
||||||
## Thanks to our Contributors
|
## Thanks to our Contributors
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue