@@ -95,7 +95,8 @@ class LeakyReLUOp : public Operator {
95
95
}
96
96
switch (param_.act_type ) {
97
97
case leakyrelu::kLeakyReLU : {
98
- Assign (out, req[leakyrelu::kOut ], F<mshadow_op::xelu>(data, param_.slope ));
98
+ ScalarExp<DType> slope = ScalarExp<DType>(param_.slope );
99
+ Assign (out, req[leakyrelu::kOut ], F<mshadow_op::xelu>(data, slope));
99
100
break ;
100
101
}
101
102
case leakyrelu::kPReLU : {
@@ -111,13 +112,14 @@ class LeakyReLUOp : public Operator {
111
112
mask = mask * (param_.upper_bound - param_.lower_bound ) + param_.lower_bound ;
112
113
Assign (out, req[leakyrelu::kOut ], F<mshadow_op::xelu>(data, mask));
113
114
} else {
114
- const float slope = ( param_.lower_bound + param_.upper_bound ) / 2 .0f ;
115
+ ScalarExp<DType> slope = ScalarExp<DType>(( param_.lower_bound + param_.upper_bound ) / 2 .0f ) ;
115
116
Assign (out, req[leakyrelu::kOut ], F<mshadow_op::xelu>(data, slope));
116
117
}
117
118
break ;
118
119
}
119
120
case leakyrelu::kELU : {
120
- Assign (out, req[leakyrelu::kOut ], F<mshadow_op::elu>(data, param_.slope ));
121
+ const DType slope = DType (param_.slope );
122
+ Assign (out, req[leakyrelu::kOut ], F<mshadow_op::elu>(data, slope));
121
123
break ;
122
124
}
123
125
default :
@@ -171,7 +173,8 @@ class LeakyReLUOp : public Operator {
171
173
}
172
174
switch (param_.act_type ) {
173
175
case leakyrelu::kLeakyReLU : {
174
- Assign (gdata, req[leakyrelu::kData ], F<mshadow_op::xelu_grad>(output, param_.slope ) * grad);
176
+ ScalarExp<DType> slope = ScalarExp<DType>(param_.slope );
177
+ Assign (gdata, req[leakyrelu::kData ], F<mshadow_op::xelu_grad>(output, slope) * grad);
175
178
break ;
176
179
}
177
180
case leakyrelu::kPReLU : {
@@ -186,7 +189,8 @@ class LeakyReLUOp : public Operator {
186
189
break ;
187
190
}
188
191
case leakyrelu::kELU : {
189
- Assign (gdata, req[leakyrelu::kData ], F<mshadow_op::elu_grad>(output, param_.slope ) * grad);
192
+ ScalarExp<DType> slope = ScalarExp<DType>(param_.slope );
193
+ Assign (gdata, req[leakyrelu::kData ], F<mshadow_op::elu_grad>(output, slope) * grad);
190
194
break ;
191
195
}
192
196
default :
0 commit comments