零大小数组到减少操作最大值没有标识

时间:2017-06-10 09:37:29

标签: python tensorflow

这是一个可运行的代码片段,它会在我的机器上生成错误。 我有这个错误(零大小数组到减少操作最大值没有标识)。

reader = csv.reader(open(BASE_PATH + 'labels.csv'))
# skip the header
next(reader)

X = []
y = []

for row in reader:
    label = row[2]
    if len(label) > 0 and label.find(',') == -1:
        filename = get_filename_for_index(row[1])
        img_file = cv2.imread(BASE_PATH + filename)
        if img_file is not None:
            img_file = scipy.misc.imresize(arr=img_file, size=(120, 160, 3))
            img_arr = np.asarray(img_file)
            img_arr = apply_color_mask(img_arr)
            X.append(img_arr)
            y.append(label)


X = np.asarray(X)
y = np.asarray(y)

encoder = LabelEncoder()
encoder.fit(y)
encoded_y = encoder.transform(y)

y = np_utils.to_categorical(encoded_y)


**Error**
ValueError                                Traceback (most recent call last)
<ipython-input-7-49c49b99292b> in <module>()
     26 encoded_y = encoder.transform(y)
     27 
---> 28 y = np_utils.to_categorical(encoded_y)

~/.local/lib/python3.5/site-packages/keras/utils/np_utils.py in to_categorical(y, num_classes)
     20     y = np.array(y, dtype='int').ravel()
     21     if not num_classes:
---> 22         num_classes = np.max(y) + 1
     23     n = y.shape[0]
     24     categorical = np.zeros((n, num_classes))

~/.local/lib/python3.5/site-packages/numpy/core/fromnumeric.py in amax(a, axis, out, keepdims)
   2270 
   2271     return _methods._amax(a, axis=axis,
-> 2272                           out=out, **kwargs)
   2273 
   2274 

~/.local/lib/python3.5/site-packages/numpy/core/_methods.py in _amax(a, axis, out, keepdims)
     24 # small reductions
     25 def _amax(a, axis=None, out=None, keepdims=False):
---> 26     return umr_maximum(a, axis, None, out, keepdims)
     27 
     28 def _amin(a, axis=None, out=None, keepdims=False):

值错误:零大小数组到减少操作最大值,没有标识

所以请任何人都可以帮助我。

1 个答案:

答案 0 :(得分:0)

你可以尝试把失败的行动放在一些守卫之中:

if np.any(encoded_y):
    y = np_utils.to_categorical(encoded_y)