我对机器学习很陌生,最近我开始学习如何使用库Keras在
Python上实现基本的神经网络.
我从一个基本的例子开始(训练网络,以便它可以预测值y = f(x)= x).
model = Sequential()
model.add(Dense(10, input_dim=1, activation="relu"))
model.add(Dense(10, activation="relu"))
model.add(Dense(10, activation="relu"))
model.add(Dense(1))
model.compile(loss="mse", optimizer="adam")
data = np.array([x for x in range(0,1000)])
for i in range(0, 1000):
model.fit([np.array([data[i]]), np.array([data[i]]), nb_epoch=1, batch_size=1, verbose=0)
我现在想应用一个类似的算法训练网络,所以从整数列表L,它将返回我的函数f的三个值的列表(基本上:[f(L,0),f(L,1) ,f(L,2)]).所以这次输入是一个包含5个整数的数组,所需的返回输出是3个浮点数的列表.
但是,我没有设法在for循环中正确编码fit方法,我得到一条错误消息:“预计会看到1个数组,而是得到以下2个数组的列表:……”.我尝试使用Dense构造函数的一些参数(input_dim,input_shape,input_size),但我似乎仍然无法使它工作…
所以基本上,有没有人知道如何正确实现一个网络,将一个数组作为输入并返回一个不同长度的数组?
非常感谢您的帮助和支持,
– smgr