fix output shape calc for matmul (#4362)

This commit is contained in:
Ashwini Khade 2020-06-30 08:21:20 -07:00 committed by GitHub
parent a4127fc185
commit 89c6da99b5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 1 deletions

View file

@ -29,7 +29,7 @@ class MatMulComputeHelper {
// A: [M1, M2, ... K], B: [N, K]^T
// A: [M1, M2, ... K], B: [1, ..., 1, K, N]
// A: [M1, M2, ... K], B: [1, ..., 1, N, K]^T
if (!transa && left_num_dims >= 2 && right_num_dims >= 2 &&
if (!transa && left_num_dims >= 2 && right_num_dims >= 2 && left_num_dims >= right_num_dims &&
right_shape.SizeToDimension(right_num_dims - 1) == right_shape[right_num_dims - 2]) {
M_ = left_shape.SizeToDimension(left_num_dims - 1);
K_ = left_shape[left_num_dims - 1];

View file

@ -77,6 +77,13 @@ std::vector<MatMulTestData<T>> GenerateTestCases()
{2, 2, 4},
{20, 23, 26, 29, 56, 68, 80, 92, 92, 113, 134, 155, 128, 158, 188, 218}});
test_cases.push_back(
{"test 2D special 3",
{2, 6},
{1, 1, 6, 1},
{1, 1, 2, 1},
{55, 145}});
return test_cases;
}