hardsigmoid add attr slope and offset (#29999)

revert-31562-mean
zhupengyang 4 years ago committed by GitHub
parent c053bf2a57
commit 65d4ff753b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -252,7 +252,7 @@ def hardtanh(x, min=-1.0, max=1.0, name=None):
return out
def hardsigmoid(x, name=None):
def hardsigmoid(x, slope=0.1666667, offset=0.5, name=None):
r"""
hardsigmoid activation.
@ -266,12 +266,14 @@ def hardsigmoid(x, name=None):
\\begin{aligned}
&0, & & \\text{if } x \\leq -3 \\\\
&1, & & \\text{if } x \\geq 3 \\\\
&x/6 + 1/2, & & \\text{otherwise}
&slope * x + offset, & & \\text{otherwise}
\\end{aligned}
\\right.
Parameters:
x (Tensor): The input Tensor with data type float32, float64.
slope (float, optional): The slope of hardsigmoid function. Default is 0.1666667.
offset (float, optional): The offset of hardsigmoid function. Default is 0.5.
name (str, optional): Name for the operation (optional, default is None).
For more information, please refer to :ref:`api_guide_Name`.
@ -289,8 +291,7 @@ def hardsigmoid(x, name=None):
"""
if in_dygraph_mode():
return core.ops.hard_sigmoid(x, 'slope', 0.1666666666666667, 'offset',
0.5)
return core.ops.hard_sigmoid(x, 'slope', slope, 'offset', offset)
check_variable_and_dtype(x, 'x', ['float16', 'float32', 'float64'],
'hardsigmoid')
@ -301,8 +302,8 @@ def hardsigmoid(x, name=None):
type='hard_sigmoid',
inputs={'X': x},
outputs={'Out': out},
attrs={'slope': 0.1666666666666667,
'offset': 0.5})
attrs={'slope': slope,
'offset': offset})
return out

@ -611,7 +611,7 @@ class Hardsigmoid(layers.Layer):
self.name = name
def forward(self, x):
return F.hardsigmoid(x, self.name)
return F.hardsigmoid(x, name=self.name)
class Softplus(layers.Layer):

Loading…
Cancel
Save