| Commit message (Collapse) | Author | Age |
|\
| |
| |
| | |
PiperOrigin-RevId: 213726710
|
| |
| |
| |
| |
| |
| |
| |
| | |
self.test_session() has been deprecated in 9962eb5e84b15e309410071b06c2ed2d6148ed44 as its name confuses readers of the test. Moving to cached_session() instead which is more explicit about:
* the fact that the session may be reused.
* the session is not closed even when doing a "with self.test_session()" statement.
PiperOrigin-RevId: 213326581
|
| |
| |
| |
| |
| |
| | |
self.test_session() has been deprecated in cl/208545396 as its behavior confuses readers of the test. Moving to self.session() instead.
PiperOrigin-RevId: 209696110
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Back-ticks are now converted to links in the api_docs generator. With the new docs repo we're moving to simplify the docs pipeline, and make everything more readable.
By doing this we no longer get test failures for symbols that don't exist (`tf.does_not_exist` will not get a link).
There is also no way, not to set custom link text. That's okay.
This is the result of the following regex replacement (+ a couple of manual edits.):
re: @\{([^$].*?)(\$.+?)?}
sub: `\1`
Which does the following replacements:
"@{tf.symbol}" --> "`tf.symbol`"
"@{tf.symbol$link_text}" --> "`tf.symbol`"
PiperOrigin-RevId: 208042358
|
| |
| |
| |
| | |
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|/
|
|
| |
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
|
|
|
|
|
|
|
|
|
|
| |
Some unit test fiddling, but otherwise just moving code around.
My goal is to be able to use checkpointable data structures (or something like them) in Checkpointable's __setattr__ override. Checkpointable data structures depend on Layer, so Checkpointable and CheckpointableBase need to be in seprate files (so we can have the dependency chain CheckpointableBase->Layer->CheckpointableDataStructure->Checkpointable).
This will also require changes to python/keras/engine/__init__.py (which currently requires Network and Layer be imported together), but I'll do that in a separate change.
PiperOrigin-RevId: 201712549
|
|
|
|
| |
PiperOrigin-RevId: 201652888
|
|
|
|
|
|
| |
The registered ones are the same as default.
PiperOrigin-RevId: 198489529
|
|
|
|
| |
PiperOrigin-RevId: 197097430
|
|
|
|
|
|
|
|
|
|
| |
python/training/checkpointable/
Need to add some new checkpointable files in core (specifically I had some checkpointable data structures in mind), and prefixing more files with "checkpointable_" in python/training/ seems dirty.
No functional changes, just some branching and build/import fiddling.
PiperOrigin-RevId: 196883136
|
|
|
|
|
|
|
|
| |
tests
After cl/194315742 the assertions correctly point out that there are some Python objects which aren't matched (they don't have variables). Another option would be to mark these as special/optional, which we can implement if there's a need.
PiperOrigin-RevId: 194416864
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CudnnRNN V2 kernels run all applicable cudnn rnn algorithms and pick the best one for following runs.
* To enable autotune, TF_CUDNN_RNN_USE_AUTOTUNE and TF_CUDNN_RNN_USE_V2 need to be set to {"1" or unset}.
* TF_CUDNN_RNN_USE_AUTOTUNE does not work with existing CudnnRNN kernels.
* V2 kernels work with existing cudnn checkpoints, since it doesn't change persistence format.
This change
* Introduces v2 kernels as templates inheriting the v1 kernels.
* Profiles fwd and bak runs in v2 kernel (forward pass)
* Exposes the chosen algorithm as fwd op output and bak op input.
* Changes rnn descriptor cache key to include AlgorithmDesc (since cudnn rnn descriptor can't be reused across different algorithms)
* Updates unittests s.t. it tests both v1 and v2 kernels. When testing v2 kernels, autotune is turned on.
PiperOrigin-RevId: 194333948
|
|
|
|
| |
PiperOrigin-RevId: 194031845
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
My plan for this is to incubate tools for working with object-based checkpoints:
- Tools for managing dependency graphs, e.g. checkpointable lists/dictionaries
- Inspecting/visualizing checkpoints
- Listing variables and gathering initializers from a Checkpointable object
and its dependencies
- Verifying all variables are accessible as dependencies, which should make
converting existing graph building Saver uses easier/safer.
This CL includes none of those things, it just moves the split_dependency tool
here instead of contrib/eager.
PiperOrigin-RevId: 193531292
|
|
|
|
| |
PiperOrigin-RevId: 193234663
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doesn't add to the public API yet, just shifts code around. Changes:
- A tiny bit of renaming (to avoid having _Checkpoint and Checkpoint in the same file)
- Removed the garbage collection decorator from a few tests due to the uuid4() garbage issue (apparently core tests get run on Python 2.7.9?)
- Renamed "Object" to "CheckpointableObject" in the proto, since core protos have Java bindings and apparently Java had something else in mind for the keyword "Object" :)
but otherwise this is a pure move.
After this CL I'll propose adding tf.train.Checkpoint to the API (currently tf.contrib.eager.Checkpoint), move the utilities that are still in contrib/eager to their own contrib directory (there will be a few more misc. utilities for inspecting checkpoints and managing dependencies), get tf.train.Saver to read object-based checkpoints for compatibility, and work on Model.save_weights/load_weights.
PiperOrigin-RevId: 192646890
|
|
|
|
| |
PiperOrigin-RevId: 192388250
|
|
|
|
|
|
|
|
|
|
|
|
| |
- tf.layers layers now subclasses tf.keras.layers layers.
- tf.keras.layers is now agnostic to variable scopes and global collections (future-proof). It also uses ResourceVariable everywhere by default.
- As a result tf.keras.layers is in general lower-complexity, with fewer hacks and workarounds. However some of current code is temporary (variable creation should be moved to Checkpointable, arguably, and there are some dependency issues that will require later refactors).
- The legacy tf.layers layers behavior is kept, with references to variable scopes and global collections injected in the subclassed tf.layers.base.Layer class (the content of tf.layers.base.Layer is the complexity differential between the old implementation and the new one).
Note: this refactor does slightly change the behavior of tf.layers.base.Layer, by disabling extreme edge-case behavior that either has long been invalid, or is dangerous and should most definitely be disabled. This will not affect any users since such behaviors only existed in the base Layer unit tests. The behaviors disabled are:
- Option to create reusable variables in `call` (already invalid for some time).
- Option to use a variable scope to create layer variables outside of the layer while not having the layer track such variables locally.
PiperOrigin-RevId: 192339798
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Once checked in, this will be the only way I know of to save canonical weights
when executing eagerly. Eager's name-based saving support will only do the
opaque parameter buffer.
I'm not going to try converting everything in one go, but it's a start at
least. And everything else should raise a NotImplementedError rather than
silently not saving correctly.
Single-layer cuDNN cells can be swapped for un-wrapped cuDNN compatible cells or
single cells wrapped in MultiRNNCells. Multi-layer cells need MultiRNNCell
wrapping.
PiperOrigin-RevId: 191905703
|
|
|
|
| |
PiperOrigin-RevId: 190878279
|
|
|
|
|
|
|
| |
publicly exposed).
RELNOTES: Moved cuDNN RNN ops to core.
PiperOrigin-RevId: 190130405
|
|
|
|
| |
PiperOrigin-RevId: 184897758
|
|
|
|
|
|
|
|
| |
CudnnRNN layers have variables of unknown shapes, which Adagrad/RMSProp didn't handle before.
This fixes 6620(#6620).
PiperOrigin-RevId: 184759579
|
|
|
|
|
|
| |
tensorflow/contrib/.../*.{hh,c}.
PiperOrigin-RevId: 183855242
|
|
|
|
| |
PiperOrigin-RevId: 183100142
|
|
|
|
| |
PiperOrigin-RevId: 182258809
|
|
|
|
| |
PiperOrigin-RevId: 181814918
|
|
|
|
|
|
| |
tf.AUTO_REUSE type.
PiperOrigin-RevId: 181620379
|
|
|
|
|
|
|
|
|
|
| |
Allows multiple CUDNN RNN calls with different shapes to share the same kernel.
Adds an input_shape-keyed scratch space cache to the kernel. This also fixes shape errors when a CUDNN RNN kernel was presented with multiple shapes during graph execution (e.g. from a while_loop).
Fixes #15752.
PiperOrigin-RevId: 180998667
|
|
|
|
| |
PiperOrigin-RevId: 180053468
|
|
|
|
|
|
| |
Update cudnn_rnn_ops_benchmark as it had API rotted.
PiperOrigin-RevId: 179084042
|
|
|
|
|
|
| |
Nvidia CuDNN7 still uses old GRU equations.
PiperOrigin-RevId: 175621353
|
|
|
|
| |
PiperOrigin-RevId: 175574730
|
|
|
|
|
|
|
|
|
| |
Now the layout of tensorflow/contrib/cudnn_rnn is similar to
tensorflow/contrib/layers
Delete repeated tests in cudnn_rnn_ops_test (new tests in cudnn_rnn_test).
PiperOrigin-RevId: 175487631
|
|
|
|
|
|
| |
wrappers
PiperOrigin-RevId: 174523358
|
|
|
|
|
|
| |
Relax CudnnRNNTestCompatibleRNNCells test error tolerance a bit.
PiperOrigin-RevId: 174495089
|
|
|
|
| |
PiperOrigin-RevId: 174272860
|
|
|
|
|
|
|
|
| |
- Updated README
- A preliminary "User's Guide"
- A few example models, some with benchmarks
PiperOrigin-RevId: 173996303
|
|
|
|
| |
PiperOrigin-RevId: 173889798
|
|
|
|
| |
PiperOrigin-RevId: 173560463
|
|
|
|
|
|
| |
wrappers
PiperOrigin-RevId: 173494053
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
END_PUBLIC
---
Commit 9f8523640 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Update ops-related pbtxt files.
PiperOrigin-RevId: 173145770
---
Commit 01b6b0638 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Cut tracing memory cost
PiperOrigin-RevId: 173144626
---
Commit 5e23e0e67 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
[XLA] Erase cloned instructions on the fly when merging fusion nodes.
This avoids the awkward situation where an RNG which is clearly eligible for fusion becomes ineligible mid-fusion because it suddenly has an extra (dead) user.
PiperOrigin-RevId: 173141716
---
Commit 1038927c0 authored by Saurabh Saxena<srbs@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add SerializeIterator op that serializes an IteratorResource into a variant tensor.
Add DeserializeIterator op that builds IteratorResource from a variant tensor.
Move BundleReaderWrapper and BundleWriterWrapper from dataset.h to iterator_ops.cc.
Add generic key-value store interfaces IteratorStateReader and IteratorStateWriter for reading/writing state of iterators.
Get rid of IteratorBundleReader and IteratorBundleWriter.
PiperOrigin-RevId: 173140858
---
Commit 57f3e529d authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Internal change
PiperOrigin-RevId: 173136642
---
Commit 0e56ffb7b authored by Shanqing Cai<cais@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Fix breakages in OSS builds
See example breakages logs at:
http://ci.tensorflow.org/job/tensorflow-cl-cpu-python3-pip/10847/console
http://ci.tensorflow.org/job/tensorflow-cl-gpu/11008/console
1. CL/172477381 added the no_oss tag to tests with oss_serial tags, which broke the logic of OSS_SERIAL tests in pip.sh and run_pip_test.sh. This CL fixes that.
2. The nccl_kernels BUILD target in contrib/nccl/BUILD was missing some dependencies. This CL adds the missing ones.
Fixes: #13918
PiperOrigin-RevId: 173133914
---
Commit 3ed049b67 authored by Alexandre Passos<apassos@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Allows calling keras layers in eager mode.
PiperOrigin-RevId: 173129805
---
Commit 4ec6f2b07 authored by Alexandre Passos<apassos@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Switching contrib.summaries API to be context-manager-centric
PiperOrigin-RevId: 173129793
---
Commit 03b02ffc9 authored by Justine Tunney<jart@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Put Bazel mirror URLs first
PiperOrigin-RevId: 173127955
---
Commit 46ab25e4d authored by David Majnemer<majnemer@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
[XLA] Add support for convolutions with no spatial dimensions
PiperOrigin-RevId: 173126950
---
Commit fc56349b7 authored by Derek Murray<mrry@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
[tf.data] Convert dataset arguments to tensors as early as possible.
This change raises a `TypeError` earlier if (for example) the `batch_size`
argument to `Dataset.batch()` has the incorrect type.
PiperOrigin-RevId: 173126678
---
Commit 4f7503a87 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
K-FAC: Support for registering multiple minibatches with register_fully_connected()
PiperOrigin-RevId: 173121735
---
Commit 2845bfcd6 authored by Tim Harley<tharley@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Avoid listing all modified Enter/RefEnter nodes on INFO, use VLOG(1) instead.
Leave a single, simple, message on INFO.
PiperOrigin-RevId: 173121726
---
Commit 434695921 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
K-FAC: _check_registration() supports multiple towers.
PiperOrigin-RevId: 173115870
---
Commit 670dddf4a authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Multi-minibatch support for
tf.contrib.kfac.fisher_blocks.FullyConnectedKFACBasicFB.
PiperOrigin-RevId: 173109677
---
Commit dc13a8e2f authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Fix import of meta graphs with partitioned variables into a scope.
Saver inspects SliceInfo to decide the variable name when creating a
checkpoint. Before this fix even if a partitioned variable ("weights")
was imported into a scope "a" it would still be checkpointed as ("weights")
instead of ("a/weights") since import_scoped_meta_graph was not adjusting
the SliceInfo.
WARNING: if you use import_meta_graph on graphs with partitioned_variables WITH an import_scope argument AND then create a Saver to write/read checkpoints this change
may break your checkpoint loading.
PiperOrigin-RevId: 173105796
---
Commit eea089bdb authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
K-FAC: Multi-tower support for ConvDiagonalFB.
PiperOrigin-RevId: 173105412
---
Commit 9b9cbbe2a authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Add int64 Tperm type support for `Transpose` (#13909)
* Add int64 Tperm type support for `Transpose`
This fix adds int64 Tperm support for `Transpose`. In
`array_ops.cc`, `Transpose` and `ConjugateTranspose`
have been specified as accepting int32 and int64 perm
types. However, only int32 kernels has been registered.
This fix adds the int64 perm support by removing
the constraint on Tperm, resolve the type at runtime,
and copying the data type accordingly to correctly handle
the int64/int32 types.
Additional tests have been added as well.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test cases for int64 of perm in Transpose.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add namespace to hide PermutationHelper
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Enable use_gpu=True for perm type test.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* extra // namespace annotation
* Adding a comment about int32 casting that should be safe.
Permutations only contain values that refer to dimensions, and the maximum number of dimensions we have is 254, so an int32 is always safe here.
---
Commit ac0004e71 authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Add int64 shape support on GPU for stateless random ops. (#13908)
* Add int64 shape support on GPU for stateless random ops.
This fix adds int64 shape support on GPU for stateless random ops
`StatelessRandomUniform`, `StatelessRandomNormal`, `StatelessTruncatedNormal`.
The int64 shape for stateless random ops is already supported on CPU
with int32/int64 processed properly through `MakeShape`.
However, on GPU a type constraint `.TypeConstraint<int32>("T")`
has been improperly added. Such a type constraint actually prevents
an int64 shape type to run on GPU. (As a comparision, no type constraint
on CPU).
This fix removes the type constraint and allows int64 shape to be run on GPU.
This fix also adds test cases for int64 shape support on stateless random ops.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test cases for int64 shape support for stateless random ops.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add int32 to shape types tested.
---
Commit 0d437c3be authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Add int64 padding support for MirrorPad (#13907)
* Add int64 padding support for MirrorPad
This fix adds int64 padding support for `MirrorPad`.
In the `array_ops.cc` the `MirrorPad`/`MirrorPadGrad`
has been specified as supporting int64 padding. The related
kernels does not have the int64 padding registered though.
This fix adds the int64 padding support. This fix also adds
additional test cases for coverage.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update template for CPU and GPU support of int64 paddings.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add int64 padding support for MirrorPad
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Put eigen header first like before, just in case.
---
Commit 690003cc0 authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Add `int64` type `multiples` support for `tf.tile` (#13884)
* Add `int64` type `multiples` support for `tf.tile`
In the doc of `tf.tile` (tf.tile.__doc__) both `int32`
and `int64` are supported for `multiples`. However, the kernel
for `int64` is not registered yet.
This fix adds the support of `int64` `multiples` so that the
behavior matches the description of the docs.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update functors for int64 multiples support in `tf.tile`
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update test cases for int64 of multiples in `tf.tile`
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add GPU and non GPU tests
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* format with clang-format -i
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Move Tmultiples after T (as it is auxilliary)
And use `use_gpu=True`
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit fd8d517b9 authored by Yunxing Dai<yunxing@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add tests for convolution 1D
RELNOTES: n/a
PiperOrigin-RevId: 173060283
---
Commit 40c475b48 authored by formath<jinpengliu@163.com>
Committed by Vijay Vasudevan<vrv@google.com>:
add segment_reduction_ops to tf_op_files (#13901)
---
Commit bfa4ec194 authored by Tayo Oguntebi<10927929+tayo@users.noreply.github.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Update node_def.proto comments (#13874)
The device field had outdated comments.
Note: We could consider adding tpu as an example here, e.g. "gpu" | "cpu" | "tpu". Thoughts?
---
Commit c9cb5a58d authored by formath<jinpengliu@163.com>
Committed by Vijay Vasudevan<vrv@google.com>:
protobuf lib path bug fix for benckmark on osx (#13878)
---
Commit 1c1dad105 authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Add int64 axis support for reduction ops. (#13891)
* Add int64 axis support for reduction ops.
This fix is a follow up to PR 13863. In PR 13863 the
program crash is fixed if int64 axis is passed to reduction ops,
e.g. reduce_sum, reduce_max, etc. However, 13863 does not
process the case of int64 support, it merely fixes the crash.
This fix adds the support for int64 axis of reduction ops.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add int64 axis support for mean, prod, sum
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add int64 axis support for min and max.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add int64 axis support for reduce_all and reduce_any
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test cases for int64 axis support of reduce_any and reduce_all
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit 17096081e authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Improve resize_bicubic performance by reorganizing loops (#13840)
* Improve resize_bicubic performance by reorganizing loops
This fix tries to address the issue raised in 13693 where
performance of `resize_bicubic` is not on par with opencv.
This fix rearranges the loops so that it is the same for
num_channel=40 and num_channel=3:
Pre-fix:
```
CHANNEL=40
opencv: 145.08ms
tf: 314.26ms
CHANNEL=3
opencv: 11.95ms
tf: 8.95ms
```
Post-fix:
```
CHANNEL=40
opencv: 144.25ms
tf: 214.55ms
CHANNEL=3
opencv: 11.78ms
tf: 14.07ms
```
This fix fixes 13693.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Keep special handling of `num_channels=3` for `resize_bicubic`
This commit keeps special handling of `num_channels=3` for
`resize_bicubic`:
Without special handling:
```
opencv: 11.78ms
tf: 14.07ms
```
With special handling:
```
opencv: 11.74ms
tf: 9.46ms
```
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Expand Benchmark test for resize_bicubic
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update from review feedback.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit b927df57f authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Update protobuf.cmake to b04e5cba356212e4e8c66c61bbe0c3a20537c5b9 (#13893)
This fix tries to address the issue raised in 8187 where
protobuf.cmake used different version as bazel.
The reason for discrepancy was due to the fact that a customerized
protobuf was needed with Windows patch. Since the patch has been
merged in (https://github.com/google/protobuf/pull/2203),
it makes sense to update protobuf.cmake so that the same version
of cmake is used.
This fix fixes 8187.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit d1183ca6a authored by Vijay Vasudevan<vrv@google.com>
Committed by GitHub<noreply@github.com>:
Give each variable a unique name in accumulate_n_v2_eager_test. (#13886)
---
Commit a69945810 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Update pin for bazel-toolchains to latest version
PiperOrigin-RevId: 173002530
---
Commit 9d55c249c authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Fix doc in TF_CALL_ when invoked in mobile platform (#13881)
* Fix doc in TF_CALL_ when defined(IS_MOBILE_PLATFORM) && !defined(__ANDROID_TYPES_FULL__)
This is a small doc fix that includes bool as part of the types
that is supported in mobile (IS_MOBILE_PLATFORM && !__ANDROID_TYPES_FULL__),
as bool is clearly invoked in the following define.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Also add bool to android full version.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit ba49d8583 authored by Bjarke Hammersholt Roune<broune@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Slight change to reduce_test to avoid generating inf, which was triggering an inf detector unnecessarily.
PiperOrigin-RevId: 172965466
---
Commit 93e8f3c67 authored by Anna R<annarev@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Adding Python ApiDef overrides.
PiperOrigin-RevId: 172960496
---
Commit 0d6a2e353 authored by Anna R<annarev@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Internal change.
PiperOrigin-RevId: 172960439
---
Commit 62df65c72 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add dtype argument to Mean and Accuracy object-oriented metrics.
PiperOrigin-RevId: 172957714
---
Commit d7409d32b authored by Simone Cirillo<my.accounts@gmx.se>
Committed by Vijay Vasudevan<vrv@google.com>:
Fix import of spatial_softmax from tensorflow.contrib.layers (#13833)
---
Commit df8bce63d authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Fix crash when `int64` axis is passed to `tf.reduce_sum` (#13863)
* Fix crash when `int64` axis is passed to `tf.reduce_sum`
This fix tries to fix the crash triggered by `int64` axis passed
to `tf.reduce_sum`:
```
ubuntu@ubuntu:~/tensorflow2$ (cd && python)
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> v = tf.reduce_sum([1,2,3], tf.constant(0, tf.int64))
2017-10-20 15:55:06.993430: F tensorflow/core/framework/tensor.cc:601] Check failed: dtype() == expected_dtype (9 vs. 3)
ubuntu@ubuntu:~/tensorflow2$
```
The issue is caused by the fact that shape inference in `common_shape_fns.cc`
only assumes int32 without proper handling of diffent types. In `math_ops.cc`
both int32 and int64 are mentioned.
NOTE that this fix does not address the issue that int64 is not supported.
To allow int64 axis it is more than adding a template in `ReductionOp` as the type
of the axis seems to be decided by some other ways in Eigen.
This fix merely fixed the crash so that an error message will return without
exit from the python program "No OpKernel was registered to support Op 'Sum' with these attrs".
Still, I think its worth to at least allow the program to continue in case of unsupported kernel.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Update implementation with a template helper function.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit 29c7b4658 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Adding the Stanford Tensorflow class to community resources.
PiperOrigin-RevId: 172956049
---
Commit f758b24a8 authored by Alexandre Passos<apassos@google.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Variable name for the eager test (#13873)
---
Commit a5fe66b15 authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Removed some unnecessary broadcasts in binary ops where only one input needs
broadcasting (which is a fairly common case, even in the fallback path).
PiperOrigin-RevId: 172950493
---
Commit c77090a0a authored by Yong Tang<yong.tang.github@outlook.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Fix issues where int64 crops could not be passed to batch_to_space. (#13862)
* Fix issues where int64 crops could not be passed to batch_to_space.
This fix tries to address the issue where int64 `crops` could
not be passed to `batch_to_space` even though both int32 and
int64 are specified as supported in the docs (tf.batch_to_space.__doc__)
The reason is that BatchToSpace kernel puts a constraint of int32 to crops
data types.
This fix removed the constraint so that int64 `crops` could be supported.
NOTE: Just removing the constraint should work and it is not necessary
to add specification to the kernel class template, as `SubtleMustCopyFlat`
called in the class already correctly handled both int32 and int64 cases.
Besides, other data types (e.g., float or double) will not be passed to the
kernel as they are guarded by the specification in `array_ops.cc`.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Also remove int64/int32 type constraints for SpaceToBatch kernels
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Add test cases for int64 crops of batch_to_space and space_to_batch
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
* Fix test failures.
Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
---
Commit 494837936 authored by Joshua V. Dillon<jvdillon@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Make `tf.contrib.distributions` quadrature family accept a `Tensor` for
`quadrature_grid_and_probs` argument.
PiperOrigin-RevId: 172950094
---
Commit 9c825d32c authored by Jinze Bai<baijinze1994@163.com>
Committed by Vijay Vasudevan<vrv@google.com>:
Merge two GPU kernel launching to one in DiagOp. (#13859)
---
Commit c0ca50a47 authored by Yan Facai (???)<facai.yan@gmail.com>
Committed by Vijay Vasudevan<vrv@google.com>:
ENH: add Relu6GradGrad (#13268)
* ENH: add Relu6GradGrad
* TST: add test case
* CLN: import nn_grad
* TST: add init value
---
Commit 8ff33271e authored by Justin Lebar<jlebar@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Dump the computation's SessionModule as part of the tf_compile rule.
PiperOrigin-RevId: 172946149
---
Commit ebcae4a5e authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add streaming_precision_recall_at_equal_thresholds
This helper method computes streaming tp, fp, tn, fp, precision, and recall for the user in a way that exhibits O(T + N) time and space complexity (instead of O(T * N)), where T is the number of thresholds and N is the size of the predictions tensor.
Thanks to Frank Chu for the efficient algorithm!
PiperOrigin-RevId: 172946073
---
Commit ccfd9c1e5 authored by Sanjoy Das<sanjoy@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Log Hlo IR during AOT compilation
PiperOrigin-RevId: 172944165
---
Commit 985031a10 authored by Alexandre Passos<apassos@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Allows tfe.enable_eager_execution(device_policy=tfe.DEVICE_POLICY_WARN).
PiperOrigin-RevId: 172943398
---
Commit 703182d85 authored by Mingxing Tan<tanmingxing@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Add performance guide for fused decode_and_crop_jpeg optimization.
PiperOrigin-RevId: 172943116
---
Commit 66b1f4383 authored by Francois Chollet<fchollet@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Make Network compatible with eager mode. Currently it only allows to instantiate a Network in eager mode using the regular Keras API, and call it on eager tensors.
PiperOrigin-RevId: 172942569
---
Commit 41df2cec2 authored by ashankar<ashankar@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Testing pending CL: 172939383
---
Commit 37fd95179 authored by Alexandre Passos<apassos@google.com>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
Simplifies capturing code in graph_callable to use recent function improvements.
PiperOrigin-RevId: 172937003
---
Commit d1e7382af authored by A. Unique TensorFlower<gardener@tensorflow.org>
Committed by TensorFlower Gardener<gardener@tensorflow.org>:
BEGIN_PUBLIC
Automated g4 rollback of changelist 172924803
PiperOrigin-RevId: 173347587
|
|
|
|
| |
PiperOrigin-RevId: 172114960
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Layerize CudnnRNN APIs
* Support build(), call() APIs
* Support building custom saveable() as a member method
* Custom saveable built as part of build()
* Support forward-compatible opaque param initialization w/ weight & bias initializer.
* Add more documentation.
Unittest revamp
* Introduce CudnnTestModel class to build graph used by all unittests, avoid repeatedly building similar graphs.
* Split tests by RNN types, for more explicit error localization.
* Use custom gradient check routine which is cleaner.
* Deleted golden-based inference tests since we use regular rnn as reference impl now.
PiperOrigin-RevId: 171095161
|
|
|
|
|
|
|
| |
* Rename broken API argu clip_cell boolean to cell_clip value.
* Make default no clipping.
PiperOrigin-RevId: 170960975
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Splits out a shared object (//tensorflow/libtensorflow_framework.so) with core TensorFlow functionality but neither ops nor kernels. This object does include registries for ops, kernels, filesystems, etc. The expectation is that shared objects containing custom ops will have a runtime dependency on this framework shared object: TensorFlow will load the custom op shared object, and the custom op shared object will use the symbols from the framework shared object to register its ops/kernels/etc. rather than (as before this change) relying on those symbols being in the global symbol table.
In this mode, TensorFlow artifacts (_pywrap_tensorflow.so for Python, libtensorflow.so for the C API; currently excluding Android artifacts) will depend on the framework shared object, which will be packaged with the Python pip package and other language distributions. This means that custom ops targeting the framework shared object will work in any language (C++, Java, Go; previously custom ops in these languages required custom Bazel builds).
Adds a config option which reproduces the old behavior (--config=monolithic), which for Python means building a monolithic pywrap_tensorflow shared object and loading its symbols into the global symbol table (with RTLD_GLOBAL). As before, there will be no extra-Bazel custom op support for other languages when compiling in this mode.
Does not change behavior on Windows; the cmake build is still monolithic.
Requires using tf_cc_binary, tf_cc_test, and (rarely) tf_cc_shared_object rules to link in the framework shared object when adding new TensorFlow build rules.
PiperOrigin-RevId: 169572746
|
|
|
|
| |
PiperOrigin-RevId: 167660250
|
|
|
|
|
|
|
| |
Will deprecate class-style cudnn_rnn_ops soon. As a transition
plan, have the former depend on the latter for now.
PiperOrigin-RevId: 167075637
|
|
|
|
|
|
| |
Also add reuse arg to LSTMBlockCell.
PiperOrigin-RevId: 167030950
|