workflow support for training regression/weighted logistic regression model.
Summary: workflow support for training regression/weighted logistic regression model.
Reviewed By: xianjiec
Differential Revision: D4830130
fbshipit-source-id: ccd4fc47a0d4b7c4ffb5948766c4a00ac34f929b
diff --git a/caffe2/operators/distance_op.cc b/caffe2/operators/distance_op.cc
index 90a9f08..2d63d66 100644
--- a/caffe2/operators/distance_op.cc
+++ b/caffe2/operators/distance_op.cc
@@ -12,8 +12,8 @@
CAFFE_ENFORCE_EQ(X.dim32(i), Y.dim32(i));
}
int N = X.ndim() > 0 ? X.dim32(0) : 1;
- int D = X.size() / N;
distance->Resize(N);
+ int D = N > 0 ? X.size() / N : 0;
float* distance_data = distance->mutable_data<float>();
const float* X_data = X.data<float>();
const float* Y_data = Y.data<float>();
diff --git a/caffe2/operators/distance_op.h b/caffe2/operators/distance_op.h
index 6a58dde..0a4df03 100644
--- a/caffe2/operators/distance_op.h
+++ b/caffe2/operators/distance_op.h
@@ -34,7 +34,7 @@
auto* dX = Output(0);
auto* dY = Output(1);
int N = X.ndim() > 0 ? X.dim32(0) : 1;
- int D = X.size() / N;
+ int D = N > 0 ? X.size() / N : 0;
CAFFE_ENFORCE(X.ndim() == Y.ndim());
for (int i = 0; i < X.ndim(); ++i) {
CAFFE_ENFORCE(X.dim32(i) == Y.dim32(i));