PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.2k stars 5.58k forks source link

trainer.test Check Failed: size != 0 #15780

Closed mengyiliu22 closed 5 years ago

mengyiliu22 commented 5 years ago

在执行trainer.test时报如下错误: start test reader from ../../data/test_data/online1 [INFO 2019-02-18 20:02:40,956 reader.py:124] start test reader from ../../data/test_data/online1 F0218 20:02:41.890638 3797 MemoryHandle.cpp:49] Check failed: size != 0 allocate 0 bytes Check failure stack trace: @ 0x7f308fefceed google::LogMessage::Fail() @ 0x7f308ff0099c google::LogMessage::SendToLog() @ 0x7f308fefca13 google::LogMessage::Flush() @ 0x7f308ff01eae google::LogMessageFatal::~LogMessageFatal() @ 0x7f308fe5bc89 paddle::CpuMemoryHandle::CpuMemoryHandle() @ 0x7f308fe23e1e paddle::CpuVectorT<>::CpuVectorT() @ 0x7f308fe2442a paddle::VectorT<>::create() @ 0x7f308fee5d45 IVector::create()

在数据yeiled之前打印了数据,不管batch_size设置了多大,打印出来的test数据总是batch_size *2 + 1条,然后程序就报错了

junjun315 commented 5 years ago

请查看test_data输入数据是否正常,比如少了或者不完整。 以及检查reader的写法,如输出不均匀等

junjun315 commented 5 years ago

重新生成了test数据后没问题了,应该是数据不对齐

junjun315 commented 5 years ago

reader喂数据,构造tensor时有一维数据为空,导致load时报空错误,需要用户自己修改reader以处理这种情况。