使用retrain.py重新调整初始模型

时间:2016-10-14 22:34:33

标签: python tensorflow

我已经转换了atception_v3和inception_resnet_v2 .ckpt文件 https://research.googleblog.com/2016/08/improving-inception-and-image.html 到一个冻结的.pb文件,我试图将它与tensorflow / tensorflow / examples / image_retraining.py一起使用。特别是这部分:

BOTTLENECK_TENSOR_NAME = 'pool_3/_reshape:0'
BOTTLENECK_TENSOR_SIZE = 2048
MODEL_INPUT_WIDTH = 299
MODEL_INPUT_HEIGHT = 299
MODEL_INPUT_DEPTH = 3
JPEG_DATA_TENSOR_NAME = 'DecodeJpeg/contents:0'
RESIZED_INPUT_TENSOR_NAME = 'ResizeBilinear:0'
MAX_NUM_IMAGES_PER_CLASS = 2 ** 27 - 1  # ~134M

我无法弄清楚如何针对新的初始v3名称或初始resnet v2进行调整。我已经看过张量板中的图表,但它并没有帮助。 pool_3层会变成什么?什么尺寸?那么ResizeBilinear呢?

对于inception_resnet_v2,它看起来应该是Logits / Flatten / Reshape,或者只是Logits的大小为1536,但是它表示图中没有。

这种再培训比TF瘦身更快几个数量级。

2 个答案:

答案 0 :(得分:0)

我使用了DATA_URL ='http://download.tensorflow.org/models/inception_v4_2016_09_09.tar.gz'。

然后我不需要改变其他任何东西。它运作正常。 如果您遇到任何问题,请告诉我。

它也适用于http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz

答案 1 :(得分:0)

这些值应该有效:

bottleneck_tensor_name = 'InceptionResnetV2/Logits/Flatten/Reshape:0'
bottleneck_tensor_size = 1536
resized_input_tensor_name = 'InputImage:0'