什么是keras
中文 https://keras.io/zh/
英文 https://keras-cn.readthedocs.io/en/latest/
与其他任何深度学习框架相比,Keras 在行业和研究领域的应用率更高(除 TensorFlow 之外,且 Keras API 是 TensorFlow 的官方前端,通过 tf.keras 模块使用)。
简单的线性回归
Keras 的核心数据结构是 model,一种组织网络层的方式。最简单的模型是 Sequential 顺序模型,它由多个网络层线性堆叠。对于更复杂的结构,你应该使用 Keras 函数式 API,它允许构建任意的神经网络图。
还是来用点求方程入门,生成50个点
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
x = np.linspace(0,50,50)
y = 3*x +7 + np.random.randn(50) *5 #a = 3 ,b = 7
plt.scatter(x,y)
plt.show()
import keras
model = keras.Sequential() ##顺序模型
Keras的“层”(Layer)
from keras import layers
model.add(layers.Dense(1,input_dim=1)) # 输入输出都是一维的
model.summary() # 可以输出层
从图中可以看出输入和输出都是一层吗,而且只有两个参数
编译模型
model.compile(optimizer='adam',loss='mse')
使用优化算法 adam 和损失函数 mse 均方差
训练模型
model.fit(x, y, epochs=3000)
epochs 参数是把数据训练3000遍
我们可以看到损失函数已经降到35.24多
扫描二维码关注公众号,回复:
5639875 查看本文章
预测数据
model.predict(x)
plt.scatter(x, y, c='r')
plt.plot(x, model.predict(x))
plt.show()