MCPcopy Create free account
hub / github.com/Samsung/ONE / createEmptyTensor

Function createEmptyTensor

compiler/circle-eval-diff/src/Tensor.cpp:90–122  ·  view source on GitHub ↗

Return Tensor which has the same dtype and shape with node. Buffer does not have any data yet.

Source from the content-addressed store, hash-verified

88// Return Tensor which has the same dtype and shape with node.
89// Buffer does not have any data yet.
90std::shared_ptr<Tensor> createEmptyTensor(const luci::CircleNode *node)
91{
92 auto tensor = std::make_shared<Tensor>();
93 {
94 tensor->dtype(node->dtype());
95 tensor->rank(node->rank());
96 for (uint32_t i = 0; i < node->rank(); i++)
97 tensor->dim(i) = node->dim(i);
98
99 switch (node->dtype())
100 {
101 case loco::DataType::FLOAT32:
102 tensor->size<loco::DataType::FLOAT32>(numElements(node));
103 break;
104 case loco::DataType::U8:
105 tensor->size<loco::DataType::U8>(numElements(node));
106 break;
107 case loco::DataType::S16:
108 tensor->size<loco::DataType::S16>(numElements(node));
109 break;
110 case loco::DataType::S32:
111 tensor->size<loco::DataType::S32>(numElements(node));
112 break;
113 case loco::DataType::S64:
114 tensor->size<loco::DataType::S64>(numElements(node));
115 break;
116 default:
117 throw std::runtime_error("Unsupported input tensor dtype for " + node->name());
118 }
119 }
120
121 return tensor;
122}
123
124} // namespace circle_eval_diff

Callers 3

TESTFunction · 0.85
getMethod · 0.85
interpretFunction · 0.85

Calls 5

numElementsFunction · 0.70
dtypeMethod · 0.45
rankMethod · 0.45
dimMethod · 0.45
nameMethod · 0.45

Tested by 1

TESTFunction · 0.68