| 150 | } |
| 151 | |
| 152 | void* set_input_data(graph_t graph) |
| 153 | { |
| 154 | tensor_t input_tensor = get_graph_input_tensor(graph, 0, 0); |
| 155 | |
| 156 | int buf_size = get_tensor_buffer_size(input_tensor); |
| 157 | void* i_buf = malloc(buf_size); |
| 158 | void* i_buf1 = malloc(buf_size); |
| 159 | |
| 160 | int dims[4]; |
| 161 | |
| 162 | get_tensor_shape(input_tensor, dims, 4); |
| 163 | |
| 164 | int elem_num = dims[0] * dims[1]; |
| 165 | |
| 166 | std::cout << "Dims[0]=" << dims[0] << " dims[1]=" << dims[1] << "elem_num=" << elem_num << "\n"; |
| 167 | tensor_t input_tensor1 = get_graph_input_tensor(graph, 1, 0); |
| 168 | |
| 169 | int data_type = get_tensor_data_type(input_tensor); |
| 170 | std::cout << "data type = " << data_type; |
| 171 | for(int i = 0; i < elem_num; i++) |
| 172 | { |
| 173 | if(data_type == TENGINE_DT_FP32) |
| 174 | { |
| 175 | float* f = ( float* )i_buf; |
| 176 | f[i] = 0.63907; |
| 177 | float* p = ( float* )i_buf1; |
| 178 | p[i] = 0.98765; |
| 179 | } |
| 180 | else if(data_type == TENGINE_DT_FP16) |
| 181 | { |
| 182 | __fp16* f16 = ( __fp16* )i_buf; |
| 183 | |
| 184 | #ifdef __ARM_ARCH |
| 185 | f16[i] = -1.0; |
| 186 | #else |
| 187 | f16[i] = fp32_to_fp16(-1.1); |
| 188 | #endif |
| 189 | } |
| 190 | else if(data_type == TENGINE_DT_INT8) |
| 191 | { |
| 192 | int8_t* int8 = ( int8_t* )i_buf; |
| 193 | int8[i] = -32; |
| 194 | } |
| 195 | else |
| 196 | { |
| 197 | uint8_t* i8 = ( uint8_t* )i_buf; |
| 198 | i8[i] = 32; |
| 199 | } |
| 200 | } |
| 201 | |
| 202 | set_tensor_buffer(input_tensor, i_buf, buf_size); |
| 203 | set_tensor_buffer(input_tensor1, i_buf1, buf_size); |
| 204 | |
| 205 | release_graph_tensor(input_tensor); |
| 206 | release_graph_tensor(input_tensor1); |
| 207 | |
| 208 | return i_buf; |
| 209 | } |
no test coverage detected