Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x Python TypeError:只能将整数标量数组转换为标量索引_Python 3.x_Deep Learning - Fatal编程技术网

Python 3.x Python TypeError:只能将整数标量数组转换为标量索引

Python 3.x Python TypeError:只能将整数标量数组转换为标量索引,python-3.x,deep-learning,Python 3.x,Deep Learning,我是Python新手&深入学习 我试图做一个简单的学习,但我犯了一个错误: only integer scalar arrays can be converted to a scalar index. on t_batch = t_label[batch_mask] t_标签示例:[‘圆’、‘圆’、‘矩形’、‘三角形’、…、‘五角大楼] 批处理掩码示例:[2 0 2 1 2 1 0 2 2 1 2 0 0 1 0 1 0 1 0]。 train_size = 3 # x_train.shape

我是Python新手&深入学习

我试图做一个简单的学习,但我犯了一个错误:

only integer scalar arrays can be converted to a scalar index. on t_batch = t_label[batch_mask]
t_标签示例:
[‘圆’、‘圆’、‘矩形’、‘三角形’、…、‘五角大楼]

批处理掩码示例:
[2 0 2 1 2 1 0 2 2 1 2 0 0 1 0 1 0 1 0]。

train_size = 3 # x_train.shape[0]
batch_size = 22
for i in range(242): # iters_num = 242
   batch_mask = np.random.choice(train_size, batch_size)
   print( t_train, batch_mask )
   x_batch = x_train[batch_mask]
   t_batch = t_label[batch_mask]
我使用以下代码加载图像和标签。 谢谢你的帮助

data_list = glob('dataset\\training\\*\\*.jpg')
def _load_img():

    for v in data_list:
   #     print("Converting " + v + " to NumPy Array ...")       
        data = np.array(Image.open(v))
        data = data.reshape(-1, img_size)

    return data

def _load_label():
    labels = []
    for path in data_list:
        labels.append(get_label_from_path(path))

    return labels

假设
t\u标签
是使用
\u load\u label()
创建的,它是一个
列表
,并且此类型不支持使用另一个列表(您的
批处理掩码
)进行索引。这就是你的错误

如果要使用这种类型的索引,需要将
t\u label
创建为NumPy数组。更具体地说:

def load_label(data_list):
    labels = []
    for path in data_list:
        labels.append(get_label_from_path(path))
    return np.array(labels)

def load_label_variation(data_list):
    # Use a list comprehension to build list of labels
    labels = [get_label_from_path(path) for path in data_list]
    return np.array(labels)

谢谢该错误已解决,现在我将引发另一个错误。`UFuncTypeError:ufunc'multiply'不包含具有签名匹配类型(dtype('s)的循环