Returns a new dimension whose value is given by a scalar input tensor.
| 980 | |
| 981 | // Returns a new dimension whose value is given by a scalar input tensor. |
| 982 | Status InferenceContext::MakeDimForScalarInput(int idx, DimensionHandle* out) { |
| 983 | int64 val; |
| 984 | const Tensor* t = input_tensor(idx); |
| 985 | if (t == nullptr) { |
| 986 | *out = UnknownDim(); |
| 987 | return Status::OK(); |
| 988 | } |
| 989 | TF_RETURN_IF_ERROR(GetScalarFromTensor(t, &val)); |
| 990 | if (val < 0) { |
| 991 | return errors::InvalidArgument("Dimension size, given by scalar input ", |
| 992 | idx, ", must be non-negative but is ", val); |
| 993 | } |
| 994 | *out = MakeDim(val); |
| 995 | return Status::OK(); |
| 996 | } |
| 997 | |
| 998 | Status InferenceContext::MakeDimForScalarInputWithNegativeIndexing( |
| 999 | int idx, int input_rank, DimensionHandle* out) { |