Caffe2 - C++ API
A deep learning, cross platform ML framework
Data Structures | Public Member Functions | Protected Member Functions | Protected Attributes
caffe2::DAGNetBase Class Referenceabstract
Inheritance diagram for caffe2::DAGNetBase:
caffe2::NetBase caffe2::Observable< NetBase > caffe2::AsyncDAGNet caffe2::DAGNet

Data Structures

struct  DAGNetStats
 

Public Member Functions

 DAGNetBase (const std::shared_ptr< const NetDef > &net_def, Workspace *ws)
 
void WorkerFunction ()
 
vector< float > TEST_Benchmark (const int warmup_runs, const int main_runs, const bool run_individual) override
 Benchmarks a network. More...
 
const dag_utils::ExecutionChains & TEST_execution_chains () const
 
vector< OperatorBase * > GetOperators () const override
 
- Public Member Functions inherited from caffe2::NetBase
 NetBase (const std::shared_ptr< const NetDef > &net_def, Workspace *ws)
 
virtual bool SupportsAsync ()=0
 
const vector< const Event * > & events () const
 
virtual void Wait ()
 
virtual bool Run ()
 
virtual bool RunAsync ()
 
const vector< string > & external_output () const
 
const vector< string > & external_input () const
 
const string & Name () const
 
const NetDef & debug_def () const
 
bool has_debug_def () const
 
- Public Member Functions inherited from caffe2::Observable< NetBase >
const ObserverAttachObserver (std::unique_ptr< Observer > observer)
 
std::unique_ptr< ObserverDetachObserver (const Observer *observer_ptr)
 Returns a unique_ptr to the removed observer. More...
 
virtual size_t NumObservers ()
 
void StartAllObservers ()
 
void StopAllObservers ()
 

Protected Member Functions

bool DoRunAsync () override
 
virtual bool RunAt (int chain_id, const std::vector< int > &chain)=0
 
void HandleException (int operator_idx, const std::string &exception_str)
 
 DISABLE_COPY_AND_ASSIGN (DAGNetBase)
 
- Protected Member Functions inherited from caffe2::NetBase
 DISABLE_COPY_AND_ASSIGN (NetBase)
 

Protected Attributes

vector< dag_utils::OperatorNodeoperator_nodes_
 
vector< OperatorBase * > operators_
 
dag_utils::ExecutionChains execution_chains_
 
vector< int > initial_frontier_
 
std::unique_ptr< SimpleQueue< int > > job_queue_
 
std::vector< std::thread > workers_
 
int num_workers_
 
int remaining_ops_
 
bool success_
 
std::atomic< bool > caught_exception_yet_
 
int iter_
 
std::mutex remaining_ops_mutex_
 
std::condition_variable cv_
 
std::mutex run_in_progress_
 
std::vector< DAGNetStatsstats_
 
std::unordered_map< int, std::unique_ptr< Timer > > task_timers_
 
- Protected Attributes inherited from caffe2::NetBase
vector< string > external_input_
 
vector< string > external_output_
 
string name_
 
vector< const Event * > events_
 
std::shared_ptr< const NetDef > net_def_
 
- Protected Attributes inherited from caffe2::Observable< NetBase >
std::vector< std::unique_ptr< Observer > > observers_list_
 

Additional Inherited Members

- Public Types inherited from caffe2::Observable< NetBase >
using Observer = ObserverBase< NetBase >
 

Detailed Description

Definition at line 28 of file net_dag.h.

Member Function Documentation

vector< float > caffe2::DAGNetBase::TEST_Benchmark ( const int  ,
const int  ,
const bool   
)
overridevirtual

Benchmarks a network.

This function returns a vector of float recording the number of milli- seconds spent during the benchmark. The 0-th item is the time spent per each network run, and if a net instantiation supports run_individual, the remainder of the vector returns the number of milliseconds spent per opeartor.

Reimplemented from caffe2::NetBase.

Definition at line 299 of file net_dag.cc.


The documentation for this class was generated from the following files: