1 #include "observers/net_observer_reporter_print.h" 3 #include "caffe2/core/init.h" 4 #include "observers/observer_config.h" 9 bool registerGlobalPerfNetObserverReporter(
int* ,
char*** ) {
10 ObserverConfig::setReporter(make_unique<NetObserverReporterPrint>());
15 REGISTER_CAFFE2_EARLY_INIT_FUNCTION(
16 registerGlobalPerfNetObserverReporter,
17 ®isterGlobalPerfNetObserverReporter,
18 "Caffe2 print net observer reporter");
20 const std::string NetObserverReporterPrint::IDENTIFIER =
"Caffe2Observer ";
22 void NetObserverReporterPrint::reportDelay(
24 std::map<std::string, double>& delays,
26 CAFFE_ENFORCE(unit !=
nullptr,
"Unit is null");
27 LOG(INFO) << IDENTIFIER <<
"Net Name - " << net->Name();
28 LOG(INFO) << IDENTIFIER <<
"Delay Start";
29 for (
auto& p : delays) {
30 LOG(INFO) << IDENTIFIER << p.first <<
" - " << p.second <<
"\t(" << *unit
33 LOG(INFO) << IDENTIFIER <<
"Delay End";
A global dictionary that holds information about what Caffe2 modules have been loaded in the current ...