1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
2 // source: tensorflow/stream_executor/dnn.proto
3 
4 module stream_executor.dnn.dnn;
5 
6 import google.protobuf;
7 
8 enum protocVersion = 3012004;
9 
10 class TensorDescriptorProto
11 {
12     @Proto(1, Wire.none, Yes.packed) long[] dimensions = protoDefaultValue!(long[]);
13     @Proto(2) DataType dataType = protoDefaultValue!(DataType);
14     enum LayoutOneofCase
15     {
16         layoutOneofNotSet = 0,
17         dataLayout = 3,
18         filterLayout = 4,
19     }
20     LayoutOneofCase _layoutOneofCase = LayoutOneofCase.layoutOneofNotSet;
21     @property LayoutOneofCase layoutOneofCase() { return _layoutOneofCase; }
22     void clearLayoutOneof() { _layoutOneofCase = LayoutOneofCase.layoutOneofNotSet; }
23     @Oneof("_layoutOneofCase") union
24     {
25         @Proto(3) DataLayout _dataLayout = protoDefaultValue!(DataLayout); mixin(oneofAccessors!_dataLayout);
26         @Proto(4) FilterLayout _filterLayout; mixin(oneofAccessors!_filterLayout);
27     }
28 }
29 
30 class AlgorithmProto
31 {
32     @Proto(1) long algoId = protoDefaultValue!(long);
33     @Proto(2) MathType mathType = protoDefaultValue!(MathType);
34 
35     enum MathType
36     {
37         DEFAULT_MATH = 0,
38         TENSOR_OP_MATH = 1,
39     }
40 }
41 
42 class ConvolutionDescriptorProto
43 {
44     @Proto(1, Wire.none, Yes.packed) long[] paddings = protoDefaultValue!(long[]);
45     @Proto(2, Wire.none, Yes.packed) long[] strides = protoDefaultValue!(long[]);
46     @Proto(3, Wire.none, Yes.packed) long[] dilations = protoDefaultValue!(long[]);
47     @Proto(4) DataType computeMode = protoDefaultValue!(DataType);
48     @Proto(5) int groupCount = protoDefaultValue!(int);
49     @Proto(6) ConvolutionMode convolutionMode = protoDefaultValue!(ConvolutionMode);
50     @Proto(7) string name = protoDefaultValue!(string);
51 }
52 
53 enum DataType
54 {
55     kFloat = 0,
56     kDouble = 1,
57     kHalf = 2,
58     kInt8 = 3,
59     kInt32 = 4,
60 }
61 
62 enum DataLayout
63 {
64     kYXDepthBatch = 0,
65     kYXBatchDepth = 1,
66     kBatchYXDepth = 2,
67     kBatchDepthYX = 3,
68     kBatchDepthYX4 = 4,
69 }
70 
71 enum FilterLayout
72 {
73     kOutputInputYX = 0,
74     kOutputYXInput = 1,
75     kOutputInputYX4 = 2,
76     kInputYXOutput = 3,
77     kYXInputOutput = 4,
78 }
79 
80 enum ActivationMode
81 {
82     kNone = 0,
83     kSigmoid = 1,
84     kRelu = 2,
85     kRelu6 = 3,
86     kReluX = 4,
87     kTanh = 5,
88     kBandPass = 6,
89 }
90 
91 enum ConvolutionMode
92 {
93     CROSS_CORRELATION = 0,
94     CONVOLUTION = 1,
95 }
96 
97 enum ConvolutionKind
98 {
99     INVALID = 0,
100     FORWARD = 1,
101     BACKWARD_FILTER = 2,
102     BACKWARD_DATA = 3,
103     FORWARD_BIAS_ACTIVATION = 4,
104 }