51 const circle::Tensor *input;
52 const circle::Tensor *output;
57 const circle::UnpackOptions *options;
66 input = runtime_kernel.
inputs[inputTensorIdx];
67 output = runtime_kernel.
outputs[outputTensorIdx];
68 assert(input !=
nullptr);
69 assert(output !=
nullptr);
71 status = runtime_kernel.
getDataFromStorage(op_index, runtime_storage, runtime_context);
75 input_data = runtime_kernel.
inputs_data[inputTensorIdx];
76 assert(input_data !=
nullptr);
77 options = runtime_kernel.
first_operator->builtin_options_as_UnpackOptions();
79 params.num_outputs = options->num();
81 for (uint32_t i = 0; i < params.num_outputs; ++i)
90 int32_t axis_value = options->axis();
92 switch (input->type())
95 case circle::TensorType_FLOAT32:
97 pal::Unpack<float>(params, input_shape, core::utils::castInputData<float>(input_data),
102 case circle::TensorType_INT8:
104 pal::Unpack<int8_t>(params, input_shape, core::utils::castInputData<int8_t>(input_data),
111 assert(
false &&
"Unsupported type.");