ylshaooo / keras-zero-shot-detection

Keras implementation of zero-shot detection based on YOLOv3 model.
45 stars 15 forks source link

class id must be less than seen classes #2

Open xywen97 opened 5 years ago

xywen97 commented 5 years ago

sorry for your time, when i trained on the dataset Voc2012,

terminal line: python train.py it comes out like these bellow:

Create YOLOv3 model with 9 anchors and 16 classes. Load weights model_data/darknet53_weights.h5. Freeze the first 249 layers of total 252 layers. Train on 148 samples, val on 16 samples, with batch size 16.' Epoch 1/10 1/500 [..............................] - ETA: 1:03:34 - loss: 128842.3516multiprocessing.pool.RemoteTraceback: """ Traceback (most recent call last): File "/home/xxx/python3.5/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, kwds)) File "/home/xxx/python3.5/site-packages/keras/utils/data_utils.py", line 401, in get_index return _SHARED_SEQUENCES[uid][i] File "train.py", line 36, in getitem x, y = self.data_generator(batch_data) File "train.py", line 55, in data_generator y_true = preprocess_true_boxes(box_data, self.input_shape, self.anchors, num_seen) File "/home/xxx/keras-zero-shot-detection/yolo3/model.py", line 230, in preprocess_true_boxes assert (true_boxes[..., 4] < num_classes).all(), 'class id must be less than seen classes' AssertionError: class id must be less than seen classes** """ what's the wrong? Thank U very much!

In addition, it seems that you change the datasets from voc2007 to voc2012, any differents between them? what shall i pay attention to?

ylshaooo commented 5 years ago

the number of seen classes decides the dimension of category probability, so the gt label id should be within this number, else it would be out of index range. there must be something wrong when you generated your annotations. voc 2007 is included in 2012.

Sidcvs commented 5 years ago

Can u provide the annotation file for VOC2012 as some of us are facing issues

jjwwczy commented 5 years ago

To run the default code, you need to modify data/voc_classes.txt, and delete the last four classes ['car', 'dog', 'sofa', 'train'].