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)
- Protected Member Functions inherited from caffe2::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   

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

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