tflite:: InterpreterBuilder
#include <interpreter_builder.h>
Build an interpreter capable of interpreting model
.
Summary
model
: A model whose lifetime must be at least as long as any interpreter(s) created by the builder. In principle multiple interpreters can be made from a single model. op_resolver
: An instance that implements the OpResolver
interface, which maps custom op names and builtin op codes to op registrations. The lifetime of the provided op_resolver
object must be at least as long as the InterpreterBuilder
; unlike model
and error_reporter
, the op_resolver
does not need to exist for the duration of any created Interpreter
objects. error_reporter
: a functor that is called to report errors that handles printf var arg semantics. The lifetime of the error_reporter
object must be greater than or equal to the Interpreter
created by operator()
.
Returns a kTfLiteOk when successful and sets interpreter to a valid Interpreter. Note: The user must ensure the lifetime of the model (and error reporter, if provided) is at least as long as interpreter's lifetime, and a single model instance may safely be used with multiple interpreters.
Constructors and Destructors |
|
---|---|
InterpreterBuilder(const FlatBufferModel & model, const OpResolver & op_resolver)
For this constructor, the ErrorReporter will be extracted from the FlatBufferModel.
|
|
InterpreterBuilder(const ::tflite::Model *model, const OpResolver & op_resolver, ErrorReporter *error_reporter)
Builds an interpreter given only the raw flatbuffer Model object (instead of a FlatBufferModel).
|
|
InterpreterBuilder(const InterpreterBuilder &)
|
|
~InterpreterBuilder()
|
Public functions |
|
---|---|
AddDelegate(TfLiteDelegate *delegate)
|
void
Any delegates added with AddDelegate will be applied to the Interpreter generated by operator(), in the order that they were added.
|
PreserveAllTensorsExperimental()
|
Enables preserving intermediates for debugging.
|
SetNumThreads(int num_threads)
|
TfLiteStatus
Sets the number of CPU threads to use for the interpreter.
|
operator()(std::unique_ptr< Interpreter > *interpreter)
|
TfLiteStatus
Builds an interpreter and stores it in
*interpreter . |
operator()(std::unique_ptr< Interpreter > *interpreter, int num_threads)
|
TfLiteStatus
Same as above, but also sets the number of CPU threads to use (overriding any previous call to SetNumThreads).
|
operator=(const InterpreterBuilder &)=delete
|
Public functions
AddDelegate
void AddDelegate( TfLiteDelegate *delegate )
Any delegates added with AddDelegate will be applied to the Interpreter generated by operator(), in the order that they were added.
(The delegate parameter passed to AddDelegate should be non-null, otherwise an error will be reported, and the call to AddDelegate will have no other effect.) The lifetime of the delegate must be at least as long as the lifetime of any Interpreter generated by this InterpreterBuilder. WARNING: This is an experimental API and subject to change.
InterpreterBuilder
InterpreterBuilder( const FlatBufferModel & model, const OpResolver & op_resolver )
For this constructor, the ErrorReporter will be extracted from the FlatBufferModel.
InterpreterBuilder
InterpreterBuilder( const ::tflite::Model *model, const OpResolver & op_resolver, ErrorReporter *error_reporter )
Builds an interpreter given only the raw flatbuffer Model object (instead of a FlatBufferModel).
Mostly used for testing. If error_reporter
is null, then DefaultErrorReporter() is used.
InterpreterBuilder
InterpreterBuilder( const InterpreterBuilder & )=delete
PreserveAllTensorsExperimental
InterpreterBuilder & PreserveAllTensorsExperimental()
Enables preserving intermediates for debugging.
Otherwise, by default intermediates are undefined due to memory planning and reuse.
SetNumThreads
TfLiteStatus SetNumThreads( int num_threads )
Sets the number of CPU threads to use for the interpreter.
Returns kTfLiteOk on success, kTfLiteError on error.
operator()
TfLiteStatus operator()( std::unique_ptr< Interpreter > *interpreter )
Builds an interpreter and stores it in *interpreter
.
On success, returns kTfLiteOk and sets *interpreter
to a valid Interpreter. On failure, returns an error status and sets *interpreter
to nullptr.
operator()
TfLiteStatus operator()( std::unique_ptr< Interpreter > *interpreter, int num_threads )
Same as above, but also sets the number of CPU threads to use (overriding any previous call to SetNumThreads).
Deprecated: use the SetNumThreads method instead.
operator=
InterpreterBuilder & operator=( const InterpreterBuilder & )=delete
~InterpreterBuilder
~InterpreterBuilder()