reader.py 1007 字节
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
import random
from paddle.v2.image import load_and_transform


def train_reader(train_list):
    def reader():
        with open(train_list, 'r') as f:
            lines = [line.strip() for line in f]
            random.shuffle(lines)
            for line in lines:
                img_path, lab = line.strip().split('\t')
                im = load_and_transform(img_path, 256, 224, True)
                yield im.flatten().astype('float32'), int(lab)

    return reader


def test_reader(test_list):
    def reader():
        with open(test_list, 'r') as f:
            lines = [line.strip() for line in f]
            for line in lines:
                img_path, lab = line.strip().split('\t')
                im = load_and_transform(img_path, 256, 224, False)
                yield im.flatten().astype('float32'), int(lab)

    return reader


if __name__ == '__main__':
    for im in train_reader('train.list'):
        print len(im[0])
    for im in train_reader('test.list'):
        print len(im[0])