为了账号安全,请及时绑定邮箱和手机立即绑定

数组在python中不可调用“'numpy.ndarray'对象不可调用”

数组在python中不可调用“'numpy.ndarray'对象不可调用”

素胚勾勒不出你 2021-09-11 14:53:59
我正在研究神经网络,当我尝试对两个 numpy.ndarray 进行混洗时,出现此错误。我尝试重新检查 shuffle 函数格式,但找不到任何错误。请帮忙train_images,train_labels = shuffle(train_images,train_labels)TypeError                                 Traceback (most recent call last)<ipython-input-8-b3f4173331ac> in <module> 18     print("Training the Network") 19     for i in range(epoch): 20     --> train_images,train_labels = shuffle(train_images,train_labels) 21         for offset in range (0,no_eg,batch_size): 22             end = offset+batch_size/usr/lib/python3.5/random.py in shuffle(self, x, random)275             for i in reversed(range(1, len(x))):276                 # pick an element in x[:i+1] with which to exchange x[i]277            -->  j = _int(random() * (i+1))278                 x[i], x[j] = x[j], x[i]279 TypeError: 'numpy.ndarray' object is not callabl
查看完整描述

2 回答

?
慕村225694

TA贡献1880条经验 获得超4个赞

看看random.shuffle(x[, random])的文档

可选参数 random 是一个 0 参数函数,返回 [0.0, 1.0) 中的随机浮点数;默认情况下,这是函数 random()

在您的情况下,您通过 train_labels,根据错误消息,它是 numpy.ndarray,而不是函数


查看完整回答
反对 回复 2021-09-11
?
千万里不及你

TA贡献1784条经验 获得超9个赞

shuffle您可能想要使用两个已命名的函数,但它们都没有按您期望的方式工作。


random.shuffle(x, random=None)x使用函数洗牌列表random。


numpy.random.shuffle(x)打乱 NumPy 数组x。


这两个函数一次只能打乱一个数组,但是你想打乱两个数组,而且你想一致地打乱它们。考虑构建一个熊猫系列,对系列进行混洗(“采样”),然后再次将其拆分为值和标签:


import pandas as pd

series = pd.Series(train_images, index=train_labels)

shuffled = series.sample(series.size)

train_images_shuffled = shuffled.values

train_labels_shuffled = shuffled.index


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 304 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信