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()
  • 相关阅读:
    LeetCode 109 Convert Sorted List to Binary Search Tree
    LeetCode 108 Convert Sorted Array to Binary Search Tree
    LeetCode 107. Binary Tree Level Order Traversal II
    LeetCode 106. Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode 105. Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode 103 Binary Tree Zigzag Level Order Traversal
    LeetCode 102. Binary Tree Level Order Traversal
    LeetCode 104. Maximum Depth of Binary Tree
    接口和多态性
    C# 编码规范
  • 原文地址:https://www.cnblogs.com/hsy1941/p/13827712.html
Copyright © 2011-2022 走看看