def bind(self, graph, reset=True, initialize=True):
if reset:<EOL><INDENT>for k in self._input_shapes:<EOL><INDENT>self._input_shapes[k] = None<EOL><DEDENT>for k in self._output_shapes:<EOL><INDENT>self._output_shapes[k] = None<EOL><DEDENT><DEDENT>self.resolve_inputs(graph.layers)<EOL>self.resolve_outputs()<EOL>self.activate = activations.build(<EOL>self.kwargs.get('<STR_LIT>', '<STR_LIT:relu>'), self)<EOL>if initialize:<EOL><INDENT>self.setup()<EOL><DEDENT>self.log()<EOL>
Bind this layer into a computation graph.

        This method is a wrapper for performing common initialization tasks. It
        calls :func:`resolve`, :func:`setup`, and :func:`log`.

        Parameters
        ----------
        graph : :class:`Network <theanets.graph.Network>`
            A computation network in which this layer is to be bound.
        reset : bool, optional
            If ``True`` (the default), reset the resolved layers for this layer.
        initialize : bool, optional
            If ``True`` (the default), initialize the parameters for this layer
            by calling :func:`setup`.

        Raises
        ------
        theanets.util.ConfigurationError :
            If an input cannot be resolved.