美文网首页
tensorflow中model.compile()用法

tensorflow中model.compile()用法

作者: 可能性之兽 | 来源:发表于2022-09-01 11:49 被阅读0次

    optimizer:

    1."sgd" 或者 tf.optimizers.SGD(lr = 学习率, decay = 学习率衰减率,momentum = 动量参数)

    2."adagrad" 或者 tf.keras.optimizers.Adagrad(lr = 学习率, decay = 学习率衰减率)

    3."adadelta" 或者 tf.keras.optimizers.Adadelta(lr = 学习率,decay = 学习率衰减率)

    4."adam" 或者 tf.keras.optimizers.Adam(lr = 学习率, decay = 学习率衰减率)

    loss:

    1."mse" 或者 "mean squared error" 或者 tf.keras.losses.MeanSquaredError()

    2."sparse_categorical_crossentropy" 或 tf.keras.losses.SparseCatagoricalCrossentropy(from_logits = False)

    Metrics:

    1."accuracy" :

    2.“sparse_accuracy":

    3."sparse_categorical_accuracy" :

    model.compile()方法用于在配置训练方法时,告知训练时用的优化器、损失函数和准确率评测标准

    model.compile(optimizer = 优化器, loss = 损失函数,metrics = ["准确率”])

    其中:

    optimizer可以是字符串形式给出的优化器名字,也可以是函数形式,使用函数形式可以设置学习率、动量和超参数

    例如:“sgd”   或者   tf.optimizers.SGD(lr = 学习率, decay = 学习率衰减率,
                                                                  momentum = 动量参数)
               “adagrad"  或者  tf.keras.optimizers.Adagrad(lr = 学习率,
    
                                                                                       decay = 学习率衰减率)
    
                ”adadelta"  或者  tf.keras.optimizers.Adadelta(lr = 学习率,
    
                                                                                         decay = 学习率衰减率)
    
                 “adam"  或者  tf.keras.optimizers.Adam(lr = 学习率,
    
                                                                                decay = 学习率衰减率)
    
    
    
    
    #第一步,import
    import tensorflow as tf #导入模块
    from sklearn import datasets #从sklearn中导入数据集
    import numpy as np #导入科学计算模块
    import keras
     
    #第二步,train, test
    x_train = datasets.load_iris().data #导入iris数据集的输入
     
    y_train = datasets.load_iris().target #导入iris数据集的标签
     
    np.random.seed(120) #设置随机种子,让每次结果都一样,方便对照
     
    np.random.shuffle(x_train) #使用shuffle()方法,让输入x_train乱序
     
    np.random.seed(120) #设置随机种子,让每次结果都一样,方便对照
     
    np.random.shuffle(y_train) #使用shuffle()方法,让输入y_train乱序
     
    tf.random.set_seed(120) #让tensorflow中的种子数设置为120
     
    #第三步,models.Sequential()
    model = tf.keras.models.Sequential([ #使用models.Sequential()来搭建神经网络
        tf.keras.layers.Dense(3, activation = "softmax", kernel_regularizer = tf.keras.regularizers.l2()) #全连接层,三个神经元,激活函数为softmax,使用l2正则化
    ])
     
    #第四步,model.compile()
    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()
    model.fit(  #使用model.fit()方法来执行训练过程,
        x_train, y_train, #告知训练集的输入以及标签,
        batch_size = 32, #每一批batch的大小为32,
        epochs = 500, #迭代次数epochs为500
        validation_split = 0.2, #从测试集中划分80%给训练集
        validation_freq = 20 #测试的间隔次数为20
    )
     
    #第六步,model.summary()
    model.summary() #打印神经网络结构,统计参数数目
    

    ————————————————
    tensorflow中model.compile()用法_yunfeather的博客-CSDN博客_model.compile

    tensorflow 2.X中构建模型的三种方式

    tf 2.x与1.x相比,API的变化较大,构建模型的方式也有所差异。我们先直接说结论,在2.x中,tf构建模型的方式有如下三种:

    1.tf.keras.Sequential
    2.keras Functional API
    3.keras Model Subclassing

    tensorflow 2.X中构建模型的三种方式:Sequential, Functional, Subclassing_bitcarmanlee的博客-CSDN博客

    相关文章

      网友评论

          本文标题:tensorflow中model.compile()用法

          本文链接:https://www.haomeiwen.com/subject/nztsnrtx.html