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

Class CircularOnlineFlowNode


CircularOnlineFlowNode wraps a CircularOnlineFlow of OnlineNodes into a single OnlineNode.

This is handy if you want to use a CircularOnlineFlow where an OnlineNode is required.

Once the node is initialized, the _flow_iterations and the _ignore_input values of a CircularOnlineFlow
cannot be changed. However, the stored_input can be changed (or set) using 'set_stored_input' method.

All the read-only container slots are supported and are forwarded to the internal flow.

Instance Methods [hide private]
 
__init__(self, flow, input_dim=None, output_dim=None, dtype=None, numx_rng=None)
Wrap the given flow into this node.
 
_get_train_seq(self)
Return a training sequence containing all training phases.
 
_set_numx_rng(self, rng)
 
_set_training_type_from_flow(self, flow)
 
get_stored_input(self)
Returns the stored input.
 
set_stored_input(self, x)
Sets the stored input.
 
set_training_type(self, training_type)
Sets the training type

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 FlowNode
 
__contains__(self, item)
 
__getitem__(self, key)
 
__iter__(self)
 
__len__(self)
 
_execute(self, x, *args, **kwargs)
 
_fix_nodes_dimensions(self)
Try to fix the dimensions of the internal nodes.
 
_get_supported_dtypes(self)
Return the list of dtypes supported by this node.
 
_inverse(self, x)
 
_set_dtype(self, t)
 
_set_input_dim(self, n)
 
_set_output_dim(self, n)
 
copy(self, protocol=None)
Return a copy of this node.
 
execute(self, x, *args, **kwargs)
Process the data contained in `x`.
 
inverse(self, x)
Invert `y`.
 
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.
    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_execution_checks(self, x)
This method contains all pre-execution checks. It can be used when a subclass defines multiple execution methods.
 
_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.
 
stop_training(self, *args, **kwargs)
Stop the training phase.
 
train(self, x, *args, **kwargs)
Update the internal structures according to the input data x.
    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.
 
_stop_training(self, *args, **kwargs)
 
_train(self, x)
 
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]
 
_check_compatibility(flow)
Properties [hide private]

Inherited from object: __class__

    Inherited from FlowNode
  flow
Read-only internal flow property.
    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, flow, input_dim=None, output_dim=None, dtype=None, numx_rng=None)
(Constructor)

 
Wrap the given flow into this node.

Pretrained nodes are allowed, but the internal flow should not
be modified after the FlowNode was created (this will cause problems
if the training phase structure of the internal nodes changes).

If the node dimensions and dtype are not specified, they will be
extracted from the internal nodes (late dimension setting is also
supported).

flow can have crash recovery enabled, but there is no special support
for it.

Overrides: object.__init__
(inherited documentation)

_check_compatibility(flow)
Static Method

 

_get_train_seq(self)

 
Return a training sequence containing all training phases.

There are three possible train_seqs depending on the values of self._ignore_input
and self._flow_iterations.

1) self._ignore_input = False, self._flow_iterations = 1
    This is functionally similar to the standard OnlineFlowNode.

2) self._ignore_input = False, self._flow_iterations > 1
    For each data point, the OnlineFlowNode trains 1 loop with the
    data point and 'self._flow_iterations-1' loops with the updating stored input.

3) self._ignore_input = True, self._flow_iterations > 1
    Input data is ignored, however, for each data point, the flow trains
    'self._flow_iterations' loops with the updating stored input.

Overrides: Node._get_train_seq

_set_numx_rng(self, rng)

 
Overrides: OnlineNode._set_numx_rng

_set_training_type_from_flow(self, flow)

 

get_stored_input(self)

 
Returns the stored input.

set_stored_input(self, x)

 
Sets the stored input.

set_training_type(self, training_type)

 
Sets the training type

Overrides: OnlineNode.set_training_type