aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Use functions to build dense splits. Tensorflow Function invocations share ↵Gravatar A. Unique TensorFlower2018-05-25
| | | | | | the same graph so using them reduces the graph construction overhead. PiperOrigin-RevId: 198090110
* [tpu:profiler] Minor change in the description of tool name proto.Gravatar A. Unique TensorFlower2018-05-25
| | | | PiperOrigin-RevId: 198089875
* Add ScopedAllocatorOptimizer in support of CollectiveReduce.Gravatar A. Unique TensorFlower2018-05-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The efficiency of CollectiveReduce is greatly improved by merging multiple parallel reductions over smaller tensors into a single reduction over a larger tensor that is the concatentation of the smaller tensors. Because CollectiveReduce is essentially an element-wise array operation which operates on a 1-D reshape of the input tensor it is eligible for a ScopedAllocation optimization. The optimization works by looking for serially independent instances of CollectiveReduce that lie within the same name-scope tier and have the same control-flow (e.g. loop) embedding structure. Where two or more such nodes are found the upstream nodes that generate their inputs are modified to write their outputs into consecutive regions of a single tensor buffer maintained by a ScopedAllocator. The multiple CollectiveReduce nodes are then replaced by a single CollectiveReduce that operates in-place on the backing buffer. The effectiveness of the optimization depends on there being candidate CollectiveReduce nodes with these characteristics that become eligible for execution at close to the same time. If the name scope is too large, and includes nodes that become execution eligible at very different times, this graph rewrite could result in a slowdown. Note that this optimization is experimental: it is not guaranteed to work, especially for ops other than CollectiveReduce. PiperOrigin-RevId: 198089642
* enhance Tensorflow GBDT and GBRT model by exposing a new two dimensional ↵Gravatar A. Unique TensorFlower2018-05-25
| | | | | | output in prediction ops (example id, tree leaf node index id) for input as other model features PiperOrigin-RevId: 198087342
* Extracts the 'simplify slice' optimization into its own method.Gravatar A. Unique TensorFlower2018-05-25
| | | | PiperOrigin-RevId: 198085532
* [TF:XLA] Register Switch and Merge ops on XLA devices.Gravatar Peter Hawkins2018-05-25
| | | | PiperOrigin-RevId: 198083156
* Automated g4 rollback of changelist 192848921Gravatar Derek Murray2018-05-25
| | | | PiperOrigin-RevId: 198079927
* Extracts the 'simplify strided slice' optimization into its own method.Gravatar A. Unique TensorFlower2018-05-25
| | | | PiperOrigin-RevId: 198078724
* Bump TPU batch size and wrap apply_grads in defunGravatar Igor Ganichev2018-05-25
| | | | PiperOrigin-RevId: 198077643
* Release C++ lock before calling back into pythonGravatar Akshay Modi2018-05-25
| | | | PiperOrigin-RevId: 198073059
* DepthwiseConv optimizations.Gravatar A. Unique TensorFlower2018-05-25
| | | | PiperOrigin-RevId: 198071709
* Link to tf.estimator docs for premade estimators.Gravatar Mark Daoust2018-05-25
| | | | PiperOrigin-RevId: 198070157
* Code simplification in dump_graphviz.cc:Gravatar A. Unique TensorFlower2018-05-25
| | | | | | | Just output all arrays, before writing edges, so we don't need to keep track of which arrays we've already output. PiperOrigin-RevId: 198055327
* Minor clarification to model_to_estimator() doc stringGravatar Shanqing Cai2018-05-25
| | | | PiperOrigin-RevId: 198044106
* eager: Update introduction notebooks.Gravatar Asim Shankar2018-05-25
| | | | PiperOrigin-RevId: 198022387
* Fix typo, fix build.Gravatar Asim Shankar2018-05-25
| | | | PiperOrigin-RevId: 198017870
* Extracts the 'simplify tile node' optimization into its own method.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197996636
* Go: Update generated wrapper functions for TensorFlow ops.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197993384
* Initialize the score threshold to -inf to avoid filtering out negative logitsGravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197993147
* Update ops-related pbtxt files.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197991672
* Merge changes from github.Gravatar Yifei Feng2018-05-24
| | | | | | | Revert #18413. Too many internal test failures due to the name scope change caused by this change. Revert #18192. Cannot use re2::StringPiece internally. Need alternative for set call. Will pull and clean this up in a separate change. PiperOrigin-RevId: 197991247
* Extracts the 'simplify pad node' optimization into its own method.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197989813
* Rename TileLoader to MemoryTile; NFCGravatar Sanjoy Das2018-05-24
| | | | | | | In a later change I will expand MemoryTile to store tiles and load "3d" tiles (where we broadcast along one dimension as we load). PiperOrigin-RevId: 197987185
* Add heuristic on picking NHWC layout for (V100, fp16) convolutions.Gravatar A. Unique TensorFlower2018-05-24
| | | | | | | | | | Also move AlgorithmPicker after layout assignment, as now cudnn_convolution_runner will return failures on invalid input layouts. Also add a backend debug option to switch the layout heuristic. By default it has the old behavior (all NCHW). PiperOrigin-RevId: 197983747
* Enabling some potential optimization using the restrict qualifier.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197979118
* When converting a numpy float64 to an EagerTensor, always ensure that itGravatar Akshay Modi2018-05-24
| | | | | | | | | becomes a float64 tensor. Earlier py_seq_tensor would fall back to a float32 if not explicitly requesting a float64 (which would not happen if we had no other information). PiperOrigin-RevId: 197977260
* Don't XLA-compile naked variable readsGravatar Igor Ganichev2018-05-24
| | | | | | | | | | | Before this change, when we executed a naked variable read (i.e. outside of a defun, directly running <xla_device>->Compute()), tf2xla kernel would copy the variable's tensor leading to many unnecessary copies. This change uses the regular non-tf2xla kernel for naked variable reads and marks the tf2xla one for CompilationOnly(). PiperOrigin-RevId: 197976146
* move wide string manipulations out of windows_file_systemGravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197974385
* Remove _get_backward_fn and depend on _gradient_function directly.Gravatar Akshay Modi2018-05-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (_magic_gradient_function was renamed to _gradient_function) Before: entry { name: "MicroBenchmarks.benchmark_tf_gradient_forward_identity" iters: 30000 wall_time: 5.88456789653 extras { key: "examples_per_sec" value { double_value: 169936.011885 } } } After: entry { name: "MicroBenchmarks.benchmark_tf_gradient_forward_identity" iters: 30000 wall_time: 5.04853725433 extras { key: "examples_per_sec" value { double_value: 198077.175551 } } } PiperOrigin-RevId: 197972668
* Fix the generated builtin_ops enum header.Gravatar Yu-Cheng Ling2018-05-24
| | | | PiperOrigin-RevId: 197969642
* Extracts the 'simplify squeeze node' optimization into its own method.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197968452
* [XLA] Remove maps with a single instructionGravatar David Majnemer2018-05-24
| | | | | | | These maps aren't really pulling their weight, fold them to the instruction that they compute. PiperOrigin-RevId: 197967117
* Avoid infinite recursion when checking for indexed slices.Gravatar Priya Gupta2018-05-24
| | | | PiperOrigin-RevId: 197965508
* Allow combinations to be used on the class level. Make "mode" optional.Gravatar Igor Saprykin2018-05-24
| | | | | | | | | | Applying a generator to a class is the same as applying that generator to every member of that class. It is meant to allow avoiding repetition in some cases. The implementation relies on some internals of parameterized tests and how it works with a class level declaration: https://github.com/abseil/abseil-py/blob/master/absl/testing/parameterized.py#L319. The "mode" argument is required before this change. To accommodate cases where execution mode isn't the point of the test, "mode" became optional with "graph" mode being default. Another idea I had was to pick a random mode by default. PiperOrigin-RevId: 197964501
* Add local_init_run_options to SessionManager and Supervisor so thatGravatar A. Unique TensorFlower2018-05-24
| | | | | | | collective_graph_key can be passed in when collective ops are used in variable initialization. PiperOrigin-RevId: 197964316
* Rename getInt64 to GetInt64 to follow Google styleGravatar Sanjoy Das2018-05-24
| | | | PiperOrigin-RevId: 197963232
* Windows build script change for release jobGravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197959602
* Small fix so that GDN can run on TPUGravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197959536
* Raise ValueError when calling model.summary() before it is builtGravatar Francois Chollet2018-05-24
| | | | PiperOrigin-RevId: 197959372
* [TF:XLA] Avoid buffer copy when copying a Tensor onto an XLA device.Gravatar Peter Hawkins2018-05-24
| | | | PiperOrigin-RevId: 197952565
* [XLA] Convert infeed call to take a LiteralSlice.Gravatar Chris Leary2018-05-24
| | | | PiperOrigin-RevId: 197949637
* tfdbg: fix issue where total source file size exceeds gRPC message size limitGravatar Shanqing Cai2018-05-24
| | | | | | | | | | * Source file content is now sent one by one, making it less likely that individual messages will have sizes above the 4-MB gRPC message size limit. * In case the message for a single source file exceeds the limit, the client handles it gracefully by skipping the sending and print a warning message. Fixes: https://github.com/tensorflow/tensorboard/issues/1118 PiperOrigin-RevId: 197949416
* Fix bugs with the code blocks in defun's docstring.Gravatar Akshay Agrawal2018-05-24
| | | | PiperOrigin-RevId: 197943921
* Automated g4 rollback of changelist 197868028Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197942379
* add maxpoolgrad transposer for layout optimizer.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197942180
* Removing outdated links.Gravatar Amit Patankar2018-05-24
| | | | PiperOrigin-RevId: 197941740
* Extracts the Simplify Pack optimization into its own method.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197941474
* Ensure ResourceMgr::LookupOrCreate calls create fn just onceGravatar Nick Felt2018-05-24
| | | | | | | | This addresses a race condition where LookupOrCreate is called at the same time from two threads, and both Lookup()s fail, so the creator() function is run twice, even though only a single Create() will then succeed. The motivation is that some creator() functions have side-effects, e.g. tf.contrib.summary.create_file_writer()'s init op opens an events file. This change ensures that if two init ops for file writers with the same resource name are run in the same session.run() call, only one events file will be created. (Current behavior will often open two files; typically the second one overwrites the first but this won't happen if the filename_suffix values are different or the timestamps happen to straddle a second boundary.) PiperOrigin-RevId: 197940607
* Updated documentation for tf.reduce_join.Gravatar A. Unique TensorFlower2018-05-24
| | | | PiperOrigin-RevId: 197939808
* Only wait for one of the input tensors to be ready.Gravatar A. Unique TensorFlower2018-05-24
| | | | | | | | | The waiting was implemented to avoid reading stale models as much as possible. However with this dependency, each input column creates a Send/Recv to PS0 which slows down training significantly. Colocate Quantile and Stats accumulators for the same handler. PiperOrigin-RevId: 197939327