tensorflow2.0搭建神经网络
tensorflow2.0中主要通过tf.keras搭建神经网络这节我们就来介绍一下搭建神经网络的步骤和函数搭建神经网络的基本步骤#第一步导入api1.import tensorflow as tf#第二步分割数据集为训练集和测试集2.train,test#第三步是搭建合适的网络模型(前向传播过程)3.model=tf.keras.models.Sequential#第四步是配置训练方法,选择训练
·
tensorflow2.0中主要通过tf.keras搭建神经网络这节我们就来介绍一下搭建神经网络的步骤和函数
搭建神经网络的基本步骤
#第一步导入api
1.import tensorflow as tf
#第二步分割数据集为训练集和测试集
2.train,test
#第三步是搭建合适的网络模型(前向传播过程)
3.model=tf.keras.models.Sequential
#第四步是配置训练方法,选择训练优化器,选择损失函数
4.model.compile
#第五步在fit中执行训练过程
5.model.fit()
#第六步输出训练结果的参数
6.model.summary
1.model=tf.keras.models.Sequential([网络结构]) 主要是为了描述各层网络
拉直层:tf.keras.layers.Flatten()
全链接层:tf.keras.layers.Dense(神经元个数,activation=“激活函数”,kernel_regularizer=“哪种正则化”)
激活函数有:relu,softmax,sigmoid,tanh;
正则化方式:tf.keras.regularizers.l1(),tf.keras.regularizers.l2();
卷积层:tf.keras.layers.Conv2D(filter=过滤网个数,kernel_size=滤波器大小,strides=卷积步长,padding="valid"or"same"填充像素)
循环神经网络层(LSTM):tf.keras.layers.LSTM()
2.model.compile(optimizer=优化器,loss=损失函数,metri cs=[“准确率"])
Optimizer可选:sgd,adagrad,adadelta,adam
loss可选:mse,sparse_categorical_crossentropy
Metrics可选:accuracy(),categorical_accuracy,sparse_categorical_accuracy
3.model.fit(训练集的输入特征,训练集目标值,batch_size=每组个数,epochs=迭代次数,validation_data=(测试集特征,测试集目标值),validate_split=划分多少数据集给测试集,validate_freq=多少epoch测试一次
4.model.summary()可以打印出参数结构和参数统计
实例(iris数据分类)
from sklearn import datasets
import tensorflow as tf
x_train=datasets.load_iris().data#返回iris的特征值
y_train=datasets.load_iris().target#返回iris数据集所有标签
model=tf.keras.models.Sequential([tf.keras.layers.Dense(3,activation="softmax",kernel_regularizer=tf.keras.regularizers.l2())])
model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
metrics=['sparse_categorical_accuracy'])
model.fit(x_train,y_train,batch_size=32,epochs=500,validation_split=0.2,validation_freq=20)
model.summary()
结果如下:
更多推荐
所有评论(0)