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()
. options_experimental
: Options that can change behavior of interpreter. WARNING: this parameter is an experimental API and is subject to change.
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, const InterpreterOptions *options_experimental)
For this constructor, the ErrorReporter will be extracted from the FlatBufferModel.
|
|
InterpreterBuilder(const ::tflite::Model *model, const OpResolver & op_resolver, ErrorReporter *error_reporter, const InterpreterOptions *options_experimental)
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.
|
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.
InterpreterBuilder
InterpreterBuilder( const FlatBufferModel & model, const OpResolver & op_resolver, const InterpreterOptions *options_experimental )
For this constructor, the ErrorReporter will be extracted from the FlatBufferModel.
options
object is copied during construction. So caller can release it
InterpreterBuilder
InterpreterBuilder( const ::tflite::Model *model, const OpResolver & op_resolver, ErrorReporter *error_reporter, const InterpreterOptions *options_experimental )
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. options
object is copied during construction. So caller can release it
InterpreterBuilder
InterpreterBuilder( const InterpreterBuilder & )=delete
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()