JeVois
1.20
JeVois Smart Embedded Machine Vision Toolkit
|
|
#include <jevois/DNN/NetworkPython.H>
Wrapper around an DNN neural network invoked through python.
Definition at line 31 of file NetworkPython.H.
Public Member Functions | |
NetworkPython (std::string const &instance) | |
Constructor. More... | |
virtual | ~NetworkPython () |
Destructor. More... | |
void | freeze (bool doit) override |
Freeze/unfreeze parameters that users should not change while running. More... | |
std::vector< vsi_nn_tensor_attr_t > | inputShapes () override |
Get shapes of all input tensors. More... | |
std::vector< vsi_nn_tensor_attr_t > | outputShapes () override |
Get shapes of all output tensors. More... | |
void | load () override |
Load from disk. More... | |
std::vector< cv::Mat > | doprocess (std::vector< cv::Mat > const &blobs, std::vector< std::string > &info) override |
Process input blobs and obtain output blobs. More... | |
Public Member Functions inherited from jevois::dnn::Network | |
virtual | ~Network () |
Destructor. More... | |
void | waitBeforeDestroy () |
If network is currently loading, wait until that is done before destroying. More... | |
bool | ready () |
Returns true when network is ready to run (loaded and initialized) More... | |
std::vector< cv::Mat > | process (std::vector< cv::Mat > const &blobs, std::vector< std::string > &info) |
Process input blobs and obtain output blobs. More... | |
Public Member Functions inherited from jevois::Component | |
Component (std::string const &instance) | |
Constructor. More... | |
virtual | ~Component () |
Virtual destructor for safe inheritance. More... | |
template<class Comp , typename... Args> | |
std::shared_ptr< Comp > | addSubComponent (std::string const &instance, Args &&...args) |
Pseudo-constructor: construct and add another component as a subcomponent of this one. More... | |
template<class Comp > | |
void | removeSubComponent (std::shared_ptr< Comp > &component) |
Remove a sub-Component from this Component, by shared_ptr. More... | |
void | removeSubComponent (std::string const &instance, bool warnIfNotFound=true) |
Remove a sub-Component from this Component, by instance name. More... | |
template<class Comp = jevois::Component> | |
std::shared_ptr< Comp > | getSubComponent (std::string const &instance) const |
Get a sub-component by instance name. More... | |
bool | isTopLevel () const |
Returns true if this component is top-level, i.e., its parent is jevois::Manager. More... | |
Engine * | engine () const |
Get a handle to our Engine, or throw if we do not have an Engine as root ancestor. More... | |
bool | initialized () const |
Has this component been initialized yet? More... | |
const std::string & | className () const |
The class name of this component. More... | |
const std::string & | instanceName () const |
The instance name of this component. More... | |
template<typename T > | |
std::vector< std::string > | setParamVal (std::string const ¶mdescriptor, T const &val) |
Set a parameter value. More... | |
template<typename T > | |
void | setParamValUnique (std::string const ¶mdescriptor, T const &val) |
Set a parameter value, simple version assuming only one parameter match. More... | |
template<typename T > | |
std::vector< std::pair< std::string, T > > | getParamVal (std::string const ¶mdescriptor) const |
Get parameter(s) value(s) by descriptor. More... | |
template<typename T > | |
T | getParamValUnique (std::string const ¶mdescriptor) const |
Get a parameter value, simple version assuming only one parameter match. More... | |
std::vector< std::string > | setParamString (std::string const ¶mdescriptor, std::string const &val) |
Set a parameter value, by string. More... | |
void | setParamStringUnique (std::string const ¶mdescriptor, std::string const &val) |
Set a parameter value by string, simple version assuming only one parameter match. More... | |
std::vector< std::pair< std::string, std::string > > | getParamString (std::string const ¶mdescriptor) const |
Get a parameter value, by string. More... | |
std::string | getParamStringUnique (std::string const ¶mdescriptor) const |
Get a parameter value by string, simple version assuming only one parameter match. More... | |
void | freezeParam (std::string const ¶mdescriptor) |
Freeze a parameter, by name, see ParameterBase::freeze() More... | |
void | unFreezeParam (std::string const ¶mdescriptor) |
Unfreeze a parameter, by name, see ParameterBase::unFreeze() More... | |
void | freezeAllParams () |
Freeze all parameters. More... | |
void | unFreezeAllParams () |
Unfreeze all parameters. More... | |
std::string | descriptor () const |
Get our full descriptor (including all parents) as [Instancename]:[...]:[...]. More... | |
void | setParamsFromFile (std::string const &filename) |
Set some parameters from a file. More... | |
std::istream & | setParamsFromStream (std::istream &is, std::string const &absfile) |
Set some parameters from an open stream. More... | |
virtual void | paramInfo (std::shared_ptr< UserInterface > s, std::map< std::string, std::string > &categs, bool skipFrozen, std::string const &cname="", std::string const &pfx="") |
Get machine-oriented descriptions of all parameters. More... | |
void | foreachParam (std::function< void(std::string const &compname, ParameterBase *p)> func, std::string const &cname="") |
Run a function on every param we hold. More... | |
template<typename T > | |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ParameterCategory const &category) |
Add a new parameter after the Component has already been constructed. More... | |
template<typename T , template< typename > class ValidValuesSpec> | |
std::shared_ptr< DynamicParameter< T > > | addDynamicParameter (std::string const &name, std::string const &description, T const &defaultValue, ValidValuesSpec< T > const &validValuesSpec, ParameterCategory const &category) |
Add a new parameter after the Component has already been constructed. More... | |
template<typename T > | |
void | setDynamicParameterCallback (std::string const &name, std::function< void(T const &)> cb, bool callnow=true) |
Register a callback with a previously created dynamic parameter. More... | |
void | removeDynamicParameter (std::string const &name) |
Remove a previously added dynamic parameter. More... | |
void | setPath (std::string const &path) |
Assign a filesystem path to this component. More... | |
std::filesystem::path | absolutePath (std::filesystem::path const &path="") |
If given path is relative (not starting with /), prepend the Component path to it. More... | |
Public Member Functions inherited from jevois::ParameterRegistry | |
virtual | ~ParameterRegistry () |
Virtual destructor for safe inheritance. More... | |
Protected Member Functions | |
void | onParamChange (network::pynet const ¶m, std::string const &newval) override |
Protected Member Functions inherited from jevois::dnn::Network | |
void | onParamChange (network::outreshape const ¶m, std::string const &val) override |
Protected Member Functions inherited from jevois::Component | |
virtual void | preInit () |
Called before all sub-Components are init()ed. More... | |
virtual void | postInit () |
Called after all sub-Components are init()ed. More... | |
virtual void | preUninit () |
Called before all sub-Components are uninit()ed. More... | |
virtual void | postUninit () |
Called after all sub-Components are uninit()ed. More... | |
Protected Member Functions inherited from jevois::ParameterRegistry | |
void | addParameter (ParameterBase *const param) |
The Parameter class uses this method to register itself on construction with its owning Component. More... | |
void | removeParameter (ParameterBase *const param) |
The Parameter class uses this method to un-register itself on destruction with its owning Component. More... | |
void | callbackInitCall () |
For all parameters that have a callback which has never been called, call it with the default param value. More... | |
Protected Attributes | |
std::shared_ptr< NetworkPythonImpl > | itsImpl |
jevois::dnn::NetworkPython::NetworkPython | ( | std::string const & | instance | ) |
|
virtual |
Destructor.
Definition at line 93 of file NetworkPython.C.
|
overridevirtual |
Process input blobs and obtain output blobs.
Implements jevois::dnn::Network.
Definition at line 116 of file NetworkPython.C.
|
overridevirtual |
Freeze/unfreeze parameters that users should not change while running.
Reimplemented from jevois::dnn::Network.
Definition at line 97 of file NetworkPython.C.
References jevois::dnn::Network::freeze().
|
overridevirtual |
Get shapes of all input tensors.
Implements jevois::dnn::Network.
Definition at line 125 of file NetworkPython.C.
References jevois::dnn::parseTensorSpecs().
|
overridevirtual |
|
overrideprotected |
Definition at line 109 of file NetworkPython.C.
|
overridevirtual |
Get shapes of all output tensors.
Implements jevois::dnn::Network.
Definition at line 129 of file NetworkPython.C.
References jevois::dnn::parseTensorSpecs().
|
protected |
Definition at line 63 of file NetworkPython.H.
Referenced by NetworkPython().