无输入输出样本编号

2024-04-25 17:06:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一些项目,我需要在python中使用神经网络。我试着训练神经网络,但FIT()函数总是出错。这是我的代码:

def matrix_to_vector(m):
    return m.flatten()


def prepare_for_rnn(tones):
    ready_for_rnn = []
    for tone in tones:
        ready_for_rnn.append(matrix_to_vector(tone))

    return ready_for_rnn

def convert_output2(outputs):
    return np.eye(len(outputs))

tone = Loaddataset('samples/ddur.wav')

X_train = []
X_train.append(tone.DataSet)


x_train = prepare_for_rnn(X_train)
tones = ['D']
y_train = convert_output2(tones)

model = Sequential()

model.add(Dense(128, input_dim=1, activation='sigmoid'))
model.add(Dense(1, activation='sigmoid'))

sgd = SGD(lr=0.01, momentum=0.9)
model.compile(loss='mean_squared_error', optimizer=sgd)

y_train = np.array(y_train)

print x_train
print y_train
print y_train.shape
print len(y_train)

model.fit(x_train, y_train, nb_epoch=2000, batch_size=1, verbose=0, shuffle=False, show_accuracy=False)
score = model.evaluate(x_train, y_train, batch_size=16)

我得到一个错误,我的输入数组和输出数组没有相同的样本号。在

我的控制台输出:

^{pr2}$

Tags: toformodelreturndeftrain神经网络prepare
1条回答
网友
1楼 · 发布于 2024-04-25 17:06:55

我在实现自动编码器时遇到这样一个问题:“异常:所有输入数组和目标数组的样本数必须相同。”。 模型.拟合需要numpy数组作为输入。在

X: data, as a numpy array.
y: labels, as a numpy array.

把list转换成numpy数组解决了我的问题。在

如果我们看到模型.拟合上面写着:

^{pr2}$

所以如果X是list类型:列表中所有项的长度X和列表y的长度应该相同,否则将引发异常。在

相关问题 更多 >