| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
| |
Doesn't attempt to deal with cases where we might have already generated
the functiondef for the parent function as in that case we cannot easily
modify the forward pass.
PiperOrigin-RevId: 216243224
|
|
|
|
|
|
|
|
|
| |
but they were useful while debugging.
Open visibility of the low level gen_resource_variables_ops to compiler tests.
Fix bug in shape function of TPUReplicateInput for resource variables ? MergeInputHandleShapesAndTypes does not report shape mismatches.
PiperOrigin-RevId: 200756762
|
|
|
|
|
|
|
|
|
| |
This mimics the logic in tensor_util.constant_value_as_shape, allowing
the C++ shape inference code to infer more shapes than it could before.
This change also adds an optional stride argument to InferenceContext::Subshape().
PiperOrigin-RevId: 195749522
|
|
|
|
| |
PiperOrigin-RevId: 193532769
|
|
|
|
|
|
|
|
|
|
| |
* Works in graph + eager modes
* Fixed shape inference
* Updated shape inference + refiner + constant eval code to support static shape tensor of `-1` meaning unknown shape.
* Gather and Scatter for Variants now properly supported.
* Variable copy-on-write for Variants now does a more shallow copy (as Variants are not expected to be updated "in-place" inside a variable; instead Variants will be updated via read-update-write inside a CriticalSection)
PiperOrigin-RevId: 191975898
|
|
|
|
| |
PiperOrigin-RevId: 190953197
|
|
|
|
| |
PiperOrigin-RevId: 190858242
|
|
|
|
| |
PiperOrigin-RevId: 190835392
|
|
|
|
| |
PiperOrigin-RevId: 183429540
|
|
|
|
|
|
| |
They don't make sense in the open source repository.
PiperOrigin-RevId: 183140889
|
|
|
|
| |
PiperOrigin-RevId: 176147013
|
|
|
|
|
|
| |
Uses MergeInput from shape_inference to check if the new input is compatible with the preexisting shape. Also this changes the MergeInput method. Previously, MergeInput would only return true if the shapes differed *and* the merge was successful. Now, MergeInput returns true only if the merge is successful.
PiperOrigin-RevId: 175576173
|
|
|
|
| |
PiperOrigin-RevId: 174920827
|
|
|
|
| |
PiperOrigin-RevId: 174896273
|
|
|
|
| |
PiperOrigin-RevId: 174733491
|
|
|
|
|
|
|
|
| |
"opt-in" via ShapeRefiner API and it doesn't yet affect any existing validation and inferences anywhere. Eventually graph validation should start using it.
Doesn't yet support recursive functions and doesn't yet support more complex shape propagation scenarios where several iterations may be needed to infer shapes.
PiperOrigin-RevId: 170078811
|
|
|
|
|
|
|
| |
The goal is to make kernels mostly independent of proto headers, which will let us lock down our .so imports.
RELNOTES: Remove proto.h includes from tensorflow/core headers. This may break users who has written custom c++ ops.
PiperOrigin-RevId: 166237236
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal is to make kernels mostly independent of proto headers, which will let
us lock down our .so imports. This CL does not remove any actual headers, but
changes a bunch of files so that header removal is possible in a followup CL.
It also marks the headers that will be removed with
// TODO(b/62899350): Remove
RELNOTES: n/a
PiperOrigin-RevId: 160552878
|
|
|
|
|
|
|
|
|
|
| |
The goal is to make kernels mostly independent of proto headers, which will let
us lock down our .so imports. This CL makes a bunch of .cc files
either include node_def.proto.h themselves or not need the definition of
NodeDef; a second CL will make node_def_util.h not include node_def.proto.h.
RELNOTES: n/a
PiperOrigin-RevId: 159982117
|
|
|
|
| |
PiperOrigin-RevId: 159570163
|
|
|
|
| |
PiperOrigin-RevId: 158034419
|
|
|
|
| |
PiperOrigin-RevId: 157628162
|
|
|
|
|
|
|
|
| |
shape and type information for multiple tensors.
Apply this to QueueDequeueV2 handled by grappler.
PiperOrigin-RevId: 157163757
|
|
|
|
| |
PiperOrigin-RevId: 156315860
|
|
|
|
| |
PiperOrigin-RevId: 156251356
|
|
|
|
|
|
|
|
| |
This is one step towards replacing in-memory use of NodeDef with a customized
NodeInfo class. There are still quite a few Node::def() references, but far fewer than before. Those remaining require more work, either because they are part of kernel registration (which is a bunch of functions), copy and modify the NodeDef, etc. Follow-on CLs will remove more.
RELNOTES: n/a
PiperOrigin-RevId: 156244933
|
|
|
|
|
|
| |
which ShapeHandle::SameHandle returns false. Therefore we need to merge the shapes handles in InferenceContext::set_input, InferenceContext::set_input_handle_shape, and InferenceContext::set_output_handle_shape
Change: 154911808
|
|
|
|
| |
Change: 154789133
|
|
|
|
|
| |
has called set_output for each output tensor.
Change: 153472242
|
|
|
|
| |
Change: 152353506
|
|
|
|
|
|
| |
to have unknown shape function for cases where the shape
function is incorrectly returning no outputs.
Change: 150315933
|
|
|
|
| |
Change: 149468728
|
|
|
|
|
|
| |
MakeShapeFromPartialTensorShape(). Update existing users of MakeShapeFromShapeProto to use the new helper methods where possible.
Change: 149353816
|
|
|
|
|
|
|
| |
Use this to allow loading reductions saved with older graphdefs.
Change GraphConstructor to not increase the version when importing, but instead take the min of all versions.
Change: 149152437
|
|
|
|
| |
Change: 145723696
|
|
|
|
| |
Change: 144464718
|
|
|
|
| |
Change: 139112567
|
|
|
|
| |
Change: 138588267
|
|
|
|
|
|
|
|
| |
inference. Delegate to C++ shape function for Reshape.
Fix reshape to handle attempting to infer unknown dim when product of known
elements is 0.
Change: 137837591
|
|
|
|
| |
Change: 137747341
|
|
|
|
| |
Change: 137740850
|
|
|
|
|
|
|
| |
resources.
Does not implement these resources yet as this change is big enough already.
Change: 137731142
|
|
|
|
|
|
|
|
|
| |
constant_value_as_tensor functions. This follows the same lazy-evaluation as
getting constant tensors.
Add validation in InferenceContext::MakeShapeFromShapeTensor for invalid values
in the input tensor.
Change: 137231472
|
|
|
|
| |
Change: 137227660
|
|
|
|
| |
Change: 136107320
|
|
|
|
|
|
|
|
|
|
| |
Makes shapes owned by a private subclass of InferenceContext called
ShapeManager (for lack of better name), friend classed
ShapeInferenceTestutil so that conversion from string to shapes is
private. Cleaned up extra arg from constructors by changing
the two places that also do that to use a simple helper function
to convert to TensorShapeProto.
Change: 135956508
|
|
|
|
|
|
|
|
| |
error message thrown by C++ (which op and what the input shapes are).
Update tests that looked for exact error messages to use .contains()
for robustness.
Change: 134796475
|
|
|
|
|
| |
See: tensorflow/contrib/linear_optimizer/kernels/g3doc/readme.md
Change: 134452636
|
|
|
|
|
|
|
|
|
|
| |
Change C++ shape function for ExpandDims to be more permissive - it now allows
'dim' to be any tensor with 1 element, although that is not currently
converted to use C++ because of a separate issue to fix first (later change).
Change C++ shape functions for SpaceToBatch and BatchToSpace to output rank-4
unknown shapes.
Change: 132578764
|
|
|
|
|
|
| |
Change several C++ shape inference functions to not return an error if an input
dimension is unknown; this more closely matches the python functions.
Change: 132459740
|