keras的基本用法(一)——回归模型 | | keras的基本用法(一)——回归模型 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 本文主要介绍Keras的一些基本用法。 Demo 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import numpy as npimport matplotlib.pyplot as pltfrom keras.models import Sequentialfrom keras.layers import Dense# 创建数据X = np.linspace(-1, 1, 200)# 数据随机化np.random.shuffle(X)# 创建数据及参数, 并加入噪声Y = 0.5 * X + 2 + np.random.normal(0, 0.05, (200,))# 绘制数据plt.scatter(X, Y)plt.show()# 分为训练数据和测试数据X_train, Y_train = X[:160], Y[:160]X_test, Y_test = X[160:], Y[160:]# 使用keras创建神经网络# Sequential是指一层层堆叠的神经网络# Dense是指全连接层# 定义modelmodel = Sequential()# 定义第一层, 由于是回归模型, 因此只有一层model.add(Dense(units = 1, input_dim = 1))# 选择损失函数和优化方法model.compile(loss = 'mse', optimizer = 'sgd')print '----Training----'# 训练过程for step in range(501): # 进行训练, 返回损失(代价)函数 cost = model.train_on_batch(X_train, Y_train) if step % 100 == 0: print 'loss: ', costprint '----Testing----' # 训练结束进行测试cost = model.evaluate(X_test, Y_test, batch_size = 40)print 'test loss: ', cost# 获取参数W, b = model.layers[0].get_weights()print 'Weights: ',Wprint 'Biases: ', b 结果 123456789101112----Training----loss: 3.97799loss: 0.100697loss: 0.0118289loss: 0.00448105loss: 0.00278243loss: 0.00232763----Testing----40/40 [==============================] - 0stest loss: 0.00307717337273Weights: [[ 0.47406867]]Biases: [ 1.99442744] 参考资料 https://www.youtube.com/user/MorvanZhou 如果有收获,可以请我喝杯咖啡! 赏 微信打赏 支付宝打赏