You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by gi...@git.apache.org on 2017/08/30 03:01:23 UTC

[GitHub] LeonJWH opened a new issue #7664: index out of bound error when update eval metric

LeonJWH opened a new issue #7664: index out of bound error when update eval metric
URL: https://github.com/apache/incubator-mxnet/issues/7664
 
 
   Hi ,I am training a binary classification model with my own dataset. I use **mx.image.ImageIter** API to load raw images according to the **.lst** file generated myself(with using **img2rec.py**).
   I set the data iter as below,
   ```
   train_iter = mx.image.ImageIter(
           batch_size   = batch_size,
           data_shape   = data_shape,
           path_imglist = '/database/liveness/data_prepare/liveness_train.lst',
           path_root    = '/',
           data_name    = 'data',
           label_name   = 'softmax_label',
           mean         = np.array([123.68, 116.78, 103.94]),
           resize       = 224,
           rand_mirror  = True,
           shuffle      = False,
           inter_method = 1)
   ```.
   And my **.lst** file is
   ```
   16      1.0     /database/liveness/lf_face/real/5905c125337f3131b4f0856a_image_0.jpg
   17      1.0     /database/liveness/lf_face/real/58dd0a71337f311c56026c9e_image_0.jpg
   18      1.0     /database/liveness/lf_face/real/58fb11d6de6c741b3501fd52_image_0.jpg
   19      1.0     /database/liveness/lf_face/real/59060ef0337f317a0f74a42e_image_0.jpg
   ```.
   Then i start training, the first epoch went well, but a error was reported at the second epoch(epoch 1) as follow,
   ```
   Traceback (most recent call last):
     File "train.py", line 113, in <module>
       mod.update_metric(metric, batch.label)
     File "/dlproject/incubator-mxnet/python/mxnet/module/module.py", line 735, in update_metric
       self._exec_group.update_metric(eval_metric, labels)
     File "/dlproject/incubator-mxnet/python/mxnet/module/executor_group.py", line 582, in update_metric
       eval_metric.update_dict(labels_, preds)
     File "/dlproject/incubator-mxnet/python/mxnet/metric.py", line 280, in update_dict
       metric.update_dict(labels, preds)
     File "/dlproject/incubator-mxnet/python/mxnet/metric.py", line 108, in update_dict
       self.update(label, pred)
     File "/dlproject/incubator-mxnet/python/mxnet/metric.py", line 916, in update
       prob = pred[numpy.arange(label.shape[0]), numpy.int64(label)]
   IndexError: index -275 is out of bounds for axis 1 with size 2
   ```
   I set the eval metric in my training script with two parts:
   ```
   eval_metric = mx.metric.CompositeEvalMetric()
   eval_metric.add(mx.metric.CrossEntropy())
   eval_metric.add(mx.metric.Accuracy())
   ```,
   so what is wrong in my usage?
   Thx for your answer!
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services