mbaret commented on a change in pull request #6429:
URL: https://github.com/apache/incubator-tvm/pull/6429#discussion_r493547397
##########
File path: src/relay/op/tensor/transform.cc
##########
@@ -3131,36 +3133,62 @@ bool MatrixSetDiagRel(const Array<Type>& types, int
num_inputs, const Attrs& att
const auto* diagonal = types[1].as<TensorTypeNode>();
CHECK(diagonal);
+ const auto param = attrs.as<MatrixSetDiagAttrs>();
+ CHECK_GE(param->k2, param->k1);
+
Review comment:
Could you also add a check to make sure the k values are in a sane range
for the input tensor size?
##########
File path: include/tvm/topi/transform.h
##########
@@ -1524,29 +1524,60 @@ inline Tensor sparse_to_dense(const Tensor&
sparse_indices, const Array<Integer>
}
/*!
- * \brief Returns a tensor with the diagonal of input tensor replaced with the
provided diagonal.
+ * \brief Returns a tensor with the diagonal of input tensor replaced with the
provided diagonals.
* \param input input tensor.
- * \param diagonal values to be filled in the diagonal.
+ * \param diagonal values to be filled in the diagonals.
+ * \param k1 lower limit (included) of the range of diagonals.
+ * \param k2 upper limit (included) of the range of diagonals.
+ * \param super_diag_right_align bool, true iff super-diagonal is right
aligned (left-padded).
+ * \param sub_diag_right_align bool, true iff sub-diagonal is right aligned
(left-padded).
* \param name output tensor name.
* \param tag output tensor tag.
* \return new tensor with given diagonal values.
*/
-inline Tensor matrix_set_diag(const Tensor& input, const Tensor& diagonal,
+inline Tensor matrix_set_diag(const Tensor& input, const Tensor& diagonal, int
k1, int k2,
+ bool super_diag_right_align, bool
sub_diag_right_align,
const std::string name = "T_matrix_set_diag",
const std::string tag = kInjective) {
size_t ndim = input->shape.size() - 1;
+ bool onlyOneDiagonal = k1 == k2;
Review comment:
only_one_diagonal
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]