aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/protobuf
Commit message (Collapse)AuthorAge
* Add timeout mechanism to Grappler meta optimizer. This is only a best-effort ↵Gravatar A. Unique TensorFlower2018-10-08
| | | | | | mechanism, since the meta optimizer only checks if it has been cancelled before running each sub-optimizer. We can add cancellation to each sub-optimizer if necessary. PiperOrigin-RevId: 216234262
* Automated rollback of commit cb98ceba9cff8c10ee3c7e89dc8925c88b28118eGravatar A. Unique TensorFlower2018-10-01
| | | | PiperOrigin-RevId: 215254762
* Add a rewrite_config option to disable meta_optimizer.Gravatar A. Unique TensorFlower2018-09-28
| | | | PiperOrigin-RevId: 215014737
* Introduce the abstraction of RunHandler which each DirectSession can use forGravatar A. Unique TensorFlower2018-09-28
| | | | | | | | | the duration of a single RunInternal() call from RunHandlerPool. It is used for running inter-op closures with a global scheduler (which in the future) to improve both median and tail latency (for use-cases like CPU inference). In the case that global pools aren't used, this change should be a no-op. PiperOrigin-RevId: 214992852
* Automated rollback of commit 750466c6e6624d279de7f9a43accd682d487509cGravatar Revan Sopher2018-09-27
| | | | PiperOrigin-RevId: 214853846
* Introduce the abstraction of RunHandler which each DirectSession can use forGravatar A. Unique TensorFlower2018-09-27
| | | | | | | | | the duration of a single RunInternal() call from RunHandlerPool. We want to leverage this abstraction for improving the cross-session inter-op parallelism for lower latency inference in the future. In the case that global pools aren't used, this change should be a no-op. PiperOrigin-RevId: 214818187
* Fix support for custom optimizers in explicit scheduleGravatar A. Unique TensorFlower2018-09-27
| | | | PiperOrigin-RevId: 214794973
* Turn on PinToHostOptimizer by default.Gravatar A. Unique TensorFlower2018-09-24
| | | | PiperOrigin-RevId: 214275960
* Add PinToHostOptimizer to grappler: force small ops to happen on CPU (instead ofGravatar A. Unique TensorFlower2018-09-22
| | | | | | GPU). This avoids many unnecessary CPU<->GPU memcpy and syncs. PiperOrigin-RevId: 214108484
* Implement TF graph capture.Gravatar Russell Power2018-09-20
| | | | PiperOrigin-RevId: 213875284
* Merge pull request #21000 from ↵Gravatar TensorFlower Gardener2018-09-19
|\ | | | | | | | | | | ROCmSoftwarePlatform:upstream-staging-gpu-common-runtime-1 PiperOrigin-RevId: 213653830
* | There were two different error reporting formats within TensorFlow: `{{key ↵Gravatar A. Unique TensorFlower2018-09-04
| | | | | | | | | | | | value}}` and `^^key:value^^`. This change consolidate these two format. PiperOrigin-RevId: 211550259
| * Rename CUDA GPU ID to platform GPU IDGravatar Wen-Heng (Jack) Chung2018-08-31
|/ | | | | Rename CUDA GPU ID to platform GPU ID so the notion is applicable on both CUDA and ROCm platform.
* tfdbg: Add adjustable limit to total bytes dumped to diskGravatar Shanqing Cai2018-08-28
| | | | | RELNOTES: tfdbg: Limit the total disk space occupied by dumped tensor data to 100 GBytes. Add environment variable `TFDBG_DISK_BYTES_LIMIT` to allow adjustment of this upper limit. PiperOrigin-RevId: 210648585
* Add duplicate detection to RecvBuf requests.Gravatar A. Unique TensorFlower2018-08-04
| | | | PiperOrigin-RevId: 207394440
* Use configured executor type in direct_session. Adds executor_type to config ↵Gravatar A. Unique TensorFlower2018-07-30
| | | | | | protobuf API to specify executor to use. PiperOrigin-RevId: 206681376
* Push tensors from client to workers.Gravatar Akshay Modi2018-07-24
| | | | | | | | | | | At times, a server cannot open a reverse connection to the client. This is required when using the _Send/_Recv ops and the client needs to send a tensor to the server (tensors are pulled). Instead, this adds a way to push the tensors directly from the client. Currently, pushing tensors always happens in sync mode. PiperOrigin-RevId: 205888825
* Internal changeGravatar A. Unique TensorFlower2018-07-23
| | | | PiperOrigin-RevId: 205712557
* ConfigProto.experimental.num_dev_to_dev_copy_streams defaults to 0Gravatar A. Unique TensorFlower2018-07-18
| | | | | | | by proto3 semantics. Silently correct that value to 1, without logging an error. PiperOrigin-RevId: 205157429
* Merge pull request #20595 from lilbedwin:masterGravatar TensorFlower Gardener2018-07-16
|\ | | | | | | PiperOrigin-RevId: 204789700
* | Add experimental config field to output interpolatable error messagesGravatar James Keeling2018-07-16
| | | | | | | | | | | | This is part of our effort to improve Python error messages by allowing the runtime to output formatted messages for the Python layer to interpolate. This will be gated by this config field to begin with. PiperOrigin-RevId: 204731230
| * Make protocol used in estimator customizable.Gravatar Li Liangbin2018-07-14
|/ | | | | | | | | | Example code as follow: config = tf.estimator.RunConfig(protocol='grpc+verbs') nn = tf.estimator.Estimator(model_fn=model_fn, model_dir=model_dir, params=params, config=config)
* tfdbg: remove Experimental tags and obsolete libraryGravatar Shanqing Cai2018-07-13
| | | | | | * debug_gateway and the related node_outputs_callback are not used and hence are removed in this CL. PiperOrigin-RevId: 204519574
* Add GPUOptions::num_dev_to_dev_copy_streams to allow creation ofGravatar A. Unique TensorFlower2018-06-28
| | | | | | | | | | | | | more than one device-to-device copy stream per GPU device. This is an experimental feature that will have no effect unless copy operations explicitly request a stream other than 0, which currently does not occur anywhere in a standard build. Eventually it may be of benefit in the presence of multiple bi-directional concurrent data copies. PiperOrigin-RevId: 202354513
* [C++]: Ability to feed and fetch tensors while keeping them in device memoryGravatar Asim Shankar2018-06-28
| | | | | | when using Session::RunCallable(). PiperOrigin-RevId: 202234757
* Support shapes for remote eager tensor handles.Gravatar Akshay Modi2018-06-28
| | | | | | | | Since we respond with the shape, all RPCs will happen sync (note that we may still hide the python overhead, since the op is still scheduled for execution via the eager executor). PiperOrigin-RevId: 202207324
* Rename programmers_guide/ directory to guide/.Gravatar Billy Lamberta2018-06-22
| | | | | | Update references in source files and docs in tensorflow and related projects. PiperOrigin-RevId: 201766994
* Allow dynamic specification of clusters for eager remote execution.Gravatar Akshay Modi2018-06-21
| | | | PiperOrigin-RevId: 201586130
* Reduce Grappler overhead by skipping optimizers when the graph is tiny.Gravatar A. Unique TensorFlower2018-06-18
| | | | PiperOrigin-RevId: 201095811
* 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
* 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
* Collective Ops Part 7Gravatar A. Unique TensorFlower2018-05-22
| | | | | | | | Complete just enough of the core implementation to run multi-device collectives locally within a single process. Interfaces are still private and not availble for general use. PiperOrigin-RevId: 197617132
* Introduce an option to allocate CUDA unified memoryGravatar Smit Hinsu2018-05-21
| | | | PiperOrigin-RevId: 197490523
* Turn on dead branch elimination, shape optimization, and remapping by defaultGravatar Benoit Steiner2018-05-21
| | | | PiperOrigin-RevId: 197439191
* Fix bug in `WorkerService::Logging()` handler.Gravatar Derek Murray2018-05-15
| | | | | | | | | Since transitioning to proto3, it was not possible to distinguish between the absence of LoggingRequest::rpc_logging and it being set to false. This led to a bug that ignored log-disabling messages in some implementations, which meant that logging was never disabled. This fix adds explicit fields in LoggingRequest for enabling and disabling RPC logging. PiperOrigin-RevId: 196782547
* Optimize batch normalization when possibleGravatar Benoit Steiner2018-05-15
| | | | PiperOrigin-RevId: 196762618
* Started work on a shape optimizerGravatar Benoit Steiner2018-05-10
| | | | PiperOrigin-RevId: 196170800
* Collective Ops Part 6Gravatar A. Unique TensorFlower2018-05-09
| | | | | | | | | | Distributed-mode implementations of CollectiveRemoteAccess. Extend Worker interface with corresponding new methods. This change is part of a series of changes introducing infrastructure for collective ops and initial implementations of reduction and broadcast. PiperOrigin-RevId: 196010718
* Collective Ops Part 5Gravatar A. Unique TensorFlower2018-05-01
| | | | | | | | | | | Distributed-mode implementations of DeviceResolverInterface and ParamResolverInterface. Extend Worker interface with new methods in support of these interfaces. This change is part of a series of changes introducing infrastructure for collective ops and initial implementations of reduction and broadcast. PiperOrigin-RevId: 194984585
* Minor eager service proto clarification.Gravatar Akshay Modi2018-04-27
| | | | PiperOrigin-RevId: 194596337
* Add eager_service.protoGravatar Akshay Modi2018-04-25
| | | | PiperOrigin-RevId: 194262260
* Merge changes from github.Gravatar Yifei Feng2018-04-23
| | | | PiperOrigin-RevId: 194031845
* Never use the LegacySession when a Master explicitly calls CreateWorkerSession.Gravatar Derek Murray2018-04-18
| | | | | | | | | | | | | | | | | | Previously, if the session handle was unrecognized by the worker, it would default to using the LegacySession. This prevents us from noticing that a server has been restarted. To address the problem in a backwards-compatible way, we add a bit to each session-handle-carrying worker request, indicating whether the master believes that CreateWorkerSession has been called. If this bit is set and the handle is unrecognized, the worker will raise an AbortedError, which can be caught by high-level frameworks such as `tf.estimator`. Note that CreateWorkerSession is not yet used by default, and a follow-up change will add that. PiperOrigin-RevId: 193427057
* Start moving Checkpointable utilities toward coreGravatar Allen Lavoie2018-04-12
| | | | | | | | | | | | 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
* Add remote session support for the MakeCallable API.Gravatar Derek Murray2018-04-06
| | | | PiperOrigin-RevId: 191964391
* Add CallableOptions.tensor_connection for feeding a tensor to another tensor.Gravatar Derek Murray2018-04-06
| | | | PiperOrigin-RevId: 191960845
* Add a config option to run Grappler optimizers more than once.Gravatar A. Unique TensorFlower2018-04-02
| | | | | | | Don't crash in layout optimizer if no cluster is given. Clean up Cluster::DisableOptimizer() so it actually turns all current optimizers off. PiperOrigin-RevId: 191368433
* Add skeleton code for DebugStripper.Gravatar A. Unique TensorFlower2018-03-25
| | | | PiperOrigin-RevId: 190391193
* Don't spin in a loop when we're not waiting on any GPU events.Gravatar Justin Lebar2018-03-20
| | | | PiperOrigin-RevId: 189719711
* Enable stack push removal optimization by default.Gravatar A. Unique TensorFlower2018-03-19
| | | | PiperOrigin-RevId: 189641729