134 assert(input_index != -1);
147 assert(input !=
nullptr);
151 assert(output !=
nullptr);
153 const auto *options =
cur_op->builtin_options_as_SVDFOptions();
156 const int rank = options->rank();
171 const auto type = Tensor::element_type(input);
175 case DataType::FLOAT32:
181 auto scratch_data = std::make_unique<uint8_t[]>(batch_size *
num_filters *
sizeof(
float));
184 kernels::getTensorData<float>(input_data),
187 state_data.get(), kernels::getTensorData<float>(scratch_data.get()),
188 kernels::getTensorData<float>(output_data), rank, input_size, batch_size,
num_filters,
194 assert(
false &&
"Unsupported type.");
void SVDF(const float *input_data, const float *weights_feature_data, const float *weights_time_data, const float *bias_data, float *state_data, float *scratch_data, float *output_data, const int rank, const int input_size, const int batch_size, const int num_filters, const int num_units, const int memory_size, const circle::ActivationFunctionType activation)