Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Branch 184352399 #16715

Merged
merged 36 commits into from
Feb 3, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3be90a4
Internal change
Feb 2, 2018
e46e045
Fix tolerance too tight for Wasserstein distance test.
tensorflower-gardener Feb 2, 2018
4e1863b
Fix some tf-lite tests
gunan Feb 2, 2018
0612bc8
Fix tolerance too tight for Wasserstein distance test.
tensorflower-gardener Feb 2, 2018
ffa3731
Fix some tf-lite tests
gunan Feb 2, 2018
67f0b8f
Enabling partitioned variables to work with TPU.
tensorflower-gardener Feb 2, 2018
1804be1
Fix a bug in function inlining when the argument is an implicitly der…
mrry Feb 2, 2018
28c80ca
[comment-only change]: Fix grammar error.
tensorflower-gardener Feb 2, 2018
355c6ac
Disable graph optimizations (CSE) in test so that constant nodes are …
Feb 2, 2018
9cfdf52
Fix latent bug in dependency optimizer.
tensorflower-gardener Feb 2, 2018
b38575e
Show that we must over reallocate after resizing dynamic tensors.
tensorflower-gardener Feb 2, 2018
b70a379
Consider beyond immediate neighbors to find exit node.
jpienaar Feb 2, 2018
16594f8
Remove hidden_ops.txt file. Instead, switch to use visibility attribu…
annarev Feb 2, 2018
08b68c8
Automated g4 rollback of changelist 184273245
tensorflower-gardener Feb 2, 2018
123c613
Register GPU host kernels for Identity and RefIdentity.
tensorflower-gardener Feb 2, 2018
4b83dea
Add shape inference for outside_compilation graph rewrite. Pull out e…
tensorflower-gardener Feb 2, 2018
51792c8
Register resource_scatter_update for string types.
alextp Feb 2, 2018
2248740
Allow ResizeBilinear to resize the output tensor in Prepare(), if the…
tensorflower-gardener Feb 2, 2018
2211645
[TF:XLA] Improve/refactor the handling of resource types/shapes.
hawkinsp Feb 2, 2018
d4f3be5
Update ops-related pbtxt files.
tensorflower-gardener Feb 2, 2018
6360a0c
[TF:XLA] Bump open source llvm revision to r324073
Feb 2, 2018
2863d44
Skip the node that has unexpected number of outputs.
Feb 2, 2018
af9afcf
Breaking change: Revise HMC interface to accept a list of Tensors rep…
jvdillon Feb 2, 2018
f85f23b
Support `float16` `dtype` in `tf.linalg.*`.
jvdillon Feb 2, 2018
cf330ef
[tf.data] Move framework/dataset.h to framework/dataset_stateful_op_w…
mrry Feb 2, 2018
1a92f45
TFLite: Conv CBLAS kernel
miaout17 Feb 2, 2018
9332ce7
A few misc tweaks to TFE APIs.
Feb 2, 2018
cbda8a9
Changed minimal required version of bleach Python package from 1.5 to…
tatianashp Feb 2, 2018
1d172a2
[TF RNN] Small optimization to rnn: only calculate copy_cond once.
ebrevdo Feb 2, 2018
137ddf0
Adds batch inference support on TPU with TPUEstimator.predict.
Feb 2, 2018
29d1187
Rollback of recent changes to tensor.{h,cc}
alextp Feb 2, 2018
026c90c
TF_CALL_ALL_TYPES should include variant
alextp Feb 2, 2018
048b19f
Replacing _container_prefix with _graph_key to preserve its use in op…
alextp Feb 3, 2018
23f0529
Tpu cluster resolver only returns TF server addresses for 'HEALTHY' t…
tensorflower-gardener Feb 3, 2018
3ddf1d6
Update global_step by default if the user specifies a host_call.
Feb 3, 2018
7a4d415
Merge commit for internal changes
Feb 3, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion tensorflow/c/eager/c_api.cc
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ TF_AttrType TFE_OpGetAttrType(TFE_Op* op, const char* attr_name,
return TF_ATTR_INT; // The compiler requires that we return something.
}
status->status =
tensorflow::AttrTypeByName(op->attr_types, attr_name, &ret, is_list);
tensorflow::AttrTypeByName(*op->attr_types, attr_name, &ret, is_list);
return ret;
}

Expand Down
2 changes: 2 additions & 0 deletions tensorflow/c/eager/c_api_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ struct TFE_TensorHandle {
};

struct TFE_Op {
// t is NULL iff the TFE_Op corresponds to a TensorFlow function instead of a
// primitive operation.
TFE_Op(TFE_Context* ctx, const char* op, const tensorflow::AttrTypeMap* t)
: ctx(ctx), name(op), attrs(op), attr_types(t), device(nullptr) {}

Expand Down
9 changes: 4 additions & 5 deletions tensorflow/c/eager/runtime.cc
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,9 @@ Status AttrTypeMapForOp(const char* op_name, const AttrTypeMap** out) {
return Status::OK();
}

Status AttrTypeByName(const AttrTypeMap* m, const string& attr_name,
Status AttrTypeByName(const AttrTypeMap& m, const string& attr_name,
TF_AttrType* out, unsigned char* is_list) {
CHECK(m);
auto* t = gtl::FindOrNull(*m, attr_name);
auto* t = gtl::FindOrNull(m, attr_name);
if (t == nullptr) {
return errors::InvalidArgument("Attribute '", attr_name,
"' does not exist for this operation");
Expand Down Expand Up @@ -173,14 +172,14 @@ void CombineUnordered(const tensorflow::Fprint128& a,
b->high64 += a.high64;
}

inline tensorflow::Fprint128 CacheKeyHelper(const StringPiece& s,
inline tensorflow::Fprint128 CacheKeyHelper(StringPiece s,
const tensorflow::Fprint128& b) {
// TODO(agarwal): avoid ToString().
tensorflow::Fprint128 a = tensorflow::Fingerprint128(s.ToString());
return FingerprintCat128(a, b);
}

inline tensorflow::Fprint128 CacheKeyHelper(const StringPiece& s, uint64 b) {
inline tensorflow::Fprint128 CacheKeyHelper(StringPiece s, uint64 b) {
return CacheKeyHelper(s, {b, b});
}

Expand Down
2 changes: 1 addition & 1 deletion tensorflow/c/eager/runtime.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ typedef std::unordered_map<string, uint32> AttrTypeMap;
Status AttrTypeMapForOp(const char* op_name, const AttrTypeMap** out);

// Looks for 'attr_name' in 'm' and sets 'out' and 'is_list'.
Status AttrTypeByName(const AttrTypeMap* m, const string& attr_name,
Status AttrTypeByName(const AttrTypeMap& m, const string& attr_name,
TF_AttrType* out, unsigned char* is_list);

// KernelAndDevice::Init needs a NodeDef only to pass the attribute map through.
Expand Down
6 changes: 3 additions & 3 deletions tensorflow/c/eager/runtime_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,17 @@ TEST(AttrTypeMap, Lookup) {

TF_AttrType t;
unsigned char is_list = 1;
s = AttrTypeByName(m, "ThisAttribyteCannotPossiblyExist", &t, &is_list);
s = AttrTypeByName(*m, "ThisAttribyteCannotPossiblyExist", &t, &is_list);
EXPECT_FALSE(s.ok());
EXPECT_NE(is_list, 0);
s = AttrTypeByName(m, "transpose_a", &t, &is_list);
s = AttrTypeByName(*m, "transpose_a", &t, &is_list);
ASSERT_TRUE(s.ok()) << s;
EXPECT_EQ(TF_ATTR_BOOL, t);
EXPECT_EQ(is_list, 0);

s = AttrTypeMapForOp("Squeeze", &m);
ASSERT_TRUE(s.ok()) << s;
s = AttrTypeByName(m, "squeeze_dims", &t, &is_list);
s = AttrTypeByName(*m, "squeeze_dims", &t, &is_list);
ASSERT_TRUE(s.ok()) << s;
EXPECT_EQ(TF_ATTR_INT, t);
EXPECT_NE(is_list, 0);
Expand Down
649 changes: 549 additions & 100 deletions tensorflow/compiler/jit/encapsulate_subgraphs_pass.cc

Large diffs are not rendered by default.