gpt4 book ai didi

python - VGG16 迁移学习可变输出

转载 作者:太空宇宙 更新时间:2023-11-03 13:59:28 24 4
gpt4 key购买 nike

在使用 VGG16 进行迁移学习时观察到奇怪的行为。

model = VGG16(weights='imagenet',include_top=True)
model.layers.pop()
model.layers.pop()

for layer in model.layers:
layer.trainable=False

new_layer = Dense(2,activation='softmax')
inp = model.input
out = new_layer(model.layers[-1].output)

model = Model(inp,out)

但是,当使用 model.predict(image) 时,输出在分类方面会有所不同,即有时它将图像分类为 1 类,而下一次将同一图像分类为 Class 2.

最佳答案

那是因为你没有设置种子。试试这个

import numpy as np
seed_value = 0
np.random.seed(seed_value)

model = VGG16(weights='imagenet',include_top=True)
model.layers.pop()
model.layers.pop()

for layer in model.layers:
layer.trainable=False

new_layer = Dense(2, activation='softmax',
kernel_initializer=keras.initializers.glorot_normal(seed=seed_value),
bias_initializer=keras.initializers.Zeros())
inp = model.input
out = new_layer(model.layers[-1].output)

model = Model(inp,out)

关于python - VGG16 迁移学习可变输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51096667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com