From 0d22bd4d9667b2006b04f72d5ea82ef7058f9379 Mon Sep 17 00:00:00 2001 From: zylo117 Date: Thu, 24 Feb 2022 10:41:20 +0800 Subject: [PATCH] read tensor data as numpy array instead of python list (#1287) * read tensor data as numpy array instead of python list this is faster by 700 times * apply code-format changes * read char tensor as numpy array instead of python list --- pytengine/tengine/tensor.py | 4 ++-- source/device/tim-vx/timvx_dump.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pytengine/tengine/tensor.py b/pytengine/tengine/tensor.py index eef997f0..9b6bc8e3 100755 --- a/pytengine/tengine/tensor.py +++ b/pytengine/tengine/tensor.py @@ -132,10 +132,10 @@ class Tensor(object): if ctype is ctypes.c_char: _LIB.get_tensor_buffer.restype = ctypes.POINTER(ctype) res = _LIB.get_tensor_buffer(ctypes.c_void_p(self.tensor)) - return res[:size] + return np.ctypeslib.as_array(ctypes.cast(res, ctypes.POINTER(ctype)), (size,)) _LIB.get_tensor_buffer.restype = ctypes.POINTER(ctype) res = _LIB.get_tensor_buffer(ctypes.c_void_p(self.tensor)) - return res[:size] + return np.ctypeslib.as_array(ctypes.cast(res, ctypes.POINTER(ctype)), (size,)) def ascontiguousarray(self,value): if self.dtype.enum == 2: diff --git a/source/device/tim-vx/timvx_dump.c b/source/device/tim-vx/timvx_dump.c index 5d802b77..b6a84525 100644 --- a/source/device/tim-vx/timvx_dump.c +++ b/source/device/tim-vx/timvx_dump.c @@ -462,7 +462,7 @@ void extract_feature_from_tensor_timvx(const char* comment, const char* layer_na { strcpy(save_dir, env_path); - if ('/' == save_dir[strlen(env_path) - 1] || '\\' == save_dir[strlen(env_path) - 1]) + if ('/' == save_dir[strlen(env_path) - 1] || '\\' == save_dir[strlen(env_path) - 1]) { #ifdef _MSC_VER save_dir[strlen(env_path)] = '\\'; -- GitLab