使用預訓練網絡+Adam出現missing Adam情況

WARNING:tensorflow:Variable resnet_v1_50/conv1/weights/Adam missing in checkpoint ./pretrain_model/resnet_v1_50.ckpt
WARNING:tensorflow:Variable resnet_v1_50/conv1/weights/Adam_1 missing in checkpoint ./pretrain_model/resnet_v1_50.ckpt
WARNING:tensorflow:Variable resnet_v1_50/conv1/BatchNorm/gamma/Adam missing in checkpoint ./pretrain_model/resnet_v1_50.ckpt
WARNING:tensorflow:Variable resnet_v1_50/conv1/BatchNorm/gamma/Adam_1 missing in checkpoint ./pretrain_model/resnet_v1_50.ckpt
WARNING:tensorflow:Variable resnet_v1_50/conv1/BatchNorm/beta/Adam missing in checkpoint ./pretrain_model/resnet_v1_50.ckpt
WARNING:tensorflow:Variable resnet_v1_50/conv1/BatchNorm/beta/Adam_1 missing in checkpoint ./pretrain_model/resnet_v1_50.ckpt

這是由於 要恢復的變量設置 和 optimizer的擺放位置出錯造成的。

解決辦法:

更換 指定恢復變量 和 optimizer 的擺放位置:

opt = tf.train.AdamOptimizer(learning_rate=LEARNING_RATE)
variables_to_restore = slim.get_variables_to_restore()

改爲 

variables_to_restore = slim.get_variables_to_restore()
opt = tf.train.AdamOptimizer(learning_rate=LEARNING_RATE)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章