导入库:
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
import matplotlib.pyplot as plt
产生数据和数据分割
X=np.linspace(-1,1,300)#产生-1到1等距离的300个数
np.random.shuffle(X)#随机打乱
Y=2*X+5+np.random.normal(0,0.1,300)#函数,并增加正态分布的噪声
x_train=X[:200]
y_train=Y[:200]
x_test,y_test=X[200:],Y[200:]
搭建网络
model=Sequential()
model.add(Dense(output_dim=1,input_dim=1))#全连接层,output_dim输入个数 input_dim输出个数
#model.add(Dense(units=1,input_dim=1))
#model.add(Dense(units=1,input_dim=1))
model.compile(loss='mse',optimizer='sgd')
训练
print('Training---------')
for step in range(300):#迭代300次
cost=model.train_on_batch(x_train,y_train)#利用model.