paddle.infer 大数据量该如何处理 为什么infer的input不能是paddle.batch?
Created by: 466821202
train_reader = paddle.batch(
paddle.reader.shuffle(
reader.train_reader('testmongo.list'),
buf_size=1000),
batch_size=BATCH_SIZE)
for test_data in train_reader() :
print "image_file"
print test_data
probs = paddle.infer(
output_layer=out, parameters=parameters, input=test_data)
lab = np.argsort(-probs)
报错 ValueError: The input should be a vector, please check your input data.
正确的这样 test_data = [(paddle.image.load_and_transform(image_file, 224, 224, False) #.flatten().astype('float32'), ) for image_file in file_list] print test_data [(array([ 54., 44., 51., ..., 166., 168., 167.], dtype=float32),), (array([ 43., 50., 55., ..., 133., 144., 143.], dtype=float32),), (array([ 86., 85., 132., ..., 38., 39., 38.], dtype=float32),), (array([ 52., 59., 63., ..., 165., 164., 164.], dtype=float32),), (array([ 81., 73., 66., ..., 143., 140., 139.], dtype=float32),), (array([ 19., 18., 17., ..., 223., 221., 209.], dtype=float32),), (array([ 18., 14., 14., ..., 186., 187., 188.], dtype=float32),), (array([ 74., 72., 70., ..., 87., 86., 87.], dtype=float32),), (array([ 96., 101., 103., ..., 167., 171., 170.], dtype=float32),), (array([ 111., 109., 120., ..., 139., 137., 139.], dtype=float32),), (array([ 36., 38., 38., ..., 109., 104., 112.], dtype=float32),), (array([ 195., 200., 196., ..., 48., 47., 43.], dtype=float32),), (array([ 255., 255., 255., ..., 84., 68., 53.], dtype=float32),), (array([ 254., 254., 254., ..., 124., 124., 119.], dtype=float32),), (array([ 255., 255., 255., ..., 135., 135., 135.], dtype=float32),), (array([ 255., 255., 255., ..., 51., 52., 54.], dtype=float32),), (array([ 252., 252., 252., ..., 52., 50., 50.], dtype=float32),), (array([ 241., 241., 244., ..., 148., 148., 153.], dtype=float32),), (array([ 16., 22., 21., ..., 48., 48., 49.], dtype=float32),), (array([ 94., 87., 80., ..., 151., 150., 152.], dtype=float32),), (array([ 75., 76., 56., ..., 105., 104., 103.], dtype=float32),), (array([ 106., 107., 105., ..., 65., 68., 75.], dtype=float32),), (array([ 255., 255., 255., ..., 178., 178., 177.], dtype=float32),)]
错误这样 train_reader = paddle.batch( paddle.reader.shuffle( reader.train_reader('testmongo.list'), buf_size=1000), batch_size=BATCH_SIZE)
for test_data in train_reader() : print test_data [array([ 23., 20., 13., ..., 190., 193., 193.], dtype=float32), array([ 73., 29., 26., ..., 49., 50., 49.], dtype=float32), array([ 96., 128., 128., ..., 181., 182., 182.], dtype=float32), array([ 40., 41., 42., ..., 106., 103., 101.], dtype=float32), array([ 22., 30., 29., ..., 93., 82., 83.], dtype=float32), array([ 101., 100., 107., ..., 124., 96., 76.], dtype=float32), array([ 66., 53., 65., ..., 105., 106., 105.], dtype=float32), array([ 74., 48., 66., ..., 50., 50., 61.], dtype=float32), array([ 140., 154., 168., ..., 69., 70., 70.], dtype=float32), array([ 131., 129., 126., ..., 135., 136., 136.], dtype=float32), array([ 9., 10., 13., ..., 147., 145., 142.], dtype=float32), array([ 54., 50., 57., ..., 141., 139., 140.], dtype=float32), array([ 243., 243., 243., ..., 114., 106., 100.], dtype=float32), array([ 62., 50., 44., ..., 164., 165., 166.], dtype=float32), array([ 27., 29., 27., ..., 186., 186., 189.], dtype=float32), array([ 130., 136., 136., ..., 145., 145., 155.], dtype=float32), array([ 251., 252., 252., ..., 140., 139., 135.], dtype=float32), array([ 126., 134., 130., ..., 59., 56., 55.], dtype=float32), array([ 202., 216., 218., ..., 184., 174., 176.], dtype=float32), array([ 137., 185., 168., ..., 125., 123., 123.], dtype=float32), array([ 46., 45., 43., ..., 21., 21., 20.], dtype=float32), array([ 35., 33., 36., ..., 153., 148., 150.], dtype=float32), array([ 51., 52., 50., ..., 197., 196., 196.], dtype=float32)]