栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

keras的Sequential、Dense、Compile、predict

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

keras的Sequential、Dense、Compile、predict

一、简单的代码

import tensorflow as tf
import keras
import numpy as np

#使用keras建立模型
model = keras.Sequential([keras.layers.Dense(units=1,input_shape=[1])])
#为keras模型添加优化器和损失函数
model.compile(optimizer='sgd',loss='mean_squared_error')

xs=np.array([-1.0,0.0,1.0,2.0,3.0,4.0],dtype=float)
ys=np.array([-3.0,-1.0,1.0,3.0,5.0,7.0],dtype=float)
#模型训练model.fit(训练输入数据x,训练输出数据y,训练次数)
model.fit(xs,ys,epochs=500)
#用模型预测输出值
print(model.predict([10.0]))

二、 Sequential 顺序模型
1、介绍:最简单的模型是 Sequential 顺序模型,它由多个网络层线性堆叠。对于更复杂的结构,你应该使用 Keras 函数式 API,它允许构建任意的神经网络图。
2、建立layer

#model.add来追加层
#稠密的,就是把内部定义的信息“沾到一起”形成一层
model.add(Dense(units=64,activation='relu',input_dim=100))
model.add(Dense(units=10,activation='softmax'))
keras.layers.Dense(units, 
				  activation=None, 
				  use_bias=True, 
				  kernel_initializer='glorot_uniform', 
				  bias_initializer='zeros', 
				  kernel_regularizer=None, 
				  bias_regularizer=None, 
			      activity_regularizer=None, 
				  kernel_constraint=None, 
				  bias_constraint=None)
				  
				  

参数说明如下:

  • units:该层有几个神经元

  • activation:该层使用的激活函数

  • use_bias:是否添加偏置项

  • kernel_initializer:权重初始化方法

  • bias_initializer:偏置值初始化方法

  • kernel_regularizer:权重规范化函数

  • bias_regularizer:偏置值规范化方法

  • activity_regularizer:输出的规范化方法

  • kernel_constraint:权重变化限制函数

  • bias_constraint:偏置值变化限制函数

3、配置学习参数

#配置学习过程
model.compile(loss="categorical_crossentropy",optimizer='sgd',metrics='accuracy')
model.compile(loss=keras.losses.categorical_crossentropy,optimizer=keras.optimizer.SGD(lr=0.01,momentu=0.9, nesterov=True))

4、预测与判断精度

evaluate(x=None, y=None, batch_size=None, verbose=1, sample_weight=None, 
steps=None, callbacks=None, max_queue_size=10, workers=1, use_multiprocessing=False)

  • x:输入数据
  • y:输入标签
  • batch_size:批次大小
  • verbose:0不显示进度条,1为显示进度条
  • sample_weight:测试样本的可选Numpy权重数组,用于对损失函数加权
  • steps:样本批次
  • callbacks:评估期间需要应用的回调列表
  • max_queue_size:生成器队列的最大大小
  • workers:执行期间使用的进程数
  • use_multiprocessing:如果为True,则使用基于进程的线程

返回:

  • 损失值:网络在训练数据上的损失(预测值和实际值之间的差距),该值和编译模型时选择的损失有关
  • 精度:准确率(成功数量与总数据量的比值)

返回格式:[‘loss’, ‘accuracy’]

predict(x, batch_size=None, verbose=0, steps=None, callbacks=None, 
max_queue_size=10, workers=1, use_multiprocessing=False)

  • x:输入数据
  • batch_size:批次大小
  • verbose:0不显示进度条,1为显示进度条
  • sample_weight:测试样本的可选Numpy权重数组,用于对损失函数加权
  • steps:样本批次
  • callbacks:评估期间需要应用的回调列表
  • max_queue_size:生成器队列的最大大小
  • workers:执行期间使用的进程数
  • use_multiprocessing:如果为True,则使用基于进程的线程

返回:
对输入数据的预测值–Y

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/329542.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号