message: Add missing validation to sparse dense cwise ops.
diff: @@ -78,11 +78,24 @@ class SparseDenseBinaryOpShared : public OpKernel {
  "but received shapes: ",
  values_t->shape().DebugString(), " and ",
  shape_t->shape().DebugString()));
  + OP_REQUIRES(
  + ctx, TensorShapeUtils::IsVector(shape_t->shape()),
  + errors::InvalidArgument("Input sp_shape must be a vector. Got: ",
  + shape_t->shape().DebugString()));
  OP_REQUIRES(
  ctx, values_t->dim_size(0) == indices_t->dim_size(0),
  errors::InvalidArgument(
  "The first dimension of values and indices should match. (",
  values_t->dim_size(0), " vs. ", indices_t->dim_size(0), ")"));
  + OP_REQUIRES(
  + ctx, shape_t->shape().dim_size(0) == indices_t->shape().dim_size(1),
  + errors::InvalidArgument(
  + "Number of dimensions must match second dimension of indices. ",
  + "Got ", shape_t->shape().dim_size(0),
  + " dimensions, indices shape: ", indices_t->shape().DebugString()));
  + OP_REQUIRES(ctx, shape_t->NumElements() > 0,
  + errors::InvalidArgument(
  + "The shape argument requires at least one element."));
  const auto indices_mat = indices_t->matrix<int64>();
  const auto shape_vec = shape_t->vec<int64>();
  