Exemplo n.º 1
0
    def malisPreviewSlice(self, batch, name='A'):
        pred = self.cnn.class_probabilities(batch[0])[0]  # (6, z, x,y)
        malis = self.cnn.malis_stats(
            *batch[:3]
        )  # nll, n_pos, n_neg, n_tot, false_splits, false_merges, rand_index, pos_count, neg_count, labels
        nll, n_pos, n_neg, n_tot, false_splits, false_merges, rand_index, pos_count, neg_count = malis
        data, aff_gt, seg_gt = batch[:3]

        print "NLL    : ", nll
        print "N total: ", n_tot
        print "N pos  : ", n_pos
        print "N neg  : ", n_neg
        print "Splits : ", false_splits
        print "Mergers: ", false_merges
        print "Rand-Index: ", rand_index

        pred_slices = np.transpose(pred[1::2], (1, 2, 3, 0))
        pos_slices = np.transpose(pos_count, (1, 2, 3, 0))
        neg_slices = np.transpose(neg_count, (1, 2, 3, 0))
        neg_slices = np.log(neg_slices + 1)
        data = data[0, :, 0]
        aff_gt = np.transpose(aff_gt[0], (1, 2, 3, 0))
        seg_gt = seg_gt[0]

        trainutils.pickleSave(
            [pred_slices, aff_gt, pos_slices, neg_slices, seg_gt, data],
            'MALIS-%s.pkl' % (name, ))
Exemplo n.º 2
0
    def malisPreviewSlice(self, batch, name='A'):
        pred = self.cnn.class_probabilities(batch[0])[0]  # (6, z, x,y)
        malis = self.cnn.malis_stats(*batch[:3])  # nll, n_pos, n_neg, n_tot, false_splits, false_merges, rand_index, pos_count, neg_count, labels
        nll, n_pos, n_neg, n_tot, false_splits, false_merges, rand_index, pos_count, neg_count = malis
        data, aff_gt, seg_gt = batch[:3]

        print "NLL    : ", nll
        print "N total: ", n_tot
        print "N pos  : ", n_pos
        print "N neg  : ", n_neg
        print "Splits : ", false_splits
        print "Mergers: ", false_merges
        print "Rand-Index: ", rand_index

        pred_slices = np.transpose(pred[1::2], (1, 2, 3, 0))
        pos_slices = np.transpose(pos_count, (1, 2, 3, 0))
        neg_slices = np.transpose(neg_count, (1, 2, 3, 0))
        neg_slices = np.log(neg_slices + 1)
        data = data[0, :, 0]
        aff_gt = np.transpose(aff_gt[0], (1, 2, 3, 0))
        seg_gt = seg_gt[0]

        trainutils.pickleSave([pred_slices, aff_gt, pos_slices, neg_slices, seg_gt, data], 'MALIS-%s.pkl' % (name, ))
Exemplo n.º 3
0
    def __init__(self, path='~/devel/data/adult.pkl', create=False):
        path = os.path.expanduser(path)
        if create:
            self._fields = 'age,workclass,fnlwgt,education,educationnum,maritalstatus,occupation,relationship,race,sex,capitalgain,capitalloss,hoursperweek,nativecountry,target'.split(',')
            self._kinds = 'cont,cat,cat,cat,cont,cat,cat,cat,cat,cat,cont,cont,cont,cat,cat'.split(',')

            data_socket = urllib2.urlopen('http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data')
            train_d = np.genfromtxt(data_socket, skip_header=1, delimiter=',', names=self._fields, dtype=None)
            train_d = self._normalise_adult(train_d)
            self.train_l = train_d[:, -1].astype('int16')  # np.expand_dims(train_d[:,-1].astype('int16'), 1)
            self.train_d = train_d[:, :-1]

            test_socket = urllib2.urlopen('http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.test')
            valid_d = np.genfromtxt(test_socket, skip_header=1, delimiter=',', names=self._fields, dtype=None)
            valid_d = self._normalise_adult(valid_d)
            self.valid_l = valid_d[:, -1].astype('int16')  #np.expand_dims(valid_d[:,-1].astype('int16'), 1)
            self.valid_d = valid_d[:, :-1]

            ut.pickleSave((self.train_d, self.train_l, self.valid_d, self.valid_l), path)

        else:
            self.train_d, self.train_l, self.valid_d, self.valid_l = ut.pickleLoad(path)

        super(AdultData, self).__init__()