keras的基本用法(一)——回归模型

来源:互联网 发布:手机淘宝怎么快速升心 编辑:程序博客网 时间:2024/06/05 15:55

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

本文主要介绍Keras的一些基本用法。

  • Demo
import 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
  • 结果
----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]

image

0 0
原创粉丝点击