Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion caffe2/contrib/aten/aten_op_template.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ class ATenOp : public Operator<Context> {
}
at::Tensor tensorWrapping(const Tensor& ten_) {
auto& ten = const_cast<Tensor&>(ten_);
return typeFor(ten).tensorFromBlob(ten.raw_mutable_data(), ten.dims());
return typeFor(ten).tensorFromBlob(ten.raw_mutable_data(), ten.sizes());
}

at::Tensor peek(size_t i, size_t N) {
Expand Down
4 changes: 2 additions & 2 deletions caffe2/contrib/tensorrt/tensorrt_op_trt.cc
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ bool TensorRTOp::RunOnDevice() {
size_t N = 0;
for (int i = 0; i < InputSize(); ++i) {
const auto& input_tensor = Input(i);
const auto tensor_dims = input_tensor.dims();
const auto tensor_dims = input_tensor.sizes();
CAFFE_ENFORCE(!tensor_dims.empty(), "Input tensor cannot be empty");
if (i == 0) {
N = tensor_dims.front();
Expand Down Expand Up @@ -198,7 +198,7 @@ bool TensorRTOp::RunOnDevice() {
// input, check input dimensions
const auto& input_tensor = Input(input_idx++);
const float* input_data = input_tensor.data<float>();
const auto tensor_dims = input_tensor.dims();
const auto tensor_dims = input_tensor.sizes();
auto chw = CheckDims(dims, tensor_dims);
bindings.push_back((void*)(input_data + offset * chw));
} else {
Expand Down
6 changes: 1 addition & 5 deletions caffe2/core/tensor.h
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ class CAFFE2_API Tensor final {
Resize(dims);
}

// TODO: remove?
explicit Tensor(const vector<int>& dims, DeviceType type)
: Tensor(type) {
Resize(dims);
Expand Down Expand Up @@ -438,11 +439,6 @@ class CAFFE2_API Tensor final {
return impl_.get()->sizes();
}

// To be deprecated
inline at::IntList dims() const {
return impl_.get()->sizes();
}

inline int64_t size_from_dim(int k) const {
return size_from_dim_(k, impl_->sizes());
}
Expand Down
7 changes: 3 additions & 4 deletions caffe2/mobile/contrib/ios/ios_caffe_predictor.cc
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,7 @@ Caffe2IOSPredictor::Caffe2IOSPredictor(const caffe2::NetDef& init_net,

void Caffe2IOSPredictor::run(const Tensor& inData, Tensor& outData, std::string& errorMessage) {
FLAGS_caffe2_force_shared_col_buffer = true;
caffe2::Tensor input(caffe2::CPU);
input.Resize(inData.dims);
caffe2::Tensor input = caffe2::empty(inData.dims, at::dtype<uint8_t>().device(caffe2::CPU));
input.ShareExternalPointer(inData.data);
caffe2::Predictor::TensorList input_vec;
input_vec.emplace_back(std::move(input));
Expand All @@ -67,7 +66,7 @@ void Caffe2IOSPredictor::run(const Tensor& inData, Tensor& outData, std::string&
errorMessage.swap(error);
return;
}
caffe2::TensorCPU* output = &output_vec.front();
caffe2::Tensor* output = &output_vec.front();
outData.data = output->mutable_data<uint8_t>();
outData.dims = output->dims().vec();
outData.dims = output->sizes().vec();
}
70 changes: 35 additions & 35 deletions caffe2/mobile/contrib/ios/mpscnn/mpscnn.mm
Original file line number Diff line number Diff line change
Expand Up @@ -256,12 +256,12 @@ void computeOutputHW(
int W,
int* OH,
int* OW) {
Tensor input(CPU), output(CPU);
input.Resize(1, 1, H, W);
Tensor input = caffe2::empty({1, 1, H, W}, at::dtype<float>().device(CPU));
Tensor output(CPU);
op->SetOutputSize(input, &output, 1);
CAFFE_ENFORCE_EQ(output.ndim(), 4);
*OH = output.dim(2);
*OW = output.dim(3);
CAFFE_ENFORCE_EQ(output.dim(), 4);
*OH = output.size(2);
*OW = output.size(3);
}

constexpr int computeMPSAlignOffset(int kernel, int pad) {
Expand All @@ -285,7 +285,7 @@ constexpr int computeMPSAlignOffset(int kernel, int pad) {
size_t ComputeStartIndex(
const TensorCPU& tensor,
const std::vector<int>& index) {
DCHECK_EQ(index.size(), tensor.ndim());
DCHECK_EQ(index.size(), tensor.dim());

size_t ret = 0;
for (int i = 0; i < index.size(); i++) {
Expand All @@ -306,12 +306,12 @@ size_t ComputeStartIndex(
return utils::ConstTensorView<T>(nullptr, {});
}

std::vector<int> start_dims(tensor.ndim(), 0);
std::vector<int> start_dims(tensor.dim(), 0);
start_dims.at(0) = dim0_start_index;
auto st_idx = ComputeStartIndex(tensor, start_dims);
auto ptr = tensor.data<T>() + st_idx;

auto input_dims = tensor.dims();
auto input_dims = tensor.sizes();
std::vector<int> ret_dims(input_dims.begin() + 1, input_dims.end());

utils::ConstTensorView<T> ret(ptr, ret_dims);
Expand All @@ -328,9 +328,9 @@ bool RunOnDevice() override {
std::vector<MPSImageWrapper> wrappers(Inputs().size());
for (auto i = 0; i < Inputs().size(); ++i) {
const auto& X = Input(i);
CAFFE_ENFORCE(X.ndim() > 0 && X.ndim() <= 4);
CAFFE_ENFORCE(X.dim() > 0 && X.dim() <= 4);
std::vector<int64_t> XDims = {1, 1, 1, 1};
XDims.assign(X.dims().begin(), X.dims().end());
XDims.assign(X.sizes().begin(), X.sizes().end());

caffe2::Timer t;
const auto n = XDims[0];
Expand Down Expand Up @@ -476,11 +476,11 @@ bool RunOnDevice() override {
const auto& X = Input(0);
const auto& mean = Input(1);
CAFFE_ENFORCE_EQ(mean.size(), 3);
CAFFE_ENFORCE_EQ(X.ndim(), 4);
CAFFE_ENFORCE_EQ(X.dim(0), 1);
CAFFE_ENFORCE_EQ(X.dim(3), 4);
const auto H = X.dim(1);
const auto W = X.dim(2);
CAFFE_ENFORCE_EQ(X.dim(), 4);
CAFFE_ENFORCE_EQ(X.size(0), 1);
CAFFE_ENFORCE_EQ(X.size(3), 4);
const auto H = X.size(1);
const auto W = X.size(2);

caffe2::Timer t;

Expand Down Expand Up @@ -749,15 +749,15 @@ bool RunOnDeviceWithOrderNCHW() override {

auto& filter = Input(FILTER);
auto& bias = Input(BIAS);
CAFFE_ENFORCE_EQ(filter.ndim(), 4);
CAFFE_ENFORCE_EQ(filter.dim(), 4);
// For NCHW, X.dim32(1), inputChannels
const int C = X.featureChannels;
const int M = filter.dim32(0);
const int Cf = filter.dim32(1);

CAFFE_ENFORCE(filter.dim32(2) == kernel_h(), "");
CAFFE_ENFORCE(filter.dim32(3) == kernel_w(), "");
CAFFE_ENFORCE(bias.ndim() == 1, "");
CAFFE_ENFORCE(bias.dim() == 1, "");
CAFFE_ENFORCE(bias.dim32(0) == M, "");

const auto kH = kernel_h();
Expand Down Expand Up @@ -986,9 +986,9 @@ bool RunOnDevice() override {

const auto& X1 = Input(1);
CAFFE_ENFORCE_EQ(
X1.ndim(),
X1.dim(),
1,
"MPSCNNMulOp: Only ndim == 1 for Input(1) is supported for now");
"MPSCNNMulOp: Only dim == 1 for Input(1) is supported for now");

auto X1_ = [getMPSCNNContext().device
newBufferWithBytes:X1.template data<float>()
Expand Down Expand Up @@ -1054,9 +1054,9 @@ bool RunOnDevice() override {

const auto& X1 = Input(1);
CAFFE_ENFORCE_EQ(
X1.ndim(),
X1.dim(),
1,
"MPSCNNSubOp: Only ndim == 1 for Input(1) is supported for now");
"MPSCNNSubOp: Only dim == 1 for Input(1) is supported for now");

auto X1_ = [getMPSCNNContext().device
newBufferWithBytes:X1.template data<float>()
Expand Down Expand Up @@ -1454,14 +1454,14 @@ bool RunOnDeviceWithOrderNCHW() override {

auto& filter = Input(FILTER);
auto& bias = Input(BIAS);
CAFFE_ENFORCE(filter.ndim(), 4);
CAFFE_ENFORCE(filter.dim(), 4);
const int output_channels = filter.dim32(1);
const int input_channels = filter.dim32(0);

CAFFE_ENFORCE(X.featureChannels == input_channels, "");
CAFFE_ENFORCE(filter.dim32(2) == kernel_h(), "");
CAFFE_ENFORCE(filter.dim32(3) == kernel_w(), "");
CAFFE_ENFORCE(bias.ndim() == 1, "");
CAFFE_ENFORCE(bias.dim() == 1, "");
CAFFE_ENFORCE(bias.dim32(0) == output_channels, "");

const auto kH = kernel_h();
Expand Down Expand Up @@ -1964,7 +1964,7 @@ bool RunOnDevice() override {
auto X = inputWrapper.getImage();
CAFFE_ENFORCE_EQ(X.numberOfImages, 1);
const auto& R = Input(1);
CAFFE_ENFORCE_EQ(R.ndim(), 2);
CAFFE_ENFORCE_EQ(R.dim(), 2);
CAFFE_ENFORCE(R.dim32(1) == 4 || R.dim32(1) == 5);
const auto roiBytes = R.dim32(0) * 4 * sizeof(float16_t);
if (!roiBuffer_ || roiBuffer_.length != roiBytes) {
Expand Down Expand Up @@ -2249,25 +2249,25 @@ bool RunOnDevice() override {
auto* out_rois = Output(0);
auto* out_rois_probs = Output(1);

CAFFE_ENFORCE_EQ(scores.ndim(), 4, scores.ndim());
CAFFE_ENFORCE_EQ(scores.dim(), 4, scores.dim());
CAFFE_ENFORCE(scores.template IsType<float>(), scores.meta().name());
const auto num_images = scores.dim(0);
const auto A = scores.dim(1);
const auto height = scores.dim(2);
const auto width = scores.dim(3);
const auto num_images = scores.size(0);
const auto A = scores.size(1);
const auto height = scores.size(2);
const auto width = scores.size(3);
const auto K = height * width;

// bbox_deltas: (num_images, A * 4, H, W)
CAFFE_ENFORCE_EQ(
bbox_deltas.dims(), (vector<int64_t>{num_images, 4 * A, height, width}));
bbox_deltas.sizes(), (vector<int64_t>{num_images, 4 * A, height, width}));

// im_info_tensor: (num_images, 3), format [height, width, scale; ...]
CAFFE_ENFORCE_EQ(im_info_tensor.dims(), (vector<int64_t>{num_images, 3}));
CAFFE_ENFORCE_EQ(im_info_tensor.sizes(), (vector<int64_t>{num_images, 3}));
CAFFE_ENFORCE(
im_info_tensor.template IsType<float>(), im_info_tensor.meta().name());

// anchors: (A, 4)
CAFFE_ENFORCE_EQ(anchors.dims(), (vector<int64_t>{A, 4}));
CAFFE_ENFORCE_EQ(anchors.sizes(), (vector<int64_t>{A, 4}));
CAFFE_ENFORCE(anchors.template IsType<float>(), anchors.meta().name());
// Broadcast the anchors to all pixels
auto all_anchors_vec =
Expand All @@ -2276,8 +2276,8 @@ bool RunOnDevice() override {

Eigen::Map<const ERArrXXf> im_info(
im_info_tensor.data<float>(),
im_info_tensor.dim(0),
im_info_tensor.dim(1));
im_info_tensor.size(0),
im_info_tensor.size(1));

const int roi_col_count = 5;
out_rois->Resize(0, roi_col_count);
Expand All @@ -2300,7 +2300,7 @@ bool RunOnDevice() override {
&im_i_probs);

int csz = im_i_boxes.rows();
int cur_start_idx = out_rois->dim(0);
int cur_start_idx = out_rois->size(0);

out_rois->Extend(csz, 50);
out_rois_probs->Extend(csz, 50);
Expand Down
Loading