| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
This simple has a kernel that runs on every element of the updates tensor,
figure out the right indices to perform the update, and applies it with an
atomic operation.
Currently we emit a CAS for plain (i.e. non-add) updates, which is inefficient.
Also TuplePointsToAnalysis doesn't know that it should alias the operand and
output buffers of a scatter, which would avoid a copy.
PiperOrigin-RevId: 216412467
|
|
|
|
| |
PiperOrigin-RevId: 216412380
|
|
|
|
| |
PiperOrigin-RevId: 216410913
|
|
|
|
| |
PiperOrigin-RevId: 216400726
|
|
|
|
|
|
|
|
|
|
|
|
| |
function calls.
E.g. register_kl calls would trigger such warnings. This spam was exacerbated
by the fact that it happens before logging is initialized, so it is dumped
prominently to STDERR. Worse yet it also happened no matter whether the user
imported any symbols from tf.distributions or not as the relevant code is
executed when you import TensorFlow.
PiperOrigin-RevId: 216396036
|
|
|
|
| |
PiperOrigin-RevId: 216395709
|
|
|
|
| |
PiperOrigin-RevId: 216392908
|
|
|
|
| |
PiperOrigin-RevId: 216392772
|
|
|
|
|
|
|
|
|
|
| |
Specifically:
- renames from def_function
- returns an object with well-defined methods
- doesn't force-retrace twice
- uses the python descriptor API ( https://docs.python.org/3/howto/descriptor.html )
to remove the need for a tf.method
PiperOrigin-RevId: 216388957
|
|
|
|
| |
PiperOrigin-RevId: 216386450
|
|
|
|
| |
PiperOrigin-RevId: 216385202
|
|
|
|
|
|
|
| |
_SUMMARY_WRITER_INIT_COLLECTION_NAME collections from the summaryV2
implementation. Replacing them with global variables.
PiperOrigin-RevId: 216383152
|
|
|
|
| |
PiperOrigin-RevId: 216381943
|
|
|
|
| |
PiperOrigin-RevId: 216375421
|
|
|
|
| |
PiperOrigin-RevId: 216372144
|
|
|
|
|
|
| |
flow conversion.
PiperOrigin-RevId: 216370439
|
|
|
|
| |
PiperOrigin-RevId: 216370329
|
|
|
|
| |
PiperOrigin-RevId: 216370193
|
|
|
|
|
|
|
|
|
|
| |
Previously we pre-reserverd the visit state based on the number of
instructions but then started to index it with the instruction unique ID
what can be larger then the instruction count. This resulted in some
very expensive re-allocations what can be eliminated by reserving the
correctly sized buffer.
PiperOrigin-RevId: 216369849
|
|
|
|
| |
PiperOrigin-RevId: 216369081
|
|
|
|
| |
PiperOrigin-RevId: 216368178
|
|
|
|
| |
PiperOrigin-RevId: 216367867
|
|
|
|
|
|
| |
tensorflowtestcase.
PiperOrigin-RevId: 216363450
|
|
|
|
|
|
|
|
|
|
| |
estimators. This is required for TF hub use cases where users might send in new feature columns to old model code. Implemented this support by making V2 feature columns support the V1 API. This is needed temporarily and would definitely be removed by TF 2.0, possibly earlier depending on what guarantees are provided by TF hub.
The only case we don't allow here is mixing in V2 shared embedding columns with V1 Feature columns. V2 Shared FC's depend on a SharedEmbeddingState manager that would have to be passed in to the various API's and there wasn't really a very clean way to make that work.
Mixing V2 feature columns with V1 shared embedding columns is fine though and along with all other combinations
PiperOrigin-RevId: 216359041
|
|
|
|
|
|
|
| |
If the graph contains not constant array with strings it fails because the
array's size can't be estimated.
PiperOrigin-RevId: 216356162
|
|
|
|
| |
PiperOrigin-RevId: 216354906
|
|
|
|
| |
PiperOrigin-RevId: 216350134
|
|
|
|
| |
PiperOrigin-RevId: 216323343
|
|
|
|
| |
PiperOrigin-RevId: 216315110
|
|
|
|
| |
PiperOrigin-RevId: 216309111
|
|
|
|
|
|
| |
function to utils; Refactor EstimateSize() from memory_optimizer.cc to utils; some small changes for readability improvement
PiperOrigin-RevId: 216307257
|
|
|
|
| |
PiperOrigin-RevId: 216303340
|
|
|
|
| |
PiperOrigin-RevId: 216299809
|
|
|
|
|
|
|
|
| |
- This CL intruduces input/output alias config in HLO module that allows any HLO pass to configure it. Once the alias_config is set, each backend needs to follow the contract during execution time to make sure the input and output are indeed aliased.
- Copy insertion / buffer assignment and alias analysis has been updated to correctly honor the config and avoid any possible liveness interference.
PiperOrigin-RevId: 216299501
|
|
|
|
|
|
|
| |
call for better xprof tracing. Also annotate synchronous op execution with the session-run id (or step_id) as metadata leveraging the support introduced in cl/215985561.
This should enable highlighting the duration of a Session::Run and all the ops that ran in it for visualizing latency regressions in the case of CPU inference.
PiperOrigin-RevId: 216284682
|
|
|
|
| |
PiperOrigin-RevId: 216280913
|
|
|
|
|
|
|
|
|
| |
Previously, we were passing the first (graph-level) seed for both the
graph-level and op-level seeds when creating a C++ dataset. This
change passes the op-level seed to the appropriate point, and adds a test
for the behavior with graph-but-not-op-level seeds.
PiperOrigin-RevId: 216280641
|
|
|
|
| |
PiperOrigin-RevId: 216280197
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
are made according to https://github.com/tensorflow/community/pull/16.
I am keeping a few symbols deprecated not mentioned in the doc:
tf.diag - it seems best to keep it next to tf.linalg.diag, so that the two are easy to compare and decide which one to use. The plan is to rename tf.diag to tf.tensor_diag.
tf.is_nan - similar to tf.is_inf, tf.is_finite, tf.is_numeric_tensor which are all getting deprecated and replaced by symbols in tf.debugging.
tf.string_to_number - other string endpoints in root namespace are getting deprecated: for e.g. tf.substr, tf.string_join.
tf.dequantize - all quantization ops should be under tf.quantize. I probably missed this one.
tf.check_numerics - similar to other debugging ops that are getting moved to tf.debugging.
tf.squared_difference - moved to tf.math namespace and not as popular as some other math ops such as tf.add to justify keeping endpoint in root.
tf.decode_raw - similar to other ops such as tf.decode_csv that are getting moved to tf.io.decode_csv.
PiperOrigin-RevId: 216278010
|
|
|
|
| |
PiperOrigin-RevId: 216270497
|
|
|
|
| |
PiperOrigin-RevId: 216270385
|
|
|
|
| |
PiperOrigin-RevId: 216265275
|
|
|
|
| |
PiperOrigin-RevId: 216263039
|
|
|
|
| |
PiperOrigin-RevId: 216260575
|
|
|
|
| |
PiperOrigin-RevId: 216260437
|
|
|
|
| |
PiperOrigin-RevId: 216260216
|
|
|
|
|
|
|
| |
Use the ArgDef::type field when available for propagating
the output types from a given unsupported operator.
PiperOrigin-RevId: 216257741
|
|
|
|
| |
PiperOrigin-RevId: 216256115
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The calculation of a spatial coordinate in the kernel and activations is not
dependent on which part of the contracted dimension (input feature) we are in.
Rather than nesting the loops, the loops can be siblings:
- One loop over spatial dimensions
- One loop over the input feature group
This reduces the nesting depth which makes the code a little more readable and
might be slightly faster due work invariant in the spatial loop getting hoisted
out.
PiperOrigin-RevId: 216255839
|
|
|
|
|
|
|
|
| |
was created
with an input_signature.
PiperOrigin-RevId: 216253122
|