如何在使用TensorFlow slim对预训练模型进行微调时,如何知道要排除或训练哪些范围?

时间:2018-03-10 07:25:11

标签: python tensorflow resnet pre-trained-model

我想用我自己的图像数据集在TensorFlow slim中微调预训练的resnet_v1_50。但我的数据集不足以调整整个网络。我希望逐层看到范围名称然后我可以知道要排除哪些范围以及哪些范围可以训练。有谁知道这样做的方法

1 个答案:

答案 0 :(得分:0)

现在可能的答案为时已晚。我一直在寻找与renet_v2和“ InceptionResnetV2 / Logits,InceptionResnetV2 / AuxLogits”相关的这些东西,这些对我有用。您可以尝试在此处更改名称,或者如果您可以向我发送模型的链接,则可以使用此代码打印名称。只需给出模型的路径即可。

from tensorflow.python.tools.inspect_checkpoint import print_tensors_in_checkpoint_file
from tensorflow.python import pywrap_tensorflow
import os


checkpoint_path = os.path.join(os.getcwd(), "pnasnet/model.ckpt")
# print_tensors_in_checkpoint_file(file_name=checkpoint_path,all_tensors=False, tensor_name='')

reader = pywrap_tensorflow.NewCheckpointReader(checkpoint_path)
items = []
items.append(reader.debug_string().decode("utf-8"))


with open('pnasnet/pnasnet.txt', 'w') as f:
    for item in items:
        f.write("%s\n" % item)
        print(item)