After successfully retraining inception-v3, I have tried to retrain inception5h but unfortunately, haven't succeeded. At first, it turned out that I had to use TensorFlow version 0.8 in order to successfully read the inception5h .pb file. Then I observed the names of the layers in order to modify variables BOTTLENECK_TENSOR_NAME, JPEG_DATA_TENSOR_NAME, and RESIZED_INPUT_TENSOR_NAME. To be honest I am not sure how these names should be set. In case of inception v-3 model, the architecture looks like the following:
['DecodeJpeg/contents']
['DecodeJpeg/contents', '0']
['DecodeJpeg']
['DecodeJpeg', '0']
['Cast']
['ExpandDims/dim']
['Cast', '0']
['ExpandDims/dim', '0']
['ExpandDims']
['ResizeBilinear/size']
['ExpandDims', '0']
['ResizeBilinear/size', '0']
['ResizeBilinear']
['Sub/y']
['ResizeBilinear', '0']
['Sub/y', '0']
['Sub']
['Mul/y']
['Sub', '0']
...
['softmax/logits/MatMul', '0']
['softmax/biases', '0']
['softmax/logits']
['softmax/logits', '0']
['pool_3/_reshape', '0']
['DecodeJpeg/contents', '0']
['ResizeBilinear', '0']
whereas in inception5h it looks like the following:
['input']
['conv2d0_w']
['input', '0']
['conv2d0_w', '0']
['conv2d0_pre_relu/conv']
['conv2d0_b']
['conv2d0_pre_relu/conv', '0']
['conv2d0_b', '0']
['conv2d0_pre_relu']
['conv2d0_pre_relu', '0']
['conv2d0']
['conv2d0', '0']
['maxpool0']
...
['softmax0', '0']
['softmax1']
['softmax1', '0']
['softmax2']
['softmax2', '0']
['pool_3/_reshape', '0']
At first, according to names above, I guessed that BOTTLENECK_TENSOR_NAME should be set in both cases to 'pool_3/_reshape:0' but in case of inception v1 it threw an error. Also, I am not sure what should be the value of BOTTLENECK_TENSOR_SIZE.
Anyway, I am struggling to retrain inception5h model and would really appreciate if anyone could provide any additional insights. And by the way, the reason to retrain inception5h, is to use the custom model in Android app as the inception-v3 (without modifications) is too complex for real-time object detection on mobile platform.