3搭建神经网络的套路(之一):用TensorflowAPI--tf.keras搭建网络(六步法)

更新时间:2023-06-23 22:00:43 阅读: 评论:0

3搭建神经⽹络的套路(之⼀):⽤TensorflowAPI--tf.keras搭帕龙
建⽹络(六步法)
搭建神经⽹络的套路
小学一年级课程表⽬录
3.1六步法搭建神经⽹络
3.1.1 tf.keras搭建⽹络(六步法)来快速搭建神经⽹络于Sequential
可以搭建出上层输出就是下层输⼊的的顺序⽹络结构,但⽆法写出⼀些带有跳连的⾮顺序⽹络结构
提纲举例
import import相关模块import tensorflow as tf
train, test 告知要喂⼊⽹络的训练集和测试集
是什么
指定训练集的输⼊特征x_train和训
练集的标签y_train;测试集的输⼊
特征x_test和训练集的标签y_test
model =
dels.Sequential 在Sequential中搭建⽹络结构,逐
层描述每层⽹络
相当于⾛了⼀遍前向传播
model.fit在fit中执⾏训练过程告知训练集和测试集的输⼊特征和标签,告知每个batch是多少,告知要迭代多少次数据集
model.summary ⽤summary打印出⽹络的结构和参数统计
model = dels.Sequential ([ ⽹络结构 ]) #描述各层⽹络
metrics = [“准确率”] )
model.fit (训练集的输⼊特征, 训练集的标签,
batch_size=每次喂⼊NN⽹络的样本数 , epochs=迭代数据集的次数 ,
validation_data=(测试集的输⼊特征,测试集的标签),
validation_split=从训练集划分多少⽐例给测试集,
validation_freq = 每多少次epoch迭代使⽤测试集验证⼀次结果)
#  validation_data和validation_split⼆选⼀,前者是数据集和测试集已经分开,后者是从总数据集中分出测试集model.summary()#打印⽹络的结构和参数统计
例⼦:六步法实现鸢尾花分类
# --1-- import相关模块
benedict cumberbatchimport tensorflow as tf
from sklearn import datatsfilm
import numpy as np
# --2-- train,test 交代训练集输⼊特征x_train和标签y_train
x_train = datats.load_iris().data
y_train = datats.load_iris().target
# 数据集乱序
np.random.ed(116)
np.random.shuffle(x_train)
起飞时间np.random.ed(116)
np.random.shuffle(y_train)
tf.random.t_ed(116)
# --3-- 在Sequential中搭建⽹络结构
model = dels.Sequential(
[tf.keras.layers.Den(3,
少儿英语教学网
activation='softmax',
kernel_regularizer=ularizers.l2())
])# 设置神经元个数、激活函数、正则化⽅法
# --4-- 在pilez中配置训练⽅法
loss=tf.keras.loss.SparCategoricalCrosntropy(from_logits=Fal),
metrics=['spar_categorical_accuracy'])
# SGD优化器、学习率0.1、选损失函数SparCategoricalCrosntropy,
# 由于NN⽹络末端⽤了softmax,使输出为概率分布⾮原始输出,故from_logits设为Fal
# 由于花的分类是标签,⽽⽹络输出的是概率,使⽤评测指标⽤spar_categorical_accuracy
# --5-- 在fit中执⾏训练过程
#  告知训练集特征和标签、⼀次喂⼊数据量、数据集迭代循环次数、
#  选训练集20%作测试集、每迭代20次验证⼀次准确率
model.fit(x_train, y_train, batch_size=32, epochs=500,
validation_split=0.2, validation_freq=20)
# --6-- summary打印⽹络结构和参数统计
model.summary()
打印出的结构如下
3.1.2 tf.keras搭建⽹络(六步法)来快速搭建神经⽹络于class类
⽤类class封装神经⽹络结构,可写出⼀些带有跳连的⾮顺序⽹络结构
提纲举例import import相关模块import tensorflow as tffishermen
train, test 告知要喂⼊⽹络的训练集和测试
集是什么
指定训练集的输⼊特征x_train和训练集的标签y_train;测试集
的输⼊特征x_test和训练集的标签y_test
class MyModel(Model) model=MyModel 在class类中搭建⽹络结构,逐层
描述每层⽹络
相当于⾛了⼀遍前向传播
model.fit在fit中执⾏训练过程告知训练集和测试集的输⼊特征和标签,告知每个batch是多少,告知要迭代多少次数据集
model.summary ⽤summary打印出⽹络的结构和参数统计
class MyModel(Model) model = MyModel
class MyModel(Model):
def __init__(lf):
super(MyModel, lf).__init__()
好一点的英语培训定义⽹络结构块
def call(lf, x):
调⽤⽹络结构块,实现前向传播
return y
model = MyModel()
__init__( ) 定义所需⽹络结构块
call( ) 写出前向传播
程序开头记得调⽤from tensorflow.keras import Model 例⼦
class IrisModel(Model):
进展英文
def __init__(lf):
super(IrisModel, lf).__init__()
lf.d1 = Den(3)
def call(lf, x):九年级英语课文翻译
y = lf.d1(x)
return y
model =IrisModel()
对⽐

本文发布于:2023-06-23 22:00:43,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/155311.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:训练   结构   告知   数据   测试   迭代   函数   搭建
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图