未验证 提交 d734316d 编写于 作者: Y Yibing Liu 提交者: GitHub

Add fp16 support in squeeze & assign api (#22912)

test=release/1.7
上级 4ac2729c
...@@ -5712,7 +5712,7 @@ def squeeze(input, axes, name=None): ...@@ -5712,7 +5712,7 @@ def squeeze(input, axes, name=None):
Out.shape = [1,3,5] Out.shape = [1,3,5]
Args: Args:
input (Variable): The input Tensor. Support data type: float32, float64, int8, int32, int64. input (Variable): The input Tensor. Support data type: float16, float32, float64, int8, int32, int64.
axes (list): One integer or List of integers, indicating the dimensions to be squeezed. axes (list): One integer or List of integers, indicating the dimensions to be squeezed.
Axes range is :math:`[-rank(input), rank(input))`. Axes range is :math:`[-rank(input), rank(input))`.
If axes is negative, :math:`axes=axes+rank(input)`. If axes is negative, :math:`axes=axes+rank(input)`.
...@@ -5732,9 +5732,9 @@ def squeeze(input, axes, name=None): ...@@ -5732,9 +5732,9 @@ def squeeze(input, axes, name=None):
""" """
helper = LayerHelper("squeeze", **locals()) helper = LayerHelper("squeeze", **locals())
check_type_and_dtype(input, 'input', Variable, check_type_and_dtype(
['float32', 'float64', 'int8', 'int32', 'int64'], input, 'input', Variable,
'squeeze') ['float16', 'float32', 'float64', 'int8', 'int32', 'int64'], 'squeeze')
check_type(axes, 'axes', list, 'squeeze') check_type(axes, 'axes', list, 'squeeze')
out = helper.create_variable_for_type_inference(dtype=input.dtype) out = helper.create_variable_for_type_inference(dtype=input.dtype)
x_shape = helper.create_variable_for_type_inference(dtype=input.dtype) x_shape = helper.create_variable_for_type_inference(dtype=input.dtype)
......
...@@ -448,7 +448,7 @@ def assign(input, output=None): ...@@ -448,7 +448,7 @@ def assign(input, output=None):
Parameters: Parameters:
input (Variable|numpy.ndarray): A tensor or numpy ndarray, its data type supports input (Variable|numpy.ndarray): A tensor or numpy ndarray, its data type supports
float32, float64, int32 and int64. float16, float32, float64, int32 and int64.
output (Variable, optional): A tensor. If :attr:`output` is None, a new tensor will output (Variable, optional): A tensor. If :attr:`output` is None, a new tensor will
be created as :attr:`output`. Default: None. be created as :attr:`output`. Default: None.
...@@ -469,9 +469,10 @@ def assign(input, output=None): ...@@ -469,9 +469,10 @@ def assign(input, output=None):
helper = LayerHelper('assign', **locals()) helper = LayerHelper('assign', **locals())
check_type(input, 'input', (Variable, numpy.ndarray), 'assign') check_type(input, 'input', (Variable, numpy.ndarray), 'assign')
if isinstance(input, Variable): if isinstance(input, Variable):
check_dtype(input.dtype, 'input', check_dtype(
['float32', 'float64', 'int32', 'int64', 'bool'], 'assign', input.dtype, 'input',
'(When the type of input in assign is Variable.)') ['float16', 'float32', 'float64', 'int32', 'int64', 'bool'],
'assign', '(When the type of input in assign is Variable.)')
if output is None: if output is None:
output = helper.create_variable_for_type_inference( output = helper.create_variable_for_type_inference(
dtype=input.dtype) dtype=input.dtype)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册