Blame view

3rdparty/opencv-4.5.4/modules/dnn/src/tensorflow/tensor.proto 2.24 KB
f4334277   Hu Chunming   提交3rdparty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
  syntax = "proto3";
  
  package opencv_tensorflow;
  option cc_enable_arenas = true;
  option java_outer_classname = "TensorProtos";
  option java_multiple_files = true;
  option java_package = "org.tensorflow.framework";
  
  import "tensor_shape.proto";
  import "types.proto";
  
  // Protocol buffer representing a tensor.
  message TensorProto {
    DataType dtype = 1;
  
    // Shape of the tensor.  TODO(touts): sort out the 0-rank issues.
    TensorShapeProto tensor_shape = 2;
  
    // Only one of the representations below is set, one of "tensor_contents" and
    // the "xxx_val" attributes.  We are not using oneof because as oneofs cannot
    // contain repeated fields it would require another extra set of messages.
  
    // Version number.
    //
    // In version 0, if the "repeated xxx" representations contain only one
    // element, that element is repeated to fill the shape.  This makes it easy
    // to represent a constant Tensor with a single value.
    int32 version_number = 3;
  
    // Serialized content from Tensor::AsProtoTensorContent(). This representation
    // can be used for all tensor types.
    bytes tensor_content = 4;
  
    // Type specific representations that make it easy to create tensor protos in
    // all languages.  Only the representation corresponding to "dtype" can
    // be set.  The values hold the flattened representation of the tensor in
    // row major order.
  
    // DT_HALF. Note that since protobuf has no int16 type, we'll have some
    // pointless zero padding for each value here.
    repeated int32 half_val = 13 [packed = true];
  
    // DT_FLOAT.
    repeated float float_val = 5 [packed = true];
  
    // DT_DOUBLE.
    repeated double double_val = 6 [packed = true];
  
    // DT_INT32, DT_INT16, DT_INT8, DT_UINT8.
    repeated int32 int_val = 7 [packed = true];
  
    // DT_STRING
    repeated bytes string_val = 8;
  
    // DT_COMPLEX64. scomplex_val(2*i) and scomplex_val(2*i+1) are real
    // and imaginary parts of i-th single precision complex.
    repeated float scomplex_val = 9 [packed = true];
  
    // DT_INT64
    repeated int64 int64_val = 10 [packed = true];
  
    // DT_BOOL
    repeated bool bool_val = 11 [packed = true];
  
    // DT_COMPLEX128. dcomplex_val(2*i) and dcomplex_val(2*i+1) are real
    // and imaginary parts of i-th double precision complex.
    repeated double dcomplex_val = 12 [packed = true];
  };