fluid的infer报错,成功产出数据只有一半量级左右
Created by: sitongchen
报错在这:
run代码:
cat ins | /home/chensitong03/fluid/fluid_predict/python27-gcc482/bin/python
mr_evaluation.py . mapper model > re1w
log:
2019-09-07 12:42:16,937 - 140371939464960 - util.py[line:29] - INFO: G_NEG_SAMPLE_RATE = 1.000
WARNING: cannot find map_input_file, will use original mapper
2019-09-07 12:42:16 start to infer
use hadoopp
look here <class 'paddle.fluid.framework.Variable'>
look here <class 'paddle.fluid.framework.Variable'>
look here <class 'paddle.fluid.framework.Variable'>
Traceback (most recent call last):
File "mr_evaluation.py", line 70, in
main()
File "mr_evaluation.py", line 60, in main
return mapper(work_path, sys.argv[3:])
File "mr_evaluation.py", line 21, in mapper
return mapper_real(work_path, args)
File "mr_evaluation.py", line 32, in mapper_real
use_hadoop=True)
File "/home/chensitong03/fluid/mr_fluid_predict/script/infer.py", line 104, in infer
fetch_list=fetch_targets)
File "/home/chensitong03/fluid/fluid_predict/python27-gcc482/lib/python2.7/site-packages/paddle/fluid/executor.py", line 470, in run
self.executor.run(program.desc, scope, 0, True, True)
paddle.fluid.core.EOFException: There is no next data. at [/paddle/paddle/fluid/operators/reader/read_op.cc:91]
infer代码: py_reader.start() while True: batch_start = time.time() if use_parallel_executor: label_val, cuid_val, user_fc3_val = pe.run( fetch_list=fetch_name_list) else: label_val, cuid_val, user_fc3_val= exe.run(test_program, fetch_list=fetch_targets) for i in range(len(label_val)): this_cuid = eqdata.id2cuid_fu(cuid_val[i][0]) print(this_cuid + '\t' + ','.join(map(str,user_fc3_val[i]))) batch_end = time.time()