pgl.utils.paddle_helper module: Some helper function for Paddle.¶
paddle_helper package contain some simple function to help building paddle models.
-
pgl.utils.paddle_helper.
constant
(name, value, dtype, hide_batch_size=True)[source]¶ Create constant variable with given data.
This function helps to create constants variable with given numpy.ndarray data.
- Parameters
name – variable name
value – numpy.ndarray the value of constant
dtype – the type of constant
hide_batch_size – If set the first dimenstion as unknown, the explicit batch size may cause some error in paddle. For example, when the value has a shape of (batch_size, dim1, dim2), it will return a variable with shape (-1, dim1, dim2).
- Returns
A tuple contain the constant variable and the constant variable initialize function.
Examples
import paddle.fluid as fluid place = fluid.CPUPlace() exe = fluid.Executor(place) constant_var, constant_var_init = constant(name="constant", value=np.array([5.0], dtype="float32")) exe.run(fluid.default_startup_program()) # Run After default startup constant_var_init(place)
-
pgl.utils.paddle_helper.
ensure_dtype
(input, dtype)[source]¶ If input is dtype, return input
else cast input into dtype
- Parameters
input – Input tensor
dtype – a string of type
- Returns
If input is dtype, return input, else cast input into dtype
-
pgl.utils.paddle_helper.
gather
(input, index)[source]¶ Gather input from given index.
Slicing input data with given index. This function rewrite paddle.L.gather to fix issue: https://github.com/PaddlePaddle/Paddle/issues/17509 when paddlepaddle’s version is less than 1.5.
- Parameters
input – Input tensor to be sliced
index – Slice index
- Returns
A tensor that are sliced from given input data.
-
pgl.utils.paddle_helper.
lod_constant
(name, value, lod, dtype)[source]¶ Create constant lod variable with given data,
This function helps to create constants lod variable with given numpy.ndarray data and lod information.
- Parameters
name – variable name
value – numpy.ndarray the value of constant
dtype – the type of constant
lod – lod infos of given value.
- Returns
A tuple contain the constant variable and the constant variable initialize function.
Examples
import paddle.fluid as fluid place = fluid.CPUPlace() exe = fluid.Executor(place) constant_var, constant_var_init = lod_constant(name="constant", value=np.array([[5.0], [1.0], [2.0]], lod=[2, 1], dtype="float32")) exe.run(fluid.default_startup_program()) # Run After default startup constant_var_init(place)
-
pgl.utils.paddle_helper.
lod_remove
(input)[source]¶ Lod Remove
Remove the lod for LodTensor and Flatten the data into 1D-Tensor.
- Parameters
input – A tensor to be flattend
- Returns
A 1D input
-
pgl.utils.paddle_helper.
masked_select
(input, mask)[source]¶ Slice the value from given Mask
- Parameters
input – Input tensor to be selected
mask – A bool tensor for sliced.
- Returns
Part of inputs where mask is True.
-
pgl.utils.paddle_helper.
scatter_add
(input, index, updates)[source]¶ Scatter add updates to input by given index.
Adds sparse updates to input variables.
- Parameters
input – Input tensor to be updated
index – Slice index
updates – Must have same type as input.
- Returns
Same type and shape as input.
-
pgl.utils.paddle_helper.
scatter_max
(input, index, updates)[source]¶ Scatter max updates to input by given index.
Adds sparse updates to input variables.
- Parameters
input – Input tensor to be updated
index – Slice index
updates – Must have same type as input.
- Returns
Same type and shape as input.
-
pgl.utils.paddle_helper.
sequence_softmax
(x, beta=None)[source]¶ Compute sequence softmax over paddle LodTensor
This function compute softmax normalization along with the length of sequence. This function is an extention of
L.sequence_softmax
which can only deal with LodTensor whose last dimension is 1.- Parameters
x – The input variable which is a LodTensor.
beta – Inverse Temperature
- Returns
Output of sequence_softmax