基于keras的python实践,python中的keras
本文主要介绍python神经网络学习使用Keras进行回归运算。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。
00-1010学习前言KerasKeras 1、Sequential2、Dense3、model.compile所有代码中最基本的重要函数是什么
目录
看了很多Github,用来保存模型的库都是Keras。我觉得还是好好学习比较好。
学习前言
Keras是Python编写的开源人工神经网络库,可作为Tensorflow、Microsoft-CNTK和Theano的高级应用程序接口,用于深度学习模型的设计、调试、评估、应用和可视化。
Keras相当于比Tensorflow和Theano更高级别的库,可以作为底层框架,以更简洁高效的方式添加代码。
2018年Tensorflow 2.0.0发布后,Keras正式确立为Tensorflow高级API。
什么是Keras
Keras中基础的重要函数
序贯模型也叫序贯模型。
顺序模型是最简单的线性、首尾相连的结构顺序,它是多个网络层的线性堆栈。
在使用Keras建立模型之前,使用以下函数建立模型就足够了。
模型=顺序()
此时已经建立了一个顺序模型,然后在模型中添加层时,就按顺序添加。
1、Sequential
密集用于向顺序添加完整的连接层。整个连接层的原理图如下。(图片来自百度百科)
具体来说,在一个简单的BP神经网络中,输入层和隐层之间的权重连接实际上与全连接层具有相同的含义。
在Keras中,如果需要向模型添加一个完整的连接层,可以使用下面的函数。
model.add(Dense(output_dim=1,input_dim=1))
这意味着输入维度为1,输出维度为1。
2、Dense
Keras中的model.compile函数主要用于定义损失函数和优化器。
其调用方式如下:
model.compile(loss=mse ,optimizer=sgd ,metrics=[accuracy])
其中,损失用于定义计算损失的损失函数,可选择如下:
1.mse:均方根误差,常用于回归预测。
2.categorical _ crossentropy:又称多类对数损失。注意,当使用这个目标函数时,标签需要被转换成类似于(nb_samples,nb_classes)的二进制序列,这通常用于分类。
3.Sparse _ Category _ Crossentrop:同上,但接受稀疏标签。
Optimizer用于定义一个优化器,它可以是默认的,也可以是从keras.optimizers导出的
可选内容可以参考Keras中文文档。本文选择了随机梯度下降法sgd。
Metrics=[accuracy]经常在分类操作中使用,但在本例中并不适用。准确度代表计算分类准确度。
3、model.compile
这个例子是线性回归的一个例子。
将numpy作为np导入
从keras.models导入序列
从keras.layers导入密集的##全连接层
将matplotlib.pyplot作为plt导入
#生成测试数据
X=np.linspace(-1,1,200)
随机洗牌
Y=0.5*X 2 np.random.normal(0,0.05,(200,))
#划分训练集和测试集
X_train,Y_train=X[:160],Y[:160]
X_test,Y_test=X[160:],Y[160:]
#开始
模型=顺序()
model.add(Dense(output_dim=1,input_dim=1))
#编译
model.compile(loss=mse ,optimizer=sgd )
#培训
打印( \ n培训)
对于范围内的步骤(2001):
成本=模型.训练_批量(X _训练,Y _训练)
如果step0==0:
打印( tarin_cost: ,成本)
#测试
打印( \ n测试)
成本=模型.评估(X _测试,Y _测试,批量大小=40)
w,b=model.layers[0]。获取权重()
打印(“重量”,W,“双轴”,b)
#预测结果
Y=模型.预测(X _测试)
plt.scatter(X检验,Y检验)
plt.plot(X_test,Y)
plt.show()
结果如下:
塔林成本3360 4.50687658766
塔林_成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本3360.002783
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
塔林成本0 . 48680 . 48888888861
试验
40/40[============================]-0s 874 us/步
权重[[0.5041559]]双轴[1.9961643]
以上是使用Keras进行回归运算的python神经网络学习的详细内容。更多关于python神经网络Keras回归运算的信息,请关注盛行IT软件开发工作室的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。