| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
Change: 152876919
|
|
|
|
| |
Change: 152876511
|
|
|
|
| |
Change: 152874742
|
|
|
|
|
| |
Previously, the modules source_utils.py and analyzer_cli.py did not take into account that files in the stack could be compiled (i.e., pyc and pyo files).
Change: 152873179
|
|
|
|
|
|
| |
- Both of these are at the edge of their allowed limits in terms of test
timeout.
Change: 152873079
|
|
|
|
| |
Change: 152872386
|
|
|
|
| |
Change: 152867721
|
|
|
|
| |
Change: 152867002
|
|
|
|
|
|
|
| |
Fixes #9092
(When accompanied by changes to the www.tensorflow.org/code redirects to point
to the appropriate release branch on github)
Change: 152866886
|
|
|
|
| |
Change: 152866121
|
|
|
|
| |
Change: 152864723
|
|
|
|
|
| |
to Placeholder in a backwards compatible way.
Change: 152843957
|
|
|
|
| |
Change: 152843285
|
|
|
|
| |
Change: 152838415
|
|
|
|
|
|
|
| |
FunctionLibraryDefinition to Graph ctor
ConvertGraphDefToGraph() adds functions to the graph now, so there's no need to explicitly pass them into the graph constructor.
Change: 152837855
|
|
|
|
| |
Change: 152837817
|
|
|
|
| |
Change: 152837661
|
|
|
|
| |
Change: 152835531
|
|
|
|
| |
Change: 152835355
|
|
|
|
|
| |
Also, enable GPU tests for ops that are already supported on GPU.
Change: 152831861
|
|
|
|
|
| |
Tuple instructions would previously not be cloned with new operands.
Change: 152830440
|
|
|
|
| |
Change: 152830112
|
|
|
|
| |
Change: 152824547
|
|
|
|
| |
Change: 152823724
|
|
|
|
|
| |
Instead of passing around a manually-constructed FunctionLibraryDefinition, use the constructed graph's FunctionLibraryDefinition.
Change: 152821479
|
|
|
|
|
|
| |
The AVX512 support in LLVM hasn't solidified enough. Ignore support for it
while it stabilizes.
Change: 152819598
|
|
|
|
| |
Change: 152802749
|
|
|
|
|
|
|
|
|
| |
Other optimizers which have only a single slot variable allow control through
the 'name' constructor parameter, but the FtrlOptimizer has two variables.
Because they both are created with the same 'name' parameter, one of them has
name as a suffix, and the other has name + "_1" as a suffix. This change
allows them to be specified in a more controllable way.
Change: 152802478
|
|
|
|
| |
Change: 152768777
|
|
|
|
|
| |
Update split_op_test to test complex numbers in addition to floats and always test with a GPU if one is available.
Change: 152757648
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This method returns a Python callable that has the same semantics as
`tf.Session.run()`, but can cache some of the work that must be done
to map Tensor-like objects to the arguments of the underlying C API
function.
The initial implementation is optimized for single-`Tensor` and
single-`Operation` fetches, and delegates to `tf.Session.run()` for
handling feeds. Since most queue runners use a single-`Operation`
`run()` call, switch the `tf.train.QueueRunner` implementation to use
`make_callable()`
Using this new interface can improve the latency of small steps (measurements from my workstation):
* The median time to fetch a 4-byte tensor decreases from 99us to 52us (-47us).
* The median time to run a trivial op decreases from 80us to 31us (-49us).
Change: 152757301
|
|
|
|
|
|
|
|
|
|
|
| |
The current GraphRunner::Run(...) outputs tensors produced from running the
Executor on the graph, but these tensors are actually owned by the allocator
from the device created for the Run(...), which could be deleted along with the
device. The deep copy allows the ownership to be transferred to the global
static cpu_allocator(). Before, the allocator was always a
global cpu_allocator(), but with a recent change there is an option to tie allocations
to a memory limited allocator per-session.
Change: 152756520
|
|
|
|
|
| |
Implement a GPU version of tf.cholesky as a first example.
Change: 152756373
|
|
|
|
|
| |
Also update concat_op_test to always use_gpu=True where previously it was running each test twice.
Change: 152755973
|
|
|
|
|
|
| |
weights.
Change: 152754313
|
|
|
|
|
| |
(this is the history most folks want; and attention is returned as an output).
Change: 152752862
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Adds tests; testScalar failed before with the original placeholder because
it treated [] as "?" instead of scalar. Now you can actually specify
[] and it means 'scalar'.
Added a backwards compatibility test using a graph_def generated
from a previous tf version.
RELNOTES: tf.placeholder can represent scalar shapes and partially known
shapes accurately. Note, this change can break already buggy programs because
it makes placeholder shape handling more consistent across graph serializations.
Note: There are some buggy cases where this change can break a buggy pipeline: namely those that serialize a graph using an unknown shape (e.g., [None, 10] in a tf.placeholder, but then reload the graph using import_graph_def and feed it a different shape. Prior to this change, serializing the graph_def loses the [None, 10] shape requirement, so you can feed anything you want. This change makes it so that you serialize the graph with [None, 10], and so when you reload it, it would fail if you fed it a different shape. In these cases, the fix is to correct the original placeholder shape to match what you feed it, which is not a bug in TF but in the user's program.
Note 2: A python user that did tf.placeholder(shape=[]) would get scalar checking
in the same process due to python shape inference code. However, a C++ user that did Placeholder(shape=[]) would not have gotten
scalar shape checking; a C++ program that passed Placeholder(shape=[]) that expects
to interpret this as "UnknownShape" would break -- however, that user could have
already used an {unknown_shape: true} proto, and should not have expected the legacy behavior.
Backwards compatibility: Old graphs that have shape = {} in the proto will also have a
graph_def_version <= 21, so the default value of shape prior to this change will be interpreted by new binaries as "UnknownShape" just as before.
Forwards compatibility: new graphs will produce, by default, shape={ unknown rank: true}; old binaries will use PartialTensorShape's parsing code to parse that proto
into an object whose shape.dims() <= 0, and so these binaries will continue to interpret
the default shape as "unknown shape" without crashing and without producing new errors.
Fixes #9103
Change: 152751019
|
|
|
|
| |
Change: 152749005
|
|
|
|
| |
Change: 152743270
|
|
|
|
|
| |
Found by running unit-tests with GLIBCXX_DEBUG.
Change: 152742124
|
|
|
|
| |
Change: 152740961
|
|
|
|
|
| |
is appended to every summary file name.
Change: 152736272
|
|
|
|
|
|
| |
testDebugTrainingDynamicRNNWorks
Change: 152735279
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Synopsis of changes:
* The EventReply protobuf is expanded: a new field called "debug_op_state_change" is added to allow the debug server to remotely enable and disable debug ops.
* At the end of every debug gRPC stream, the server sends all the queued EventReply protos to the client. The client (i.e., the debugged TF runtime) receives them and toggle the enabled status of the debug ops accordingly.
* Added gated_grpc attribute to existing debug ops. This new boolean attribute is set to False by default, ensuring backward compatibility in behavior. If set to True, the debug ops will send the output tensors through grpc:// streams if and only if they are currently enabled. Otherwise we say that the debug op is "gated off" at the grpc:// URL.
* If a debug op is gated off at all URLs it possesses, it will perform no expensive computation and instead just emit an empty (size {0}) output tensor.
Other detailed change descriptions:
* All debug ops now share the same base class "BaseDebugOp" to reduce the amount of boilerplate, which has grown in size due to the new gRPC gating logic.
Change: 152733779
|
|
|
|
|
| |
Will help with issues like #8947
Change: 152733558
|
|
|
|
|
| |
Fixes #9089
Change: 152732901
|
|
|
|
|
|
| |
Experiment for the GCS file system, because the default of 1 causes performance problems.
Change: 152731761
|
|
|
|
| |
Change: 152730792
|
|
|
|
| |
Change: 152730499
|
|
|
|
| |
Change: 152729057
|