ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tensorflow中model.fit()用法

2022-06-29 00:31:20  阅读:251  来源: 互联网

标签:loss fit categorical 120 sparse tensorflow model accuracy


tensorflow中model.fit()用法
model.fit()方法用于执行训练过程

model.fit( 训练集的输入特征,

训练集的标签,

batch_size, #每一个batch的大小

epochs, #迭代次数

validation_data = (测试集的输入特征,测试集的标签),

validation_split = 从测试集中划分多少比例给训练集,

validation_freq = 测试的epoch间隔数)

实例代码 :
#第一步,import
import tensorflow as tf #导入模块
from sklearn import datasets #从sklearn中导入数据集
import numpy as np #导入科学计算模块
import keras

#第二步,train, test
x_train = datasets.load_iris().data #导入iris数据集的输入

y_train = datasets.load_iris().target #导入iris数据集的标签

np.random.seed(120) #设置随机种子,让每次结果都一样,方便对照

np.random.shuffle(x_train) #使用shuffle()方法,让输入x_train乱序

np.random.seed(120) #设置随机种子,让每次结果都一样,方便对照

np.random.shuffle(y_train) #使用shuffle()方法,让输入y_train乱序

tf.random.set_seed(120) #让tensorflow中的种子数设置为120

#第三步,models.Sequential()
model = tf.keras.models.Sequential([ #使用models.Sequential()来搭建神经网络
tf.keras.layers.Dense(3, activation = "softmax", kernel_regularizer = tf.keras.regularizers.l2()) #全连接层,三个神经元,激活函数为softmax,使用l2正则化
])

#第四步,model.compile()
model.compile( #使用model.compile()方法来配置训练方法
optimizer = tf.keras.optimizers.SGD(lr = 0.1), #使用SGD优化器,学习率为0.1
loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False), #配置损失函数
metrics = ['sparse_categorical_accuracy'] #标注网络评价指标
)

#第五步,model.fit()
model.fit( #使用model.fit()方法来执行训练过程,
x_train, y_train, #告知训练集的输入以及标签,
batch_size = 32, #每一批batch的大小为32,
epochs = 500, #迭代次数epochs为500
validation_split = 0.2, #从测试集中划分80%给训练集
validation_freq = 20 #测试的间隔次数为20
)

#第六步,model.summary()
model.summary() #打印神经网络结构,统计参数数目
结果为:
E:\Anaconda3\envs\TF2\python.exe C:/Users/Administrator/PycharmProjects/untitled8/keras实现iris数据集.py
Using TensorFlow backend.
Train on 120 samples, validate on 30 samples
Epoch 1/500

32/120 [=======>......................] - ETA: 2s - loss: 5.2685 - sparse_categorical_accuracy: 0.4375
120/120 [==============================] - 1s 8ms/sample - loss: 2.7204 - sparse_categorical_accuracy: 0.4833
Epoch 2/500

32/120 [=======>......................] - ETA: 0s - loss: 0.8763 - sparse_categorical_accuracy: 0.6875
120/120 [==============================] - 0s 67us/sample - loss: 0.8910 - sparse_categorical_accuracy: 0.6500
Epoch 3/500

省略.....

32/120 [=======>......................] - ETA: 0s - loss: 0.3444 - sparse_categorical_accuracy: 0.9375
120/120 [==============================] - 0s 67us/sample - loss: 0.3559 - sparse_categorical_accuracy: 0.9333
Epoch 500/500

32/120 [=======>......................] - ETA: 0s - loss: 0.3086 - sparse_categorical_accuracy: 0.9688
120/120 [==============================] - 0s 150us/sample - loss: 0.3302 - sparse_categorical_accuracy: 0.9833 - val_loss: 0.3695 - val_sparse_categorical_accuracy: 0.9333
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense (Dense) multiple 15
=================================================================
Total params: 15
Trainable params: 15
Non-trainable params: 0
_________________________________________________________________

Process finished with exit code 0

————————————————
版权声明:本文为CSDN博主「yunfeather」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yunfeather/article/details/106463327

标签:loss,fit,categorical,120,sparse,tensorflow,model,accuracy
来源: https://www.cnblogs.com/chinasoft/p/16421800.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有