| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 209679086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allows cond_v2 to avoid some of the limitations of Functions, allowing users to specify devices & colocation inside of cond_v2 branches, and enabling non-strict evaluation & partial pruning of branches. This brings cond_v2 closer to feature parity with tf.cond.
However, we do not lower `If` in the XLA context because it is easier for XLA to apply its own optimizations when dealing with un-lowered `If` operators than with lowered switch/merge control flow.
Also adds a toggleable flag in for InlineFunctionBody in function.cc that prevents the function caller device from overriding the devices of function body nodes. This is necessary for cond_v2 branches to support explicitly-specified devices.
Adds several tests to make sure that:
- lowering is usually enabled
- lowering is disabled for XLA
- node colocation inside of cond_v2 branches works
- explicit device placement inside of cond_v2 branches works
PiperOrigin-RevId: 201049850
|
|
|
|
|
|
|
|
| |
runner to execute kernels with. In that case, it defaults to using the threadpool provided by the device.
Also makes sure each device has a default threadpool to fall back on.
PiperOrigin-RevId: 188520648
|
|
|
|
|
|
|
|
| |
ProcessFunctionLibraryRuntime library to Instantiate and Run functions on different devices. When a FunctionLibraryRuntime encounters a function with a target that is another device, it delegates Instantiate() and Run() calls to the ProcessFunctionLibraryRuntime.
This change also moves the table_ containing all function instantiations to the PFLR instead of the FunctionLibraryRuntime.
PiperOrigin-RevId: 165651194
|
|
|
|
| |
PiperOrigin-RevId: 165604864
|
|
|
|
|
|
|
|
| |
ProcessFunctionLibraryRuntime library to Instantiate and Run functions on different devices. When a FunctionLibraryRuntime encounters a function with a target that is another device, it delegates Instantiate() and Run() calls to the ProcessFunctionLibraryRuntime.
This change also moves the table_ containing all function instantiations to the PFLR instead of the FunctionLibraryRuntime.
PiperOrigin-RevId: 165521057
|
|
|
|
| |
PiperOrigin-RevId: 163414320
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
inlining.
Op Counts Comparison (BNMT)
Counts: Profile vs Grappler
Op: Add, 968 vs 965
Op: AddN, 2228 vs 2228
Op: ApplyGradientDescent, 84 vs 84
Op: BatchMatMul, 998 vs 998
Op: Identity, 142 vs 105
Op: MatMul, 63 vs 63
Op: Mul, 10318 vs 10306
Op: OneHot, 1 vs 1
Op: Reshape, 8421 vs 8422
Op: Select, 488 vs 488
Op: Shape, 8132 vs 8131
Op: Sigmoid, 942 vs 942
Op: Softmax, 19 vs 19
Op: StridedSlice, 58 vs 74
Op: Sub, 1398 vs 1394
Op: Tanh, 333 vs 333
Op: Tile, 21 vs 21
Op: Transpose, 39 vs 39
PiperOrigin-RevId: 157288420
|
|
|
|
| |
PiperOrigin-RevId: 156457746
|
|
|
|
|
|
|
| |
To avoid another GraphDef -> Graph -> GraphDef conversion, change Device::MaybeRewriteGraph to take a Graph instead of a GraphDef.
Use std::unique_ptr<> in more places to avoid some awkward .release() magic.
Change: 144532446
|
|
|
|
| |
Change: 138882350
|
|
|
|
| |
Change: 137194599
|
|
|
|
| |
Change: 129993512
|
|
|
|
| |
Change: 123900938
|
|
|
|
|
|
|
|
| |
one from library-construction time. This is to properly support inter-op thread
pools with the function library.
Also change testlib graph construction to pass through the Graph's op_registry.
Change: 123761344
|
|
|
|
|
| |
compatible.
Change: 120497594
|
|
|
|
| |
Change: 116396958
|
|
|
|
| |
Change: 113692577
|
|
|
|
| |
Change: 113220692
|
|
|
|
| |
Change: 113217181
|
|
|
|
| |
Change: 113216002
|
|
|
|
| |
Change: 112920860
|
|
|
|
|
|
| |
The standard Graph::ToGraphDef function does not correctly handle the graphs produced by TensorFlow function expansion, e.g. inlining often produces duplicate node names.
This CL also adds a parameter which can be used to produce more legible node names which help when viewing the GraphDef in the TensorFlow graph visualizer.
Change: 112719928
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change 109945903
Make unsorted_segment_sum detect negative indices
Previously it crashed. This fixes #466.
Also improve the error message to say which index is problematic.
Change 109942557
Fix the conv_grad_input with stride 2.
+ We always call the Cudnn implementation even if we have an incompatible
padding.
Base CL: 109948577
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Changes:
* error message that refers to removed `DefaultSession` method.
* -Wnull-conversion warnings
* the "_start_time" attr for recvs when the flag "--brain_enable_scheduling_for_recvs" is set.
* typo in tutorial data download progress message.
* a typo ("however their installing"=>"however installing").
* typo, rename "TensorFlow Mechanics" to "How To" to be consistent with the website.
* a typo ("subtact"=>"subtract").
* protobuf examples in comments in tensorflow::Example.proto.
* formula formatting in MNIST beginner tutorial
* negative fraction-of-queue-full stats
* protobuf inclusion path so that Android demo will build under Blaze.
* small typo (moderatly > moderately)
* Session.run() to check that tensor arguments come from the session's graph.
* another six import
* seq2seq typo in bazel command
Base CL: 108349164
|
|
TensorFlow is an open source software library for numerical computation
using data flow graphs.
Base CL: 107276108
|