我试图建立一个神经网络。我已经关注了
的视频https://www.youtube.com/watch?v=S75EdAcXHKk
我已经加载了adult.data训练集。
我现在正在接受培训,我有这些代码失败的行。
while(epocs<5):
i = 0
for start, end in zip(range(0, len(trX), 128), range(128, len(trX), 128)):
print(trX.shape)
tr = trX[start:end]
print(tr.shape[0])
print(tr.shape[1])
self.cost = train(tr.reshape(tr.shape[0],tr.shape[1]), trY[start:end])
epocs+=1
我正在收到一条错误消息:
n.training()
文件“C:\ Users \ Bjornars \ PycharmProjects \ cogs-118a \ Project \ NN \ Network.py”,第101行,培训 self.cost = train(tr.reshape(128,106),trY [start:end]) 文件“C:\ Anaconda3 \ lib \ site-packages \ theano \ compile \ function_module.py”,第513行,调用 allow_downcast = s.allow_downcast) 文件“C:\ Anaconda3 \ lib \ site-packages \ theano \ tensor \ type.py”,第169行,在过滤器中 data.shape)) TypeError:('名称为“C:\ Users \ Bjornars \ PycharmProjects \ cogs-118a \ Project \ NN \ Network.py:84”的错误输入参数,索引1(从0开始)','错误的数字尺寸:预期2,形状为1(128,)。')
我发送的数组的形状是(5000,106)
--- ----解决
答案 0 :(得分:0)
使用它,它预期数组不是trY中的数字
def preprocess(self,trDmatrix,labels):
for i in range(len(trDmatrix)):
numbers = [0.0]*2
numbers[int(labels[i])]= 1.0
labels[i] = numbers
return trDmatrix, labels