| 18 | |
| 19 | namespace MNN { |
| 20 | Tensor::Tensor(int dimSize, DimensionType type) { |
| 21 | MNN_ASSERT(dimSize <= MNN_MAX_TENSOR_DIM); |
| 22 | mDescribe = new InsideDescribe; |
| 23 | mDescribe->mContent.reset(new InsideDescribe::NativeInsideDescribe); |
| 24 | auto nativeDescribe = mDescribe->mContent.get(); |
| 25 | mBuffer.dimensions = dimSize; |
| 26 | mBuffer.type = halide_type_of<float>(); |
| 27 | mBuffer.device = 0; |
| 28 | mBuffer.host = nullptr; |
| 29 | mBuffer.dim = &nativeDescribe->dims[0]; |
| 30 | mBuffer.flags = 0; |
| 31 | |
| 32 | switch (type) { |
| 33 | case CAFFE: |
| 34 | nativeDescribe->dimensionFormat = MNN_DATA_FORMAT_NCHW; |
| 35 | break; |
| 36 | case TENSORFLOW: |
| 37 | nativeDescribe->dimensionFormat = MNN_DATA_FORMAT_NHWC; |
| 38 | break; |
| 39 | case CAFFE_C4: |
| 40 | nativeDescribe->dimensionFormat = MNN_DATA_FORMAT_NC4HW4; |
| 41 | break; |
| 42 | default: |
| 43 | break; |
| 44 | } |
| 45 | } |
| 46 | |
| 47 | Tensor::Tensor(const Tensor* tensor, DimensionType type, bool allocMemory) { |
| 48 | MNN_ASSERT(tensor != nullptr); |
no test coverage detected