History log of /external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d6326d772d117e6950304c7240cb029642fbf58c 10-Jan-2018 Anna R <annarev@google.com> Removing op_gen_overrides.proto and references. Overrides in op_gen_overrides.pbtxt are a part of tensorflow/core/api_def/base_api/.

PiperOrigin-RevId: 181386873
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
cf57817f554fa7bfe7c134453ef9cf4374aef23d 21-Nov-2017 A. Unique TensorFlower <gardener@tensorflow.org> Automated g4 rollback of changelist 175593063

PiperOrigin-RevId: 176445215
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
ecc2754b21572ebb3f43417995822f6ccd98ea7d 21-Nov-2017 A. Unique TensorFlower <gardener@tensorflow.org> Remove unused inclusions

PiperOrigin-RevId: 176423279
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
cb12ebe044ad8fb8515bc9d95d27c0ab19ec314b 18-Nov-2017 Anna R <annarev@google.com> Provide an option to use ApiDef instead of OpGenOverrides when generating C++ API. Also, updating UpdateDocs method to ApiDef to replace names in docs.

PiperOrigin-RevId: 176167953
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
7d197b3ab4b5389c19ab7742cf5d473d5fa91b08 14-Nov-2017 A. Unique TensorFlower <gardener@tensorflow.org> Automated g4 rollback of changelist 175563786

PiperOrigin-RevId: 175593063
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
0a79d4ab6ab961d7f36cbb3a14cfaff2152e70fd 13-Nov-2017 A. Unique TensorFlower <gardener@tensorflow.org> Moved tensorflow::StringPiece::Hasher out of tensorflow::StringPiece and renamed it tensorflow::StringPieceHasher. This allows tensorflow::StringPiece to be more easily replaced with absl::string_view (which does not contain a Hasher struct).

PiperOrigin-RevId: 175563786
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
477d49c9eaafc5e1e1667d454ce5883956180713 16-Aug-2017 Skye Wanderman-Milne <skyewm@google.com> C++ API: run shape inference as nodes are constructed

Here's an example of the new generated code:

AddN::AddN(const ::tensorflow::Scope& scope, ::tensorflow::InputList inputs) {
if (!scope.ok()) return;
auto _inputs = ::tensorflow::ops::AsNodeOutList(scope, inputs);
if (!scope.ok()) return;
::tensorflow::Node* ret;
const auto unique_name = scope.GetUniqueNameForOp("AddN");
auto builder = ::tensorflow::NodeBuilder(unique_name, "AddN")
.Input(_inputs)
;
scope.UpdateBuilder(&builder);
scope.UpdateStatus(builder.Finalize(scope.graph(), &ret));
if (!scope.ok()) return;
scope.UpdateStatus(scope.DoShapeInference(ret));
this->sum = Output(ret, 0);
}

Enabling shape inference unfortunately broke many tests. I fixed some of them, but for others I introduced a Scope::DisabledShapeInferenceScope() static method that returns a scope that doesn't perform shape inference. Eventually we should fix the tests that use this and remove it.

PiperOrigin-RevId: 165378429
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
e85d3df92deb9d717befdf173966a2913ac2aea0 29-Jun-2017 Geoffrey Irving <geoffreyi@google.com> Prepare to remove a bunch of proto.h includes from tensorflow/core headers

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
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
73882f257ffb1bc9e1a828571c085d080b1d9266 17-May-2017 Geoffrey Irving <geoffreyi@google.com> Automated g4 rollback of changelist 156251356

PiperOrigin-RevId: 156315860
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
43db5c623f748b6f9704e9e9be5a5a11fa2a4c1a 17-May-2017 Geoffrey Irving <geoffreyi@google.com> Automated g4 rollback of changelist 156244933

PiperOrigin-RevId: 156251356
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
749e5cc18381f7a5ec174673f76e20aead8529c6 17-May-2017 Geoffrey Irving <geoffreyi@google.com> Reduce direct references to NodeDef in favor of Node and AttrSlice

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
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
1d0b8c007b8bc7f77dd63c74f02d87185071f038 09-May-2017 Peter Hawkins <phawkins@google.com> Remove unnecessary copies of value parameters.

PiperOrigin-RevId: 155511618
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
c6ab1fb225d3d44a9d39666991db0f7eb654c018 19-Apr-2017 Suharsh Sivakumar <suharshs@google.com> Remove all 64/32 bit warnings in tensorflow/cc
Change: 153637886
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
24a95ae389e1c76e771ac33d66e0ec40a236260f 11-Apr-2017 Vijay Vasudevan <vrv@google.com> Change Placeholder to support partial shapes and enforce scalar shapes.

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
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
07deeacf33bd60b776ad35394f5767c42feef138 14-Feb-2017 Skye Wanderman-Milne <skyewm@google.com> C++ API: include optional attrs in generated class comments + improve core docs

Old:
/// Copy Op.
///
/// Performs CPU-to-CPU or GPU-to-GPU deep-copying of tensor, depending on the
/// device on which the tensor is allocated.
///
/// Unlike the CopyHost Op, this op does not have HostMemory constraint on its
/// input or output.
///
/// Arguments:
/// * scope: A Scope object
/// * input: Input tensor.
///
/// Returns:
/// * `Output`: Output tensor, deep-copied from input.
class Copy {...}

New:
/// Copy Op.
///
/// Performs CPU-to-CPU or GPU-to-GPU deep-copying of tensor, depending on the
/// device on which the tensor is allocated.
///
/// Unlike the CopyHost Op, this op does not have HostMemory constraint on its
/// input or output.
///
/// Arguments:
/// * scope: A Scope object
/// * input: Input tensor.
///
/// Optional attributes (see `Attrs`):
/// * tensor_name: The name of the input tensor.
///
/// Returns:
/// * `Output`: Output tensor, deep-copied from input.
class Copy {...}
Change: 147432712
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
d85616e623028464027cf67683be696ec666a79c 14-Feb-2017 Skye Wanderman-Milne <skyewm@google.com> C++ API: clean up generated Attrs struct comments

Old:
/// Optional attribute setters for Copy :
///
/// TensorName(StringPiece): Defaults to ""
/// The name of the input tensor.
struct Attrs {
Attrs TensorName(StringPiece x) {
Attrs ret = *this;
ret.tensor_name_ = x;
return ret;
}

StringPiece tensor_name_ = "";
};

New:
/// Optional attribute setters for Copy
struct Attrs {
/// The name of the input tensor.
///
/// Defaults to ""
Attrs TensorName(StringPiece x) {
Attrs ret = *this;
ret.tensor_name_ = x;
return ret;
}

StringPiece tensor_name_ = "";
};
Change: 147430152
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
bc225bfaa534acc25047fe844f19edc333b7a76a 14-Feb-2017 Peter Hawkins <phawkins@google.com> Fix code that ignores tensorflow::Status.

Add a new tensorflow::Status::IgnoreError() method to mark call sites where a Status has been intentionally ignored.
Change: 147402405
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
a4281af8626ba07b0fd4235a48ee9a909fb21519 13-Feb-2017 Skye Wanderman-Milne <skyewm@google.com> C++ docs: add doxygen group annotations to source code
Change: 147373087
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
8fe32029f77b287a207c3bc3e0127fb35a3e23da 01-Feb-2017 A. Unique TensorFlower <gardener@tensorflow.org> Add a mechanism for hiding, skipping, and modifying the generated op
functions for C++. A souped-up version of the hidden_ops mechanism in
Python, the intent is to use this for most or all of the client
languages, with a common list of changes to make in a common file and
per-language overrides.

Also:
* include the documentation for outputs in the generated comments
* several updates to C++ API to match Python
* fix C++ shape function for ConcatV2 now that we use it by default
* split op_gen_lib out of core:framework, since it is only used by
the op generators, and I don't want to add another proto to
mobile builds
Change: 146267344
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
54b2180f996d69ca6558cdc07939a5887ba52d80 27-Jan-2017 A. Unique TensorFlower <gardener@tensorflow.org> Skip generating code for deprecated ops in C++.
Change: 145797840
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
0c46c7bcb05b1502bda869db371bee198d5be28a 18-Jan-2017 A. Unique TensorFlower <gardener@tensorflow.org> Switch to doxygen-friendly comments in generated C++ op code.
Change: 144859450
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
4d69bcf7f2c734aa8c3326c3c469729c0805cfd5 18-Jan-2017 A. Unique TensorFlower <gardener@tensorflow.org> Migrate to new namespace for Input, Output, etc. in the C++ API.
Change: 144857401
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
a430a5e0c146ce927b2868bc94508c6df4cce950 18-Jan-2017 A. Unique TensorFlower <gardener@tensorflow.org> Automated rollback of change 144776821
Change: 144780716
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
59f813b67613d81347703a854a3b1aab62be8a3c 18-Jan-2017 A. Unique TensorFlower <gardener@tensorflow.org> Migrate to new namespace for Input, Output, etc. in the C++ API.
Change: 144776821
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
0e1ff10ec3c4dd3f44cd312fa392aa04e9f3c662 08-Dec-2016 Manjunath Kudlur <keveman@google.com> Check for error status after NodeBuilder::Finalize.

Fixes #5871
Change: 141475958
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
325a096236dfe1674ad43fb1292ac7c48a7e52f5 14-Sep-2016 Derek Murray <mrry@google.com> Avoid generating a C++ wrapper for Const, since we have a hand-written one.

Some compilers are unhappy with the two definitions (hand-written and
generated) for Const in the same module. Since we have a hand-written
one, we can simply avoid generating a wrapper for Const.
Change: 133070911
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
dea73ff02419fcfd555ec20c16b8158b8ae95f6d 13-Sep-2016 Derek Murray <mrry@google.com> C++ code generator: generate explicit float literals for default attr values.
Change: 133015836
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
2677d3be19952488662a22cf9f42374a493ffd50 07-Sep-2016 Vijay Vasudevan <vrv@google.com> TensorFlow C API: Add a Set and Get Tensor Shape function.

Wires up ShapeRefiner into C and C++ API so that we can
query and set the shapes of outputs. Currently only works
for the C-API, but the plumbing exists for the C++ API,
which we can only turn on once we are using the C++ shape
functions for everything.
Change: 132479208
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
b0bdff4827f867a67f572ed99d85f9a847788326 26-Aug-2016 A. Unique TensorFlower <gardener@tensorflow.org> Merge changes from github.
Change: 131437429
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc
25ac3dabfa3af7a313eb46b03690117c85030cc2 16-Jul-2016 Manjunath Kudlur <keveman@google.com> Improvements to the C++ graph building API.

TESTED:
- passed opensource_build: http://ci.tensorflow.org/job/tensorflow-cl-presubmit-multijob/2780/
Change: 127585603
/external/tensorflow/tensorflow/cc/framework/cc_op_gen.cc