diff options
Diffstat (limited to 'tensorflow/core/util/example_proto_helper.cc')
-rw-r--r-- | tensorflow/core/util/example_proto_helper.cc | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/tensorflow/core/util/example_proto_helper.cc b/tensorflow/core/util/example_proto_helper.cc index e156a3bc8f..41fb20c00a 100644 --- a/tensorflow/core/util/example_proto_helper.cc +++ b/tensorflow/core/util/example_proto_helper.cc @@ -443,6 +443,59 @@ Status ParseSingleExampleAttrs::FinishInit() { return Status::OK(); } +Status ParseSequenceExampleAttrs::FinishInit() { + if (num_context_sparse != context_sparse_keys.size() || + num_context_sparse != context_sparse_types.size()) { + return errors::InvalidArgument( + "num_context_sparse (", num_context_sparse, + ") must match the size of context_sparse_keys (", + context_sparse_keys.size(), ") and context_sparse_types (", + context_sparse_types.size(), ")"); + } + if (num_context_dense != context_dense_keys.size() || + num_context_dense != context_dense_types.size() || + num_context_dense != context_dense_shapes.size()) { + return errors::InvalidArgument( + "num_context_dense (", num_context_dense, + ") must match the size of context_dense_keys (", + context_dense_keys.size(), "), context_dense_types (", + context_dense_types.size(), ") and context_dense_shapes (", + context_dense_shapes.size(), ")"); + } + if (num_feature_list_sparse != feature_list_sparse_keys.size() || + num_feature_list_sparse != feature_list_sparse_types.size()) { + return errors::InvalidArgument( + "num_feature_list_sparse (", num_feature_list_sparse, + ") must match the size of feature_list_sparse_keys (", + feature_list_sparse_keys.size(), ") and feature_list_sparse_types (", + feature_list_sparse_types.size(), ")"); + } + if (num_feature_list_dense != feature_list_dense_keys.size() || + num_feature_list_dense != feature_list_dense_types.size() || + num_feature_list_dense != feature_list_dense_shapes.size()) { + return errors::InvalidArgument( + "num_feature_list_dense (", num_feature_list_dense, + ") must match the size of feature_list_dense_keys (", + feature_list_dense_keys.size(), "), feature_list_dense_types (", + feature_list_dense_types.size(), ") and feature_list_dense_shapes (", + feature_list_dense_shapes.size(), ")"); + } + for (const DataType& type : context_dense_types) { + TF_RETURN_IF_ERROR(CheckValidType(type)); + } + for (const DataType& type : context_sparse_types) { + TF_RETURN_IF_ERROR(CheckValidType(type)); + } + for (const DataType& type : feature_list_dense_types) { + TF_RETURN_IF_ERROR(CheckValidType(type)); + } + for (const DataType& type : feature_list_sparse_types) { + TF_RETURN_IF_ERROR(CheckValidType(type)); + } + + return Status::OK(); +} + Status ParseSingleSequenceExampleAttrs::FinishInit() { if (static_cast<size_t>(num_context_sparse) != context_sparse_types.size()) { return errors::InvalidArgument( |