示例#1
0
def CNN_classification(test_id, valid_id):
    input_size = 100

    def LoadData(fileList_NF, fileList_F):
        data = []
        labels = []
        for im_path in fileList_NF:
            img = numpy.asarray(
                image.load_img(im_path, target_size=(input_size, input_size)))
            data.append(img)
            labels.append('0')
        for im_path in fileList_F:
            img = numpy.asarray(image.load_img(im_path,
                                               target_size=(input_size,
                                                            input_size)),
                                dtype='float64')
            data.append(img)
            labels.append('1')
        return numpy.asarray(data), numpy.asarray(labels)

    fileList_NF = sorted(glob.glob('medfilt5_label_0/*.png'))
    fileList_F = sorted(glob.glob('medfilt5_label_1/*.png'))

    testfileList_NF = filter(
        lambda x: x.split('/')[-1].split('E')[0] == 'U' + str(test_id),
        fileList_NF)
    testfileList_F = filter(
        lambda x: x.split('/')[-1].split('E')[0] == 'U' + str(test_id),
        fileList_F)
    validfileList_NF = filter(
        lambda x: x.split('/')[-1].split('E')[0] == 'U' + str(valid_id),
        fileList_NF)
    validfileList_F = filter(
        lambda x: x.split('/')[-1].split('E')[0] == 'U' + str(valid_id),
        fileList_F)
    trainfileList_NF = filter(
        lambda x: x.split('/')[-1].split('E')[0] != 'U' + str(test_id) and x.
        split('/')[-1].split('E')[0] != 'U' + str(valid_id), fileList_NF)
    trainfileList_F = filter(
        lambda x: x.split('/')[-1].split('E')[0] != 'U' + str(test_id) and x.
        split('/')[-1].split('E')[0] != 'U' + str(valid_id), fileList_F)

    train_data, train_labels = LoadData(trainfileList_NF, trainfileList_F)
    test_data, test_labels = LoadData(testfileList_NF, testfileList_F)
    valid_data, valid_labels = LoadData(validfileList_NF, validfileList_F)
    print train_data.shape, test_data.shape, valid_data.shape

    clf.CNNclassifier(train_data, train_labels, valid_data, valid_labels,
                      input_size)