2017-01-09 98 views
0

我有一个包含这样的数据映射文件:改善格式错误的输入格式错误信息?

|labels 0 0 1 0 0 0 |features 0 
|labels 1 0 0 0 0 0 |features 2 
|labels 0 0 0 1 0 0 |features 3 
|labels 0 0 0 0 0 1 |features 7 

数据与下面的代码读取到minibatch:

from cntk import Trainer, StreamConfiguration, text_format_minibatch_source, learning_rate_schedule, UnitType 

mb_source = text_format_minibatch_source('test_map2.txt', [ 
    StreamConfiguration('features', 1), 
    StreamConfiguration('labels', num_classes)]) 

test_minibatch = mb_source.next_minibatch(2) 

如果形成不良的输入文件,有时你会得到一个相当神秘的错误信息。例如在输入文件的最后一行的末尾缺少换行符会导致这样的错误:

--------------------------------------------------------------------------- 
RuntimeError        Traceback (most recent call last) 
<ipython-input-35-2f1481ccfced> in <module>() 
----> 1 test_minibatch = mb_source.next_minibatch(2) 

C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\cntk-py34\lib\site-packages\cntk\utils\swig_helper.py in wrapper(*args, **kwds) 
    56  @wraps(f) 
    57  def wrapper(*args, **kwds): 
---> 58   result = f(*args, **kwds) 
    59   map_if_possible(result) 
    60   return result 

C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\cntk-py34\lib\site-packages\cntk\io\__init__.py in next_minibatch(self, minibatch_size_in_samples, input_map, device) 
    159 
    160   mb = super(MinibatchSource, self).get_next_minibatch(
--> 161     minibatch_size_in_samples, device) 
    162 
    163   if input_map: 

C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\cntk-py34\lib\site-packages\cntk\cntk_py.py in get_next_minibatch(self, *args) 
    1914 
    1915  def get_next_minibatch(self, *args): 
-> 1916   return _cntk_py.MinibatchSource_get_next_minibatch(self, *args) 
    1917 MinibatchSource_swigregister = _cntk_py.MinibatchSource_swigregister 
    1918 MinibatchSource_swigregister(MinibatchSource) 

RuntimeError: Invalid chunk requested. 

有时候它可能是很难搞清楚该文件在那里将是一个问题。是否有可能发出更具体的错误信息。输入文件中的行号会很有用。

回答

2

感谢您报告此问题。我们已经创建了一个错误,并将努力修复阅读器行为不正确的输入。