2017-11-26 15 views
0

https://github.com/udacity/self-driving-car/tree/master/vehicle-detection/u-net 메소드 get_mask_seg 구동 Udacity의 자기 구동에 __index__ 방법 있어야 (IMG는 bb_boxes_f) 슬라이스 인덱스 정수 또는 유료 일 또는 인덱스 방법슬라이스 인덱스 정수 또는 유료이거나 Udacity의 자기의

에게 있어야 준다
<ipython-input-58-b0cc385c742b> in <module>() 
     2 
     3 training_gen = generate_train_batch(df_vehicles,10) 
----> 4 batch_img,batch_mask = next(training_gen) 

<ipython-input-55-1399e4d6a92a> in generate_train_batch(data, batch_size) 
    12             scale_range=50 
    13             ) 
---> 14    img_mask = get_mask_seg(img,bb_boxes) 
    15    batch_images[i_batch] = img 
    16    batch_masks[i_batch] =img_mask 

<ipython-input-51-b5ad142378f0> in get_mask_seg(img, bb_boxes_f) 
     8   bb_box_i = [bb_boxes_f.iloc[i]['xmin'],bb_boxes_f.iloc[i]['ymin'], 
     9     bb_boxes_f.iloc[i]['xmax'],bb_boxes_f.iloc[i]['ymax']] 
---> 10   img_mask[bb_box_i[1]:bb_box_i[3],bb_box_i[0]:bb_box_i[2]]= 1 
    11   img_mask = np.reshape(img_mask,(np.shape(img_mask)[0],np.shape(img_mask)[1],1)) 
    12  return img_mask 

TypeError: slice indices must be integers or None or have an __index__ method 

답변

2

이 코드는 NumPy의 비교적 최근 변경 사항으로 인해 크게 변경되었습니다. 이 문제를 해결하려면 인덱스 배열 bb_box_i이 정수 배열인지 확인해야합니다. 가장 쉬운 방법은 img_mask 배열에 인덱싱하기 전에 bb_box_i = bb_box_i.astype('int')을 수행하는 코드 줄을 추가하는 것입니다.

+0

잘 작동! – user1767754

+0

감사합니다. –

0

이 코드는 좋은 캐치

img_mask[int(bb_box_i[1]):int(bb_box_i[3]),int(bb_box_i[0]):int(bb_box_i[2])]= 1 
관련 문제