import simple
import theanode
import combine
import containers
import activations
import downsample
import updates
import costs
import stochastic
import scan
import composite
import hyperparameter
import recurrent
import monitor
import debug
import toy
import test_utils

from simple import (ReferenceNode,
                    SendToNode,
                    HyperparameterNode,
                    InputNode,
                    IdentityNode,
                    ConstantNode,
                    AddBiasNode,
                    LinearMappingNode,
                    ApplyNode,
                    AddConstantNode,
                    MultiplyConstantNode)
from theanode import (TileNode,
                      ToOneHotNode,
                      ReshapeNode,
                      GradientReversalNode)
from combine import (BaseChildrenCombineNode,
                     BaseInputCombineNode,
                     InputFunctionCombineNode,
                     ConcatenateNode,
                     ElementwiseSumNode,
                     InputElementwiseSumNode,
                     ElementwiseProductNode)
from containers import (SequentialNode,
                        ContainerNode,
                        AuxiliaryNode)
from activations import (BaseActivationNode,
                         ReLUNode,
                         TanhNode,
                         ScaledTanhNode,
                         SigmoidNode,
                         SoftmaxNode,
                         StableSoftmaxNode,
                         ReSQRTNode,
                         AbsNode,
                         LeakyReLUNode,
                         VeryLeakyReLUNode)
from downsample import (FeaturePoolNode,
                        MaxoutNode,
                        Pool2DNode,
                        MeanPool2DNode,
                        GlobalPoolNode)
from updates import (UpdateScaleNode,
                     StandardUpdatesNode,
                     SGDNode,
                     NesterovMomentumNode,
                     NAGNode,
                     WeightDecayNode,
                     AdamNode,
                     AdaMaxNode)
from costs import (AggregatorNode,
                   ElementwiseCostNode,
                   TotalCostNode,
                   AuxiliaryCostNode)
from stochastic import (DropoutNode,
                        GaussianDropoutNode,
                        SpatialDropoutNode)
from composite import (DenseNode,
                       DenseCombineNode)
from hyperparameter import (VariableHyperparameterNode,
                            OutputHyperparameterNode)
from monitor import (MonitorVarianceNode)
from debug import (PrintNode)

from test_utils import check_serialization

@@ -2529,32 +2529,86 @@
 rparameterNode,%0A
+                            SharedHyperparameterNode,%0A
                 

add shared hyperparameter node