Package mdp :: Package hinet :: Class CloneOnlineLayer
[hide private]
[frames] | no frames]

Class CloneOnlineLayer


OnlineLayer with a single node instance that is used multiple times.

The same single node instance is used to build the layer, so
CloneOnlineLayer(node, 3) executes in the same way as OnlineLayer([node]*3).
But OnlineLayer([node]*3) would have a problem when closing a training phase,
so one has to use CloneOnlineLayer.

An CloneOnlineLayer can be used for weight sharing in the training phase, it might
be also useful for reducing the memory footprint use during the execution
phase (since only a single node instance is needed).

Instance Methods [hide private]
 
__init__(self, node, n_nodes=1, dtype=None, numx_rng=None)
Setup the layer with the given list of nodes.

Inherited from unreachable.newobject: __long__, __native__, __nonzero__, __unicode__, next

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __setattr__, __sizeof__, __subclasshook__

    Inherited from CloneLayer
 
_execute(self, x, *args, **kwargs)
Process the data through the internal nodes.
 
_inverse(self, x, *args, **kwargs)
Combine the inverse of all the internal nodes.
 
_stop_training(self, *args, **kwargs)
Stop training of the internal node.
 
execute(self, x, *args, **kwargs)
Process the data through the internal nodes.
 
inverse(self, x, *args, **kwargs)
Combine the inverse of all the internal nodes.
 
stop_training(self, *args, **kwargs)
Stop training of the internal node.
    Inherited from OnlineLayer
 
_check_compatibility(self, nodes)
 
_get_train_seq(self)
Return the train sequence.
 
_set_numx_rng(self, rng)
 
_set_training_type_from_nodes(self, nodes)
 
set_training_type(self, training_type)
Sets the training type
    Inherited from Layer
 
__contains__(self, item)
 
__getitem__(self, key)
 
__iter__(self)
 
__len__(self)
 
_check_props(self, dtype)
Check the compatibility of the properties of the internal nodes.
 
_get_output_dim_from_nodes(self)
Calculate the output_dim from the nodes and return it.
 
_get_supported_dtypes(self)
Return the list of dtypes supported by this node.
 
_pre_execution_checks(self, x)
Make sure that output_dim is set and then perform normal checks.
 
_set_dtype(self, t)
 
_train(self, x, *args, **kwargs)
Perform single training step by training the internal nodes.
 
is_invertible(self)
Return True if the node can be inverted, False otherwise.
 
is_trainable(self)
Return True if the node can be trained, False otherwise.
 
train(self, x, *args, **kwargs)
Perform single training step by training the internal nodes.
    Inherited from OnlineNode
 
__add__(self, other)
 
__repr__(self)
repr(x)
 
_check_input(self, x)
 
_check_params(self, x)
 
_get_supported_training_types(self)
Return the list of training types supported by this node.
 
_pre_inversion_checks(self, y)
This method contains all pre-inversion checks.
 
get_current_train_iteration(self)
Return the index of the current training iteration.
 
get_numx_rng(self)
Return input dimensions.
 
set_numx_rng(self, rng)
Set numx random number generator. Note that subclasses should overwrite self._set_numx_rng when needed.
    Inherited from Node
 
__call__(self, x, *args, **kwargs)
Calling an instance of Node is equivalent to calling its execute method.
 
__str__(self)
str(x)
 
_check_output(self, y)
 
_check_train_args(self, x, *args, **kwargs)
 
_if_training_stop_training(self)
 
_refcast(self, x)
Helper function to cast arrays to the internal dtype.
 
_set_input_dim(self, n)
 
_set_output_dim(self, n)
 
copy(self, protocol=None)
Return a deep copy of the node.
 
get_current_train_phase(self)
Return the index of the current training phase.
 
get_dtype(self)
Return dtype.
 
get_input_dim(self)
Return input dimensions.
 
get_output_dim(self)
Return output dimensions.
 
get_remaining_train_phase(self)
Return the number of training phases still to accomplish.
 
get_supported_dtypes(self)
Return dtypes supported by the node as a list of numpy.dtype objects.
 
has_multiple_training_phases(self)
Return True if the node has multiple training phases.
 
is_training(self)
Return True if the node is in the training phase, False otherwise.
 
save(self, filename, protocol=-1)
Save a pickled serialization of the node to filename. If filename is None, return a string.
 
set_dtype(self, t)
Set internal structures' dtype.
 
set_input_dim(self, n)
Set input dimensions.
 
set_output_dim(self, n)
Set output dimensions.
Static Methods [hide private]
    Inherited from OnlineLayer
 
_check_value_type_is_compatible(value)
Properties [hide private]

Inherited from object: __class__

    Inherited from OnlineNode
  _train_seq
List of tuples:
  numx_rng
Numpy seeded random number generator
  training_type
Training type (Read only)
    Inherited from Node
  dtype
dtype
  input_dim
Input dimensions
  output_dim
Output dimensions
  supported_dtypes
Supported dtypes
Method Details [hide private]

__init__(self, node, n_nodes=1, dtype=None, numx_rng=None)
(Constructor)

 
Setup the layer with the given list of nodes.

Keyword arguments:
node -- Node to be cloned.
n_nodes -- Number of repetitions/clones of the given node.

Overrides: object.__init__