@@ -32,6 +32,63 @@ void RegisterContribSchemas() {
3232Sample echo operator.)DOC" );
3333
3434 // register schemas for more operators here
35+ ONNX_CONTRIB_OPERATOR_SCHEMA (ConvMaxPool)
36+ .SetDomain (kMSDomain )
37+ .SinceVersion (1 )
38+ .SetDoc (R"DOC(
39+ Port Conv1D::ComputeConvMaxPoolWithActivationAndMask() method in TP3L1 c++ model.)DOC" )
40+ .Attr (
41+ " auto_pad" ,
42+ " " ,
43+ AttributeProto::STRING,
44+ std::string (" NOTSET" ))
45+ .Attr (
46+ " kernel_shape" ,
47+ " " ,
48+ AttributeProto::INTS,
49+ OPTIONAL)
50+ .Attr (
51+ " dilations" ,
52+ " " ,
53+ AttributeProto::INTS,
54+ OPTIONAL)
55+ .Attr (
56+ " strides" , " " , AttributeProto::INTS, OPTIONAL)
57+ .Attr (" pads" ,
58+ " " ,
59+ AttributeProto::INTS, OPTIONAL)
60+ .Attr (
61+ " group" ,
62+ " " ,
63+ AttributeProto::INT,
64+ static_cast <int64_t >(1 ))
65+ .Attr (
66+ " activation" ,
67+ " " ,
68+ AttributeProto::STRING,
69+ OPTIONAL)
70+ .Input (
71+ 0 ,
72+ " X" ,
73+ " " ,
74+ " T" )
75+ .Input (
76+ 1 ,
77+ " W" ,
78+ " " ,
79+ " T" )
80+ .Input (2 , " B" , " " , " T" , OpSchema::Optional)
81+ .Input (3 , " M" , " mask" , " T" , OpSchema::Optional)
82+ .Output (
83+ 0 ,
84+ " Y" ,
85+ " " ,
86+ " T" )
87+ .TypeConstraint (" T" , {" tensor(float16)" , " tensor(float)" , " tensor(double)" }, " Constrain input and output types to float tensors" )
88+ .TypeAndShapeInferenceFunction ([](ONNX_NAMESPACE::InferenceContext& ctx) {
89+ ONNX_NAMESPACE::convPoolTypeAndShapeInference (ctx, false , true );
90+ });
91+
3592 ONNX_CONTRIB_OPERATOR_SCHEMA (FusedConv)
3693 .SetDomain (kMSDomain )
3794 .SinceVersion (1 )
@@ -68,6 +125,11 @@ activation.)DOC")
68125 " " ,
69126 AttributeProto::STRING,
70127 OPTIONAL)
128+ .Attr (
129+ " alpha" ,
130+ " " ,
131+ AttributeProto::FLOAT,
132+ OPTIONAL)
71133 .Input (
72134 0 ,
73135 " X" ,
0 commit comments