MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / ValidateSparseTensor

Function ValidateSparseTensor

tensorflow/core/framework/common_shape_fns.cc:1914–1953  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1912}
1913
1914Status ValidateSparseTensor(InferenceContext* c, ShapeHandle indices_shape,
1915 ShapeHandle values_shape, ShapeHandle shape_shape) {
1916 // Validate ranks.
1917 ShapeHandle unused_shape;
1918 TF_RETURN_IF_ERROR(c->WithRank(indices_shape, 2, &unused_shape));
1919 TF_RETURN_IF_ERROR(c->WithRank(values_shape, 1, &unused_shape));
1920 TF_RETURN_IF_ERROR(c->WithRank(shape_shape, 1, &unused_shape));
1921
1922 // Number of elements in indices and values must match.
1923 DimensionHandle num_index_elements_dim = c->Dim(indices_shape, 0);
1924 if (c->ValueKnown(num_index_elements_dim)) {
1925 DimensionHandle num_values_elements_dim = c->Dim(values_shape, 0);
1926 if (c->ValueKnown(num_values_elements_dim)) {
1927 int64 num_index_elements = c->Value(num_index_elements_dim);
1928 int64 num_values_elements = c->Value(num_values_elements_dim);
1929 if (num_index_elements != num_values_elements) {
1930 return errors::InvalidArgument("Number of elements in index (",
1931 num_index_elements, ") and values (",
1932 num_values_elements, ") do not match.");
1933 }
1934 }
1935 }
1936
1937 // Rank embedded in indices must match shape.
1938 DimensionHandle index_rank_dim = c->Dim(indices_shape, 1);
1939 if (c->ValueKnown(index_rank_dim)) {
1940 DimensionHandle shape_rank_dim = c->Dim(shape_shape, 0);
1941 if (c->ValueKnown(shape_rank_dim)) {
1942 int64 index_rank = c->Value(index_rank_dim);
1943 int32 shape_rank = c->Value(shape_rank_dim);
1944 if (index_rank != shape_rank) {
1945 return errors::InvalidArgument("Index rank (", index_rank,
1946 ") and shape rank (", shape_rank,
1947 ") do not match.");
1948 }
1949 }
1950 }
1951
1952 return Status::OK();
1953}
1954
1955Status ValidateVariableResourceHandle(
1956 InferenceContext* c, std::vector<ShapeAndType>* shape_and_type) {

Callers 3

array_ops.ccFile · 0.85
set_ops.ccFile · 0.85
TESTFunction · 0.85

Calls 5

InvalidArgumentFunction · 0.85
ValueKnownMethod · 0.80
WithRankMethod · 0.45
DimMethod · 0.45
ValueMethod · 0.45

Tested by 1

TESTFunction · 0.68