5
// A few notes about the Caffe2's protobuffer convention:
6
// (1) Most objects are registered by their types, such as operators and nets.
7
// For these, we have a string-type field "type" for registration purposes.
8
// (2) We do not use extension because that used to create quite some conflicts
9
// in Caffe's protobuf design.
10
// (3) We have not used any proto3 specific features, such as Any or Map. This
11
// is mainly for backward compatibility purposes but we may consider using
12
// those in the future.
14
// A two number summary for a value. It also has count for restoring.
15
message TwoNumberStatsProto {
16
optional float mean = 1;
17
optional float stddev = 2;
18
optional int64 count = 3;
21
// Blob profiling information. Profile for a blob is created every time
22
// a node outputs to the blob.
24
// Name of the blob (corresponds to OperatorDef.output).
25
optional string name = 1; // required
27
// Profiling statistics.
28
optional TwoNumberStatsProto bytes_used = 3;
31
// Protobuf format to serialize profiler data.
33
// The name for the operator
34
required string name = 1;
35
// The mean execution time
36
required float mean = 2;
37
// The standard deviation
38
required float stddev = 3;
40
// New field to represent the numbers above, and with count.
41
optional TwoNumberStatsProto execution_time = 4;
43
// Blob profiles that this node outputs.
44
repeated BlobProfile output_profile = 5;
46
// The extra_info from the operator device option.
47
repeated string extra_info = 7;
50
// Operator profiling information.
52
// Note: The indices for elements of 'stats' and the indices of
53
// 'output_profile' inside each 'stats' are assumed to match the
54
// indices of 'op' elements of a corresponding NetDef and the 'output'
55
// indices within each 'op'.
56
message ProfDAGProtos {
57
repeated ProfDAGProto stats = 1;
58
optional string net_name = 2;
59
repeated OpProfile ops_stats = 3;
62
// Represents specification of an operation cost.
64
optional string idx = 1;
65
optional string net_name = 2;
66
optional string type = 3;
67
optional float exec_time_secs = 4;