簡體   English   中英

張量流遷移學習

[英]Tensor flow transfer learning

如果我們使用預訓練網絡進行遷移學習,那么sess.run(tf.global_variables_initializer())
是否還初始化預訓練權重?

如果我不使用它,那么我會收到這樣的錯誤-

FailedPreconditionError:Attempting to use uninitialized value train/beta2_power_1

我正在使用名為“new_Adam”的新 Adam 優化器

train_step = tf.train.AdamOptimizer(1e-4, name="new_Adam").minimize(cross_entropy)

我的舊模型已經有一個 Adam 節點,並且不允許我使用相同的名稱重新定義。

實際上我擔心的是我想做轉移學習,我不確定sess.run(tf.global_variables_initializer())是否改變了我訓練的權重。 我怎樣才能進行正確的遷移學習?

您可以通過導入您的權重模型來初始化您的預訓練模型。 例如

base_model = keras.applications.MobileNetV2(input_shape=in_img ,include_top=False, weights='mobilenetv2.h5')

然后應用你自己的網絡

out_class=10
x=base_model.output
x=GlobalAveragePooling2D()(x)
x=Dense(1024,activation='relu')(x) 
x=Dense(1024,activation='relu')(x)
x=Dense(512,activation='relu')(x) 
preds=Dense(out_class,activation='softmax')(x) 
model=Model(inputs=base_model.input,outputs=preds) 

out_class 是分類數

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM