gluon.Constant¶
-
class
Constant
(value)[source]¶ Bases:
mxnet.gluon.parameter.Parameter
A constant parameter for holding immutable tensors. Constant`s are ignored by `autograd and Trainer, thus their values will not change during training. But you can still update their values manually with the set_data method.
Constant s can be created with either:
const = mx.gluon.Constant([[1,2],[3,4]])
Methods
cast
(dtype)Cast data and gradient of this Parameter to a new data type.
data
([device])Returns a copy of this parameter on one device.
grad
([device])Returns a gradient buffer for this parameter on one device.
initialize
([init, device, default_init, …])Initializes parameter and gradient arrays.
list_ctx
()This function has been deprecated.
Returns copies of this parameter on all devices, in the same order as creation.
Returns a list of devices this parameter is initialized on.
Returns gradient buffers on all devices, in the same order as
values()
.list_row_sparse_data
(row_id)Returns copies of the ‘row_sparse’ parameter on all devices, in the same order as creation.
reset_ctx
(ctx)This function has been deprecated.
reset_device
(device)Re-assign Parameter to other devices.
row_sparse_data
(row_id)Returns a copy of the ‘row_sparse’ parameter on the same device as row_id’s.
set_data
(data)Sets this parameter’s value on all devices.
var
()Returns a symbol representing this parameter.
Sets gradient buffer on all devices to 0.
Attributes
The type of the parameter.
The shape of the parameter.
or:
class Block(gluon.Block): def __init__(self, **kwargs): super(Block, self).__init__(**kwargs) self.const = mx.gluon.Constant([[1,2],[3,4]])
- Parameters
value (array-like) – Initial value for the constant.
-
cast
(dtype)¶ Cast data and gradient of this Parameter to a new data type.
- Parameters
dtype (str or numpy.dtype) – The new data type.
-
data
(device=None)¶ Returns a copy of this parameter on one device. Must have been initialized on this device before. For sparse parameters, use
Parameter.row_sparse_data()
instead.- Parameters
device (Device) – Desired device.
- Returns
- Return type
NDArray on device
-
property
dtype
¶ The type of the parameter.
Setting the dtype value is equivalent to casting the value of the parameter
-
grad
(device=None)¶ Returns a gradient buffer for this parameter on one device.
- Parameters
device (Device) – Desired device.
-
initialize
(init=None, device=None, default_init=<mxnet.initializer.Uniform object>, force_reinit=False)¶ Initializes parameter and gradient arrays. Only used for
NDArray
API.- Parameters
init (Initializer) – The initializer to use. Overrides
Parameter.init()
and default_init.device (Device or list of Device, default
device.current_device()
.) –Assign Parameter to given device. If device is a list of Device, a copy will be made for each device.
Note
Copies are independent arrays. User is responsible for keeping their values consistent when updating. Normally
gluon.Trainer
does this for you.default_init (Initializer) – Default initializer is used when both
init()
andParameter.init()
areNone
.force_reinit (bool, default False) – Whether to force re-initialization if parameter is already initialized.
Examples
>>> weight = mx.gluon.Parameter('weight', shape=(2, 2)) >>> weight.initialize(device=mx.cpu(0)) >>> weight.data() [[-0.01068833 0.01729892] [ 0.02042518 -0.01618656]] <NDArray 2x2 @cpu(0)> >>> weight.grad() [[ 0. 0.] [ 0. 0.]] <NDArray 2x2 @cpu(0)> >>> weight.initialize(device=[mx.gpu(0), mx.gpu(1)]) >>> weight.data(mx.gpu(0)) [[-0.00873779 -0.02834515] [ 0.05484822 -0.06206018]] <NDArray 2x2 @gpu(0)> >>> weight.data(mx.gpu(1)) [[-0.00873779 -0.02834515] [ 0.05484822 -0.06206018]] <NDArray 2x2 @gpu(1)>
-
list_ctx
()¶ This function has been deprecated. Please refer to
Parameter.list_device
.
-
list_data
()¶ Returns copies of this parameter on all devices, in the same order as creation. For sparse parameters, use
Parameter.list_row_sparse_data()
instead.- Returns
- Return type
list of NDArrays
-
list_device
()¶ Returns a list of devices this parameter is initialized on.
-
list_grad
()¶ Returns gradient buffers on all devices, in the same order as
values()
.
-
list_row_sparse_data
(row_id)¶ Returns copies of the ‘row_sparse’ parameter on all devices, in the same order as creation. The copy only retains rows whose ids occur in provided row ids. The parameter must have been initialized before.
- Parameters
row_id (NDArray) – Row ids to retain for the ‘row_sparse’ parameter.
- Returns
- Return type
list of NDArrays
-
reset_ctx
(ctx)¶ This function has been deprecated. Please refer to
Parameter.reset_device
.
-
reset_device
(device)¶ Re-assign Parameter to other devices.
- Parameters
device (Device or list of Device, default
device.current_device()
.) – Assign Parameter to given device. If device is a list of Device, a copy will be made for each device.
-
row_sparse_data
(row_id)¶ Returns a copy of the ‘row_sparse’ parameter on the same device as row_id’s. The copy only retains rows whose ids occur in provided row ids. The parameter must have been initialized on this device before.
- Parameters
row_id (NDArray) – Row ids to retain for the ‘row_sparse’ parameter.
- Returns
- Return type
NDArray on row_id’s device
-
set_data
(data)¶ Sets this parameter’s value on all devices.
-
property
shape
¶ The shape of the parameter.
By default, an unknown dimension size is 0. However, when the NumPy semantic is turned on, unknown dimension size is -1.
-
var
()¶ Returns a symbol representing this parameter.
-
zero_grad
()¶ Sets gradient buffer on all devices to 0. No action is taken if parameter is uninitialized or doesn’t require gradient.