tensorflow中tf.keras.models.Sequential()用法

tensorflow中tf.keras.models.Sequential()用法

Sequential()方法是一个容器,描述了神经网络的网络结构,在Sequential()的输入参数中描述从输入层到输出层的网络结构

model = tf.keras.models.Sequential([网络结构])  #描述各层网络

网络结构举例:

拉直层:tf.keras.layers.Flatten() #拉直层可以变换张量的尺寸,把输入特征拉直为一维数组,是不含计算参数的层

全连接层:tf.keras.layers.Dense(神经元个数,

                                                      activation = "激活函数“,

                                                      kernel_regularizer = "正则化方式)

其中:activation可选 relu 、softmax、 sigmoid、 tanh等

           kernel_regularizer可选 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()

                                                                                   

 

实例代码:


    
    
  1. #第一步,import
  2. import tensorflow as tf #导入模块
  3. from sklearn import datasets #从sklearn中导入数据集
  4. import numpy as np #导入科学计算模块
  5. import keras
  6. #第二步,train, test
  7. x_train = datasets.load_iris().data #导入iris数据集的输入
  8. y_train = datasets.load_iris().target #导入iris数据集的标签
  9. np.random.seed( 120) #设置随机种子,让每次结果都一样,方便对照
  10. np.random.shuffle(x_train) #使用shuffle()方法,让输入x_train乱序
  11. np.random.seed( 120) #设置随机种子,让每次结果都一样,方便对照
  12. np.random.shuffle(y_train) #使用shuffle()方法,让输入y_train乱序
  13. tf.random.set_seed( 120) #让tensorflow中的种子数设置为120
  14. #第三步,models.Sequential()
  15. model = tf.keras.models.Sequential([ #使用models.Sequential()来搭建神经网络
  16. tf.keras.layers.Dense( 3, activation = "softmax", kernel_regularizer = tf.keras.regularizers.l2()) #全连接层,三个神经元,激活函数为softmax,使用l2正则化
  17. ])
  18. #第四步,model.compile()
  19. model. compile( #使用model.compile()方法来配置训练方法
  20. optimizer = tf.keras.optimizers.SGD(lr = 0.1), #使用SGD优化器,学习率为0.1
  21. loss = tf.keras.losses.SparseCategoricalCrossentropy(from_logits = False), #配置损失函数
  22. metrics = [ 'sparse_categorical_accuracy'] #标注网络评价指标
  23. )
  24. #第五步,model.fit()
  25. model.fit( #使用model.fit()方法来执行训练过程,
  26. x_train, y_train, #告知训练集的输入以及标签,
  27. batch_size = 32, #每一批batch的大小为32,
  28. epochs = 500, #迭代次数epochs为500
  29. validation_split = 0.2, #从测试集中划分80%给训练集
  30. validation_freq = 20 #测试的间隔次数为20
  31. )
  32. #第六步,model.summary()
  33. model.summary() #打印神经网络结构,统计参数数目

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值