zoukankan      html  css  js  c++  java
  • keras 八股文

    六步法

    1 import
    2 train,test
    3 model = Sequential()
    4 model.compile()
    5 model.fit()
    6 model.evaluate()

    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()

    #导入模块
    import tensorflow as tf
    from sklearn import datasets
    import numpy as np
    #第二步,加载数据集
    x_train = datasets.load_iris().data
    y_train = datasets.load_iris().target
    
    np.random.seed(116)#设置随机种子,每次结果都一样方便对照
    np.random.shuffle(x_train)#使用shuffle()方法,让x_train乱序
    np.random.seed(116)#设置随机种子,每次结果一样,方便对照
    np.random.shuffle(y_train)#使用shuffle()方法,让输入y_train乱序
    tf.random.set_seed(116)
    #第三步,models.Sequential()
    model = tf.keras.models.Sequential()#使用models.Sequential()搭建神经网络
    tf.keras.layers.Dense(3, activation='softmax', kernel_regularizer=tf.keras.regularizers.l2())
    #第四步,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(x_train, y_train, #告知训练集的输入以及标签
              batch_size=32, #每一批的batch的大小为32
              epochs=500, #迭代次数为500
              validation_split=0.2,#从训练集中选20%作为测试集
              validation_freq=20#没迭代20次训练集,要在测试集中验证一次准确率
              )
    #第六步,打印网络结果和参数
    model.summary()
  • 相关阅读:
    找水王
    环状二维数组最大子数组和
    用户模板
    课堂作业-电梯调度
    书店折扣问题
    《软件工程》读后感
    首尾相连的二维数组最大子数组求和
    梦断代码读后感(二)
    返回一个整数数组中最大子数组的和之测试
    首尾相连的一位数组最大子数组和
  • 原文地址:https://www.cnblogs.com/hsy1941/p/13827712.html
Copyright © 2011-2022 走看看