TensorFlow2.0学习笔记(5)

用tensorflow API :tf.keras搭建网络八股(sequential搭建神经网络法)

用sequential可以搭建出上层输出就是下层输入的顺序网络结构

六步走

1:import相关模块,比如import tensorflow as tf

 

import tensorflow as tf
from sklearn import datasets
import numpy as np

2:告知要喂入网络的训练集(输入特征x_train,输入标签y_train)和测试集(输入特征x_test,输入标签y_test)

 

x_train = datasets.load_iris().data
y_train = datasets.load_iris().target
#测试机的输入特征x_test和标签y_test可以在这里直接给定,也可以在fit中按比例从训练集中划分,该例子选择后者

np.random.seed(116)
np.random.shuffle(x_train)
np.random.seed(116)
np.random.shuffle(y_train)
tf.random.set_seed(116)#数据集乱序

3:在sequential中搭建网络结构,逐层描述每层网络,相当于走了一遍前向传播

model = tf.keras.models.Sequential

model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
])
#搭建网络结构(神经元个数,选用的激活函数,选用的正则化方法)

 

4:modul.compile()在compile中配置训练方法,告知训练时选用哪种优化器,选择哪个损失函数,选择哪种评测指标

model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.1),
              loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=False),
              metrics=['sparse_categorical_accuracy'])
#配置训练方法(选择优化器SGD,学习率设置为0.1
#选择SparseCategoricalCrossentropy作为损失函数,由于在上一个函数中神经网络末端使用了softmax函数,from_logits=False标明为概率输出
#选择sparse_categorical_accuracy作为评测指标,表示数据集标签为数值,输出是概率分布

5:model.fit()在fit中执行训练过程,告知训练集和测试集的输入特征和输入标签,告知每个batch是多少,告知要迭代多少次数据集

 

model.fit(x_train, y_train, batch_size=32, epochs=500, validation_split=0.2, validation_freq=20)
#执行训练过程(训练集输入特征,训练集输入标签,一个batch(2的n次方数),循环迭代次数,从训练集中选择20%的数据作为测试集,每迭代20次训练集要在测试集中验证一次准确率

6:model.summary()打印出网络的结构和参数统计

model.summary()#打印网格结构和参数统计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值