【问题标题】:Adjust Bias Term in Final Layer of Neural Net Using Tensorflow v2 after Training训练后使用 Tensorflow v2 调整神经网络最后一层的偏置项
【发布时间】:2020-06-12 16:07:40
【问题描述】:

在使用 TFv2 训练模型后,是否可以调整神经网络最后一层的偏差项?这是我的模型的一个示例:

import tensorflow.keras as keras

def simple_model(input_size, 
                 layer_1_size,
                 layer_2_size,
                 number_of_classes
                 ):

input_layer = keras.layers.Input(input_size)

layer_1 = keras.layers.Dense(layer_1_size, activation='relu')(input_layer)
layer_2 = keras.layers.Dense(layer_2_size, activation='relu')(layer_1)
output_layer = keras.layers.Dense(number_of_classes, activation='softmax')(layer_2)

model = keras.models.Model(inputs=input_layer, outputs=output_layer)
return model

我想基本上训练上面的模型,并在模型训练之后但在使用模型进行预测之前对输出层中的偏差项进行调整。

【问题讨论】:

    标签: tensorflow machine-learning tensorflow2.0


    【解决方案1】:

    这就是你如何用零数组修改网络的最后一个偏差

    model.fit(...)
    
    new_bias = np.zeros(model.output.shape[-1])
    model.set_weights(model.get_weights()[:-1] + [new_bias])
    
    # final check
    model.get_weights()[-1]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-23
      • 2018-12-04
      相关资源
      最近更新 更多