Python 3.x Python TypeError:只能将整数标量数组转换为标量索引
我是Python新手&深入学习 我试图做一个简单的学习,但我犯了一个错误: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
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)的循环