[TEST] improve data utils
authorAlexander Peskov <alexander.peskov@intel.com>
Wed, 21 Oct 2020 23:30:42 +0000 (02:30 +0300)
committerAlexander Peskov <alexander.peskov@intel.com>
Mon, 2 Nov 2020 09:37:48 +0000 (12:37 +0300)
Signed-off-by: Alexander Peskov <alexander.peskov@intel.com>
inference-engine/tests/ie_test_utils/common_test_utils/data_utils.cpp
inference-engine/tests/ie_test_utils/common_test_utils/data_utils.hpp

index 12ae4ee..4867d8d 100644 (file)
@@ -104,6 +104,10 @@ void fill_data_with_broadcast(InferenceEngine::Blob::Ptr& blob, InferenceEngine:
     auto src_ptr = get_data(values);
 
     switch (blob->getTensorDesc().getPrecision()) {
+        case InferenceEngine::Precision::U64:
+        case InferenceEngine::Precision::I64:
+            copy_7D<uint64_t>(src_ptr, src_strides, dst_ptr, dst_strides, dst_dims);
+            break;
         case InferenceEngine::Precision::FP32:
         case InferenceEngine::Precision::I32:
             copy_7D<uint32_t>(src_ptr, src_strides, dst_ptr, dst_strides, dst_dims);
@@ -189,6 +193,12 @@ InferenceEngine::Blob::Ptr make_reshape_view(const InferenceEngine::Blob::Ptr &b
     return new_blob;
 }
 
+size_t byte_size(const InferenceEngine::TensorDesc &tdesc) {
+    auto prc = tdesc.getPrecision();
+    auto dims = tdesc.getDims();
+    return prc.size() * std::accumulate(std::begin(dims), std::end(dims), (size_t)1, std::multiplies<size_t>());
+}
+
 /**
  * repeated filling tensor with data.
  *
index c6eeab1..8d46d85 100644 (file)
@@ -72,6 +72,14 @@ InferenceEngine::Blob::Ptr make_reshape_view(const InferenceEngine::Blob::Ptr &b
  */
 void fill_data_const(InferenceEngine::Blob::Ptr& blob, float val);
 
+
+/**
+ * Calculate size of buffer required for provided tensor descriptor.
+ * @param tdesc provided tensor descriptor
+ * @return size in bytes
+ */
+size_t byte_size(const InferenceEngine::TensorDesc &tdesc);
+
 static void fill_data_bbox(float *data, size_t size, int height, int width, float omega) {
     float center_h = (height - 1.0f) / 2;
     float center_w = (width - 1.0f) / 2;