Python 3.x keras中的增量学习

Python 3.x keras中的增量学习,python-3.x,keras,online-machine-learning,Python 3.x,Keras,Online Machine Learning,我正在寻找与scikit learn的partial_fit:相当的keras,用于增量/在线学习 我终于找到了批处理上训练的方法,但我找不到一个示例来说明如何在for循环中为如下数据集正确实现它: x=np.array([[0.5,0.7,0.8]])#输入数据 y=np.array([[0.4,0.6,0.33,0.77,0.88,0.71]])#输出数据 注:这是一个多输出回归 到目前为止,我的代码是: import keras import numpy as np x = np.ar

我正在寻找与scikit learn的
partial_fit
:相当的keras,用于增量/在线学习

我终于找到了批处理上训练的
方法,但我找不到一个示例来说明如何在for循环中为如下数据集正确实现它:

x=np.array([[0.5,0.7,0.8]])#输入数据
y=np.array([[0.4,0.6,0.33,0.77,0.88,0.71]])#输出数据
注:这是一个多输出回归

到目前为止,我的代码是:

import keras
import numpy as np

x = np.array([0.5, 0.7, 0.8])
y = np.array([0.4, 0.6, 0.33, 0.77, 0.88, 0.71])
in_dim = x.shape
out_dim = y.shape

model = Sequential()
model.add(Dense(100, input_shape=(1,3), activation="relu"))
model.add(Dense(32, activation="relu"))
model.add(Dense(6))
model.compile(loss="mse", optimizer="adam")

model.train_on_batch(x,y)
我得到这个错误:
ValueError:layer sequential_28的输入0与层不兼容:输入形状的轴-1应具有值3,但收到形状[3,1]的输入。

您应批量输入数据。您提供的是单个实例,但模型需要批处理数据。因此,您需要展开批量大小的输入维度

import keras
import numpy as np
from keras.models import *
from keras.layers import *
from keras.optimizers import *
x = np.array([0.5, 0.7, 0.8])
y = np.array([0.4, 0.6, 0.33, 0.77, 0.88, 0.71])
x = np.expand_dims(x, axis=0)
y = np.expand_dims(y, axis=0)
# x= np.squeeze(x)
in_dim = x.shape
out_dim = y.shape

model = Sequential()
model.add(Dense(100, input_shape=((1,3)), activation="relu"))
model.add(Dense(32, activation="relu"))
model.add(Dense(6))
model.compile(loss="mse", optimizer="adam")

model.train_on_batch(x,y)

什么是s和a?对不起是x和y我改了