keras从入门到放弃(一)

什么是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多

预测数据

model.predict(x)
plt.scatter(x, y, c='r')
plt.plot(x, model.predict(x))
plt.show()

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44510615/article/details/88766379