Hello everyone,
I'm using TFLM, and i want something very optimized in term of footprint.
My application only requires kTfLiteInt8 kernels.
However, kTfLiteFloat32 and kTfLiteUInt8 kernels are also built into the application.
It would save a considerable amount of code space if there was a way to disable building in the unused data types, e.g.:
switch (input->type) { // Already know in/out types are same.
#ifndef TFLITE_FLOAT32_DISABLED
case kTfLiteFloat32:
return EvalFloat(context, node, params, &data, input, filter, bias,
nullptr, nullptr, output);
break;
#endif
#infdef TFLITE_INT8_DISABLED
case kTfLiteInt8:
return EvalQuantizedPerChannel(context, node, params, &data, input,
filter, bias, output, nullptr);
break;
#endif
#ifndef TFLITE_UINT8_DISABLED
case kTfLiteUInt8:
return EvalQuantized(context, node, params, &data, input, filter, bias,
nullptr, nullptr, output);
break;
#endif
default:
context->ReportError(context, "Type %s (%d) not supported.",
TfLiteTypeGetName(input->type), input->type);
return kTfLiteError
Do you have any suggestion please ?
Thank you
Karim