fit函数 model_tensorflow中model.fit()用法

#第一步,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

你可能感兴趣的:(fit函数,model)