MCPcopy Create free account
hub / github.com/alibaba/MNN / _resizeTensor

Function _resizeTensor

express/module/StaticModule.cpp:246–271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

244 return dirty;
245}
246static bool _resizeTensor(Tensor* tensor, const Tensor* dims, Session* session, Schedule::TENSORCACHE* cacheTensor) {
247 MNN_ASSERT(nullptr != tensor);
248 bool dirty = _reshapeTensor(tensor, dims);
249
250 if (!dirty) {
251 return false;
252 }
253
254 tensor->buffer().dimensions = (int)dims->dimensions();
255 for (int i = 0; i < dims->dimensions(); ++i) {
256 tensor->buffer().dim[i].extent = dims->length(i);
257 tensor->buffer().dim[i].stride = dims->stride(i);
258 }
259 if (nullptr != cacheTensor) {
260 auto t = std::get<1>(*cacheTensor).get();
261 if (nullptr != t) {
262 t->buffer().dimensions = (int)dims->dimensions();
263 for (int i = 0; i < dims->dimensions(); ++i) {
264 t->buffer().dim[i].extent = dims->length(i);
265 t->buffer().dim[i].stride = dims->stride(i);
266 }
267 std::get<2>(*cacheTensor) = true;
268 }
269 }
270 return true;
271}
272void StaticModule::resetInputOutputs() {
273 mPrevInputTensor.resize(mResource->mInputs.size());
274 mInputTensors.resize(mResource->mInputs.size());

Callers 1

_resizeMethod · 0.85

Calls 5

_reshapeTensorFunction · 0.85
bufferMethod · 0.45
dimensionsMethod · 0.45
lengthMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected