Ejemplo n.º 1
0
    def test_apply_once(self):
        x = np.arange(3 * 4 * 5).reshape((3, 4, 5))

        np.testing.assert_array_almost_equal(dd.apply_once(np.std, x, [0, -1]),
                                             16.39105447 * np.ones((1, 4, 1)))

        x = np.arange(2 * 3).reshape((2, 3))
        np.testing.assert_array_equal(
            dd.apply_once(np.sum, x, 1, keepdims=False), np.array([3, 12]))
Ejemplo n.º 2
0
    def test_apply_once(self):
        x = np.arange(3 * 4 * 5).reshape((3, 4, 5))

        np.testing.assert_array_almost_equal(dd.apply_once(np.std, x, [0, -1]),
                                             16.39105447 * np.ones((1, 4, 1)))

        x = np.arange(2 * 3).reshape((2, 3))
        np.testing.assert_array_equal(dd.apply_once(np.sum, x, 1, keepdims=False),
                                      np.array([3, 12]))
Ejemplo n.º 3
0
    def predict_proba(self, X):
        X = X.reshape(-1, 3, 32, 32)
        #X = X.transpose(0, 2, 3, 1)
        prob = np.zeros((X.shape[0], self.n_classes_))

        M = 2500
        for k in range(int(np.ceil(X.shape[0] / M))):
            y = self.net_.forward_all(data=X[k * M:(k + 1) *
                                             M]).values()[0].squeeze(axis=(2,
                                                                           3))
            prob[k * M:(k + 1) * M] = y

        T = 30.0

        eps = 0.0001

        #prob = prob.clip(eps, 1-eps)

        log_prob = np.log(prob)
        print('log_prob', log_prob.min(), log_prob.max())
        #log_prob = log_prob.clip(min=-4, max=4)
        new_prob = np.exp(log_prob / T)
        new_prob /= dd.apply_once(np.sum, new_prob, [1])

        return new_prob
Ejemplo n.º 4
0
    def predict_proba(self, X):
        X = X.reshape(-1, 3, 32, 32)
        # X = X.transpose(0, 2, 3, 1)
        prob = np.zeros((X.shape[0], self.n_classes_))

        M = 2500
        for k in range(int(np.ceil(X.shape[0] / M))):
            y = self.net_.forward_all(data=X[k * M : (k + 1) * M]).values()[0].squeeze(axis=(2, 3))
            prob[k * M : (k + 1) * M] = y

        T = 30.0

        eps = 0.0001

        # prob = prob.clip(eps, 1-eps)

        log_prob = np.log(prob)
        print("log_prob", log_prob.min(), log_prob.max())
        # log_prob = log_prob.clip(min=-4, max=4)
        new_prob = np.exp(log_prob / T)
        new_prob /= dd.apply_once(np.sum, new_prob, [1])

        return new_prob
Ejemplo n.º 5
0
def temperature(y, T):
    y = y**(1 / T)
    return y / dd.apply_once(np.sum, y, [1])
Ejemplo n.º 6
0
def temperature(y, T):
    y = y**(1 / T)
    return y / dd.apply_once(np.sum, y, [1])