Skip to content

Commit 8f7dabc

Browse files
idanscjramseyer
authored andcommitted
Improve error messages of wrong dimensions (pytorch#9694)
Summary: Updated the error message terms _matrices_ and _vectors_ to _2D tensors_ and _1D tensors_ respectively. Pull Request resolved: pytorch#9694 Differential Revision: D8949589 Pulled By: ezyang fbshipit-source-id: 2cdcd72e0e9a4459f3691c133bb16ef218b5cf3f
1 parent 053cda7 commit 8f7dabc

File tree

4 files changed

+22
-20
lines changed

4 files changed

+22
-20
lines changed

aten/src/ATen/native/sparse/cuda/SparseCUDATensorMath.cu

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,9 @@ Tensor& s_addmm_out_sparse_dense_cuda(Tensor& r_, const Tensor& t, const SparseT
5151
AT_CHECK(_check_device({sparse_, r_, t, dense}));
5252

5353
// TODO: This error message seems awfully opaque
54-
AT_CHECK(sparse_._sparseDims() == 2, "addmm: matrices expected, got ", sparse_._sparseDims(), "D tensor");
54+
AT_CHECK(sparse_._sparseDims() == 2, "addmm: 2D tensor expected, got ", sparse_._sparseDims(), "D tensor");
5555
AT_CHECK(sparse_._denseDims() == 0, "addmm: scalar values expected, got ", sparse_._denseDims(), "D values");
56-
AT_CHECK(dense.dim() == 2, "addmm: matrices expected, got ", dense.dim(), "D tensor");
56+
AT_CHECK(dense.dim() == 2, "addmm: 2D tensor expected, got ", dense.dim(), "D tensor");
5757

5858
// mxk * kxn = mxn
5959
int64_t m = sparse_.size(0);
@@ -183,11 +183,11 @@ SparseTensor& hspmm_out_sparse_cuda(SparseTensor& r_, const SparseTensor& sparse
183183
AT_CHECK(_check_device({r_, sparse_, dense}));
184184

185185
AT_CHECK(sparse_._sparseDims() == 2,
186-
"hspmm: Argument #2: matrices expected, got ", sparse_._sparseDims(), "D tensor");
186+
"hspmm: Argument #2: 2D tensor expected, got ", sparse_._sparseDims(), "D tensor");
187187
AT_CHECK(sparse_._denseDims() == 0,
188188
"hspmm: Argument #2: scalar values expected, got ", sparse_._denseDims(), "D values");
189189
AT_CHECK(dense.dim() == 2,
190-
"hspmm: Argument #3: matrices expected, got ", dense.dim(), "D tensor");
190+
"hspmm: Argument #3: 2D tensor expected, got ", dense.dim(), "D tensor");
191191

192192
int64_t m = sparse_.size(0);
193193
int64_t k = sparse_.size(1);

aten/src/TH/generic/THTensorMath.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1949,7 +1949,7 @@ void THTensor_(addcdiv)(THTensor *r_, THTensor *t, real value, THTensor *src1, T
19491949
void THTensor_(addmv)(THTensor *r_, real beta, THTensor *t, real alpha, THTensor *mat, THTensor *vec)
19501950
{
19511951
if( (mat->dim() != 2) || (vec->dim() != 1) )
1952-
THError("matrix and vector expected, got %dD, %dD",
1952+
THError("2D tensor and 1D tensor expected, got %dD, %dD tensors",
19531953
mat->dim(), vec->dim());
19541954

19551955
if( mat->size(1) != vec->size(0) ) {
@@ -1959,7 +1959,7 @@ void THTensor_(addmv)(THTensor *r_, real beta, THTensor *t, real alpha, THTensor
19591959
}
19601960

19611961
if(t->dim() != 1)
1962-
THError("vector expected, got t: %dD", t->dim());
1962+
THError("1D tensor expected, got t: %dD tensor", t->dim());
19631963

19641964
if(t->size(0) != mat->size(0)) {
19651965
THDescBuff bt = THTensor_(sizeDesc)(t);
@@ -2055,7 +2055,7 @@ void THTensor_(addmm)(THTensor *r_, real beta, THTensor *t, real alpha, THTensor
20552055
int free_m2 = 0;
20562056

20572057
if( (m1->dim() != 2) || (m2->dim() != 2))
2058-
THError("matrices expected, got %dD, %dD tensors", m1->dim(), m2->dim());
2058+
THError("2D tensors expected, got %dD, %dD tensors", m1->dim(), m2->dim());
20592059

20602060
if(m1->size(1) != m2->size(0)) {
20612061
THDescBuff bm1 = THTensor_(sizeDesc)(m1);
@@ -2064,7 +2064,7 @@ void THTensor_(addmm)(THTensor *r_, real beta, THTensor *t, real alpha, THTensor
20642064
}
20652065

20662066
if( t->dim() != 2 )
2067-
THError("matrix expected, got %dD tensor for t", t->dim());
2067+
THError("2D tensor expected, got %dD tensor for t", t->dim());
20682068

20692069
if( (t->size(0) != m1->size(0)) || (t->size(1) != m2->size(1)) ) {
20702070
THDescBuff bt = THTensor_(sizeDesc)(t);
@@ -2196,7 +2196,7 @@ void THTensor_(addr)(THTensor *r_, real beta, THTensor *t, real alpha, THTensor
21962196
vec1->dim(), vec2->dim());
21972197

21982198
if(t->dim() != 2)
2199-
THError("expected matrix, got %dD tensor for t", t->dim());
2199+
THError("expected 2D tensor, got %dD tensor for t", t->dim());
22002200

22012201
if( (t->size(0) != vec1->size(0)) || (t->size(1) != vec2->size(0)) ) {
22022202
THDescBuff bt = THTensor_(sizeDesc)(t);
@@ -3528,7 +3528,7 @@ void THTensor_(tril)(THTensor *r_, THTensor *t, int64_t k)
35283528
real *t_data, *r__data;
35293529
int64_t r, c;
35303530

3531-
THArgCheck(THTensor_(_nDimension)(t) == 2, 1, "expected a matrix");
3531+
THArgCheck(THTensor_(_nDimension)(t) == 2, 1, "expected a 2D tensor");
35323532

35333533
THTensor_(resizeAs)(r_, t);
35343534

@@ -3559,7 +3559,7 @@ void THTensor_(triu)(THTensor *r_, THTensor *t, int64_t k)
35593559
real *t_data, *r__data;
35603560
int64_t r, c;
35613561

3562-
THArgCheck(THTensor_(_nDimension)(t) == 2, 1, "expected a matrix");
3562+
THArgCheck(THTensor_(_nDimension)(t) == 2, 1, "expected a 2D tensor");
35633563

35643564
THTensor_(resizeAs)(r_, t);
35653565

aten/src/THC/generic/THCTensorMathBlas.cu

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ THCTensor_(addmv)(THCState *state, THCTensor *r_, real beta, THCTensor *t, real
5050
#if defined(THC_REAL_IS_FLOAT) || defined(THC_REAL_IS_DOUBLE) || defined(THC_REAL_IS_HALF)
5151
THCAssertSameGPU(THCTensor_(checkGPU)(state, 4, r_, t, mat, vec));
5252
if( (mat->dim() != 2) || (vec->dim() != 1) )
53-
THError("matrix and vector expected");
53+
THError("2D tensor and 1D tensor expected, got %dD, %dD tensors",
54+
mat->dim(), vec->dim());
5455

5556
if( mat->size(1) != vec->size(0) )
5657
THError("size mismatch");
@@ -151,7 +152,8 @@ THCTensor_(addr)(THCState *state, THCTensor *r_, real beta, THCTensor *t, real a
151152
#if defined(THC_REAL_IS_FLOAT) || defined(THC_REAL_IS_DOUBLE) || defined(THC_REAL_IS_HALF)
152153
THCAssertSameGPU(THCTensor_(checkGPU)(state, 4, r_, t, vec1, vec2));
153154
if ( (vec1->dim() != 1) || (vec2->dim() != 1) ) {
154-
THError("vector and vector expected");
155+
THError("1D tensors expected, got %dD, %dD tensors",
156+
vec1->dim(), vec2->dim());
155157
}
156158

157159
if (t->dim() != 2) {
@@ -248,10 +250,10 @@ THCTensor_(addmm)(THCState *state, THCTensor *r_, real beta, THCTensor *t, real
248250
THCTensor *r__, *m1_, *m2_;
249251

250252
if( (m1->dim() != 2) || (m2->dim() != 2) )
251-
THError("matrices expected, got %dD, %dD tensors", m1->dim(), m2->dim());
253+
THError("2D tensors expected, got %dD, %dD tensors", m1->dim(), m2->dim());
252254

253255
if(t->dim() != 2)
254-
THError("matrix expected, got %dD tensor for t", t->dim());
256+
THError("2D tensor expected, got %dD tensor for t", t->dim());
255257

256258
if(m1->size(1) != m2->size(0)) {
257259
THCDescBuff bm1 = THCTensor_(sizeDesc)(state, m1);

torch/lib/THD/master_worker/master/generic/THDTensor.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1038,7 +1038,7 @@ void THDTensor_(addcdiv)(THDTensor *self, THDTensor *src1, real value, THDTensor
10381038

10391039
void THDTensor_(addmv)(THDTensor *self, real beta, THDTensor *src, real alpha, THDTensor *mat, THDTensor *vec) {
10401040
if ((mat->nDimension != 2) || (vec->nDimension != 1))
1041-
THError("matrix and vector expected, got %dD, %dD", mat->nDimension, vec->nDimension);
1041+
THError("2D tensor and 1D tensor expected, got %dD, %dD tensors", mat->nDimension, vec->nDimension);
10421042

10431043
if (mat->size[1] != vec->size[0]) {
10441044
THDDescBuff bm = THDTensor_(sizeDesc)(mat);
@@ -1047,7 +1047,7 @@ void THDTensor_(addmv)(THDTensor *self, real beta, THDTensor *src, real alpha, T
10471047
}
10481048

10491049
if (src->nDimension != 1)
1050-
THError("vector expected, got src: %dD", src->nDimension);
1050+
THError("1D tensor expected, got src: %dD tensor", src->nDimension);
10511051

10521052
if (src->size[0] != mat->size[0]) {
10531053
THDDescBuff bt = THDTensor_(sizeDesc)(src);
@@ -1067,7 +1067,7 @@ void THDTensor_(addmv)(THDTensor *self, real beta, THDTensor *src, real alpha, T
10671067

10681068
void THDTensor_(addmm)(THDTensor *self, real beta, THDTensor *src, real alpha, THDTensor *mat1, THDTensor *mat2) {
10691069
if ((mat1->nDimension != 2) || (mat2->nDimension != 2))
1070-
THError("matrices expected, got %dD, %dD tensors", mat1->nDimension, mat2->nDimension);
1070+
THError("2D tensors expected, got %dD, %dD tensors", mat1->nDimension, mat2->nDimension);
10711071

10721072
if (mat1->size[1] != mat2->size[0]) {
10731073
THDDescBuff bm1 = THDTensor_(sizeDesc)(mat1);
@@ -1076,7 +1076,7 @@ void THDTensor_(addmm)(THDTensor *self, real beta, THDTensor *src, real alpha, T
10761076
}
10771077

10781078
if (src->nDimension != 2)
1079-
THError("matrix expected, got %dD tensor for t", src->nDimension);
1079+
THError("2D tensors expected, got %dD tensor for t", src->nDimension);
10801080

10811081
if ((src->size[0] != mat1->size[0]) || (src->size[1] != mat2->size[1])) {
10821082
THDDescBuff bt = THDTensor_(sizeDesc)(src);
@@ -1246,7 +1246,7 @@ void THDTensor_(sign)(THDTensor *self, THDTensor *src) {
12461246
}
12471247

12481248
accreal THDTensor_(trace)(THDTensor *self) {
1249-
THArgCheck(self->nDimension == 2, 1, "expected a matrix");
1249+
THArgCheck(self->nDimension == 2, 1, "expected a 2D tensor");
12501250

12511251
masterCommandChannel->sendMessage(
12521252
packMessage(Functions::tensorTrace, self),

0 commit comments

Comments
 (0)