Example #1
0
    def _mean_visibles(self, h):
        """Computes the probabilities P(v=1|h).

        Parameters
        ----------
        h : array-like, shape (n_samples, n_components)
            Values of the hidden layer to sample from.

        Returns
        -------
        v : array-like, shape (n_samples, n_features)
            Values of the visible layer.
        """
        p = op.dot(h, self.W, False, False)
        p = op.add_matvec(p, self.bv, out=p)
        return op.sigmoid(p, out=p)
Example #2
0
File: rbm.py Project: stachon/binet
    def _mean_hiddens(self, v):
        """Computes the probabilities P(h=1|v).

        Parameters
        ----------
        v : array-like, shape (n_samples, n_features)
            Values of the visible layer.

        Returns
        -------
        h : array-like, shape (n_samples, n_components)
            Corresponding mean field values for the hidden layer.
        """
        p = op.dot(v, self.W, False, True)
        p = op.add_matvec(p, self.bh, out=p)
        return op.sigmoid(p, out=p)
Example #3
0
File: rbm.py Project: stachon/binet
    def _mean_visibles(self, h):
        """Computes the probabilities P(v=1|h).

        Parameters
        ----------
        h : array-like, shape (n_samples, n_components)
            Values of the hidden layer to sample from.

        Returns
        -------
        v : array-like, shape (n_samples, n_features)
            Values of the visible layer.
        """
        p = op.dot(h, self.W, False, False)
        p = op.add_matvec(p, self.bv, out=p)
        return op.sigmoid(p, out=p)
Example #4
0
    def _mean_hiddens(self, v):
        """Computes the probabilities P(h=1|v).

        Parameters
        ----------
        v : array-like, shape (n_samples, n_features)
            Values of the visible layer.

        Returns
        -------
        h : array-like, shape (n_samples, n_components)
            Corresponding mean field values for the hidden layer.
        """
        p = op.dot(v, self.W, False, True)
        p = op.add_matvec(p, self.bh, out=p)
        return op.sigmoid(p, out=p)
Example #5
0
def test_nan_in_toplayer_delta():
    size = (200, 10)
    X = np.random.normal(size=size).astype(np.float32, order="c")
    A = op.sigmoid(X)
    Y = np.random.binomial(1.0, p=0.5, size=size).astype(np.float32)
    M = np.random.binomial(1.0, p=0.9, size=size).astype(np.float32)
    Y[~M.astype(np.bool)] = np.nan
    Y_orig = Y.copy()
    D = M * (A - Y)
    D[~M.astype(np.bool)] = 0.0

    Y = op.toplayer_delta(A, Y, X)
    assert_allclose(Y, D)

    Yd = op.to_gpu(Y_orig)
    Ad = op.to_gpu(A)
    Xd = op.to_gpu(X)
    Yd = op.toplayer_delta(Ad, Yd, Xd)
    assert_allclose(Yd.get(), D)
Example #6
0
def test_nan_in_toplayer_delta():
    size = (200, 10)
    X = np.random.normal(size=size).astype(np.float32, order="c")
    A = op.sigmoid(X)
    Y = np.random.binomial(1.0, p=0.5, size=size).astype(np.float32)
    M = np.random.binomial(1.0, p=0.9, size=size).astype(np.float32)
    Y[~M.astype(np.bool)] = np.nan
    Y_orig = Y.copy()
    D = M * (A - Y)
    D[~M.astype(np.bool)] = 0.0

    Y = op.toplayer_delta(A, Y, X)
    assert_allclose(Y, D)

    Yd = op.to_gpu(Y_orig)
    Ad = op.to_gpu(A)
    Xd = op.to_gpu(X)
    Yd = op.toplayer_delta(Ad, Yd, Xd)
    assert_allclose(Yd.get(), D)